This is the mail archive of the
pthreads-win32@sourceware.org
mailing list for the pthreas-win32 project.
Re: feature request: not need to specify PTW32_STATIC_LIB for static usage possible ?
- From: Roger Pack <rogerdpack2 at gmail dot com>
- To: Ross Johnson <Ross dot Johnson at homemail dot com dot au>
- Cc: pthreads-win32 at sourceware dot org
- Date: Wed, 20 Feb 2013 10:00:58 -0700
- Subject: Re: feature request: not need to specify PTW32_STATIC_LIB for static usage possible ?
- References: <CAL1QdWdtDy3zNY0hrGiyhj_Kk1aHdnJJFJinATB0Y0KECCnmdg@mail.gmail.com> <5122CF4E.1050301@homemail.com.au> <CAL1QdWcyU76396H_RzXNBMAf7QFrmtC_Ab7ajC=TzG43QJm7fQ@mail.gmail.com> <51242375.1070904@homemail.com.au>
> Sounds like you wanted to address this to the list but I think you
> replied only to me.
oops, moving back on list...suggest the ML be modified so the default
reply-to is the ML :)
> In Linux, the usual 'static' qualifier on declarations controls
> visibility, regardless of dynamic or static linking but is restricted to
> a file (or perhaps more accurately a compilation unit). If this isn't
> convenient then GCC 4 and above recognise __attribute__
> ((visibility("hidden"))), and also "#pragma GCC visibility
> push(hidden)/#pragma GCC visibility pop" for block coverage in e.g.
> header files. Otherwise everything is visible by default.
>
> So I believe GNU can build a Windows dynamic or static library using the
> merged pthread.c after adding 'static' qualifiers where necessary, but I
> don't know off-hand if this works for MSVS. If it does, i.e. replace the
> need for _declspec(export/import), then we probably have a solution.
Yeah I know for FFmpeg they ended up basically "having" to use
_declspec at least for shared constants (for the rest I guess there
was some way around it, using their av_export symbol, but I'm no pro
here :)
I suppose the status quo is all right for now, thanks.
-roger-