We (at Grame) use static linking for different side projects we maintain, that is mainly faustgen~ (the Max/MSP external) and FaustLive. For various deployment reasons, we really prefer having « self-contained » components.
libfaust dynamic version was added by Albert Graef (Albert can you remember us your typical use case ?) and I use it sometime for testing purposes. libfaust API is C++ and C one, with some general entry points defined in compile/generator/dsp_aux.hh, the LLVM backend in compiler/generator/llvm/llvm-dsp.h and compiler/generator/llvm/llvm-c-dsp.h as well as the Interpreter backend in compiler/generator/interpreter/interpreter-dsp.h. This API is now considered stable. Adding semantic versioning is certainly something we have to do… And I see also that the public header are GPL, which is not what we want for a library (I guess LGPL is what we should use). Stéphane > Le 8 juin 2017 à 21:29, IOhannes m zmölnig <zmoel...@iem.at> a écrit : > > hi, > > i'm currently considering all the options for creating the Debian > packages of faust2, and stumbled upon the "dynamic" build target, that > builds libfaust.so and friends. > In Debian we generally prefer dynamic libraries over static linking for > various reasons, among them: > - GPL compliance (if we distribute a binary that statically links a > third party library under the GPL, we are obliged to keep the very code > of the third party library as long as we distribute the consumer.) > - bug-fixing/security: one nice thing about shared libraries is, that if > a bug is discovered in the library, we simply have to recompile that > library and the fix will propagate automatically to all consumers. > with static linking, we need to re-link each and every consumer with the > fixed library (basically triggering a re-build of the entire consumer) > > for this to work, the dynamic library is required to: > - have a reasonably stable ABI > - use semantic versioning in the soname > > i see that libOSCFaust.so seems to use soversioning (though I'm not sure > whether its only pretending to), but libfaust.so appears to not to. > so my question is: > does it make sense to use the libfaust dynamic libraries at all? > how stable is the ABI (leaving aside the inherent problems of C++ > ABIs...)? how about using semantic versioning? > > > > gmfdsar > IOhannes > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! > http://sdm.link/slashdot_______________________________________________ > Faudiostream-devel mailing list > Faudiostream-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/faudiostream-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Faudiostream-devel mailing list Faudiostream-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-devel