@ -611,40 +611,15 @@ get_symbol()
echo " $1 " | grep vlc_entry_$2 | cut -d" " -f 3
}
VLC_MODULES = $( find_modules vlc /$VLC_BUILD_DIR /modules)
VLC_MODULES = $( find_modules $VLC_SRC_DIR /$VLC_BUILD_DIR /modules)
DEFINITION = "" ;
BUILTINS = "const void *vlc_static_modules[] = {\n" ;
for file in $VLC_MODULES ; do
outfile = ${ REDEFINED_VLC_MODULES_DIR } /` basename $file `
name = ` echo $file | sed 's/.*\.libs\/lib//' | sed 's/_plugin\.a//' ` ;
symbols = $( " ${ CROSS_TOOLS } nm " -g $file )
name = ` echo " $symbols " | grep "vlc_entry__" | cut -d" " -f 3`
# assure that all modules have differents symbol names
entry = $( get_symbol " $symbols " _)
copyright = $( get_symbol " $symbols " copyright)
license = $( get_symbol " $symbols " license)
cat <<EOF > ${RE DEFINED_VLC_MODULES_DIR} /syms
AccessOpen AccessOpen__$name
AccessClose AccessClose__$name
StreamOpen StreamOpen__$name
StreamClose StreamClose__$name
OpenDemux OpenDemux__$name
CloseDemux CloseDemux__$name
DemuxOpen DemuxOpen__$name
DemuxClose DemuxClose__$name
OpenFilter OpenFilter__$name
CloseFilter CloseFilter__$name
Open Open__$name
Close Close__$name
$entry vlc_entry__$name
$copyright vlc_entry_copyright__$name
$license vlc_entry_license__$name
EOF
${ CROSS_TOOLS } objcopy --redefine-syms ${ REDEFINED_VLC_MODULES_DIR } /syms $file $outfile
checkfail "objcopy failed"
DEFINITION = $DEFINITION " int vlc_entry__ $name (int (*)(void *, void *, int, ...), void *);\n " ;
BUILTINS = " $BUILTINS vlc_entry__ $name ,\n " ;
DEFINITION = $DEFINITION " int $name (int (*)(void *, void *, int, ...), void *);\n " ;
BUILTINS = " $BUILTINS $name ,\n " ;
done ;
BUILTINS = " $BUILTINS NULL\n};\n " ; \
printf " /* Autogenerated from the list of modules */\n#include <unistd.h>\n $DEFINITION \n $BUILTINS \n " > libvlc/jni/libvlcjni-modules.c
@ -659,13 +634,10 @@ done
BUILTINS = " $BUILTINS NULL\n};\n " ; \
printf " /* Autogenerated from the list of modules */\n#include <unistd.h>\n $DEFINITION \n $BUILTINS \n " > libvlc/jni/libvlcjni-symbols.c
rm ${ REDEFINED_VLC_MODULES_DIR } /syms
############################################
# NDK-Build for libvlc.so and libvlcjni.so #
############################################
VLC_MODULES = $( find_modules ${ REDEFINED_VLC_MODULES_DIR } )
VLC_CONTRIB_LDFLAGS = ` for i in $( /bin/ls $VLC_CONTRIB /lib/pkgconfig/*.pc) ; do PKG_CONFIG_PATH = " $VLC_CONTRIB /lib/pkgconfig/ " pkg-config --libs $i ; done | xargs`
echo -e "ndk-build vlc"