Thanks for all the thorough replies! I'll try working this in for the next update.
On Fri, Aug 2, 2019, 12:30 PM Christof Ressi <[email protected]> wrote: > right, so William could declare only "setup" with > __attribute__((visibility("default"))) and in your makefile: > > ifeq ($(make-lib-executable),yes) > ldflags := -fvisibility=hidden > endif > > Note that this doesn't work on Windows because MinGW ignores visibility > attributes. But there's a solution: > > On MinGW, GCC exports all non-static symbols unless at least one symbol is > declared with __declspec(dllexport). > > For Windows, simply declare the library's "setup" function with > __declspec(dllexport). > "make-lib-executable=yes" -> only the "setup" function is exported. > "make-lib-executable=no" -> the file containing the "setup" function won't > be compiled, so all other non-static symbols are exported (as usual). > > Christof > > > > Gesendet: Freitag, 02. August 2019 um 17:34 Uhr > > Von: "katja" <[email protected]> > > An: Pd-List <[email protected]> > > Betreff: Re: [PD] [PD-announce] timbreID 0.8.1 > > > > On 8/2/19, Christof Ressi <[email protected]> wrote: > > > ah, for this to work you'd have to make sure that "timbreID_setup" is > not > > > exported... pd-lib-builder exports all non-static functions by > default... > > > > ... because gcc exports all non-static functions by default. No need > > to hack Makefile.pdlibbuilder, a library makefile can overrule the > > default with: > > > > ldflags := -fvisibility=hidden > > > > > > > > _______________________________________________ > > [email protected] mailing list > > UNSUBSCRIBE and account-management -> > https://lists.puredata.info/listinfo/pd-list > > >
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
