[Freeswitch-dev] Integration of external libraries into FreeSwitch
Roman Shaposhnik
rvs at sun.com
Thu Oct 5 00:07:10 EDT 2006
Guys,
since I haven't got any major feedback on my suggestion
of privatizing external libraries FreeSwitch depends
upon I guess its time for me to give a practical example
of how I would like FreeSwitch to be structured.
Lets take libresample-0.1.3 as the simplest case (the meat
of it is just 3 files: filterkit.c, resample.c, resamplesubs.c;
the rest is precisely the fluff I'd like to get rid of):
Anyway, here's what I would like to see in FreeSwitch's SVN
instead:
extlib/libresample/Makefile.[in|am]
[ORIGIN|README]
src/filterkit.c
src/resample.c
src/resamplesubs.c
src/filterkit.h
src/resample_defs.h
[inc|include]/libresample.h
ORIGIN (or README) file would describe where the library came
from an what is the procedure for manually sync'ing up with
the upstream development version (if needed).
Makefile.[in|am] would mostly be from the original project
(which means most of the time it would a trivial one) feeding
off a *single* configure run. We can even introduce specific
targets into it so that it does "export" public API header files
and object files into a predetermined location for ease of
future linking:
extlib/lib
extlib/include
so that -I and -L have to point to a single location only (but still
withing our build area which means no messy make install's!).
PROS:
* much greater control over how we build external libraries,
which includes ease of using performance related options,
building libraries as archives, etc.
* much greater control over source code of the the external
libraries (don't have to depend on maintainers to push
changes we need ASAP).
* everything is in SVN
* single ./configure run
* no messy make installs screwing up the place where --prefix
points to
* no LD_LIBRARY_PATH and LD_RUN_PATH mess to deal with
CONS:
* everytime we actually need something from the upstream
version it would have to be manually sync'ed up with the
FreeSwitch SVN (hence ORIGIN|README).
And finally -- as far as Anthony's coding speed is concerned it
should be pretty transparent ;-), so what do you all think ?
Thanks,
Roman.
More information about the Freeswitch-dev
mailing list