Create a separate shared object (libvlc_android.so) to provide the javaVM support in VLC core and libvlc. The application is responsible from loading the shared object and it will provide the JavaVM for the different clients needing it.
The core now optionnally (with runtime detection) depends on the JVM availability instead of needing it unconditionnally, which also expand the usage of the core on Android.
In a static build like currently for the libvlcjni releases, the library
will be built as a static archive too, and the two symbols will be
integrated into the final shared object, leading to no specific changes
for clients except the addition of the library in the final object being
HAVE_DYNAMIC_PLUGINS flag is used to replace the dynamic linking in this case.
See also !300.
Draft since the changes are not tested on static build yet and there are still some work to do (
system_Unconfigure part of the change from