Should work fine (ie. better than --enable-shared-libvlc) on Linux,
should work on Mac OS X (except for packaging), while shared libvlc doesn't.
Won't work on Win32 with the current Win32 contrib. Stick to static libvlc or
use --enable-shared-libvlc for now.
so that it is cleanly built before all modules
(step toward buildable shared libvlc on Win32)
- Don't build position dependant code when building shared libvlc
(that was a big waste of time)
- Link builtin modules with vlc rather than libvlc
- Hopefully the same on Darwin
!!! BIG FAT WARNING !!!
On architectures where you need to resolve all symbols when
linking a shared library, libvlc must be built before the plugins, so
that they can resolve symbols from the libvlc API. Also, the "builtins"
must be built before libvlc (regardless of the architecture or use of
shared libvlc). However, our build system currently builds all modules,
whether builtins or plugins, then libvlc and then vlc.
Obviously, we could swap the build orders, so that libvlc gets built
before modules/ but that will only work if there is no buitins modules.
I'm not too keen on the idea of recursing twice within the modules/
subdirectories (once for builtins, and once for plugins). Until the
issue is settled, here is how to build and test the shared libvlc on
Win32:
1/ run configure with --enable-shared-libvlc
2/ build all built-in modules (or disable them all) one by one,
3/ make libvlc.dll
4/ make
I said "experimental". I meant it.
Developers might try --enable-shared-libvlc
- remove autom4te*.cache on bootstrap
(some customized autoconf add their version number)
- some clean up
* Fixed bootstrap to use pkg.m4 from contrib system
* Patches to make libcddb and vcdimager work
(stupid bugs !, how do they compile with this on other system?)
download a precompiled binary package, or to build all the packages
from the sources, at the user's option. It is currently written for
Mac OS X, but could easily be ported to other platforms.