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

Reply via email to