From 8fa0da1241e83a3cde8358ea9b280d8d7e7ad878 Mon Sep 17 00:00:00 2001 From: Thomas Guillem Date: Fri, 26 Oct 2018 16:05:01 +0200 Subject: [PATCH] build: symbols and module names are now unique --- compile-libvlc.sh | 36 ++++-------------------------------- 1 file changed, 4 insertions(+), 32 deletions(-) diff --git a/compile-libvlc.sh b/compile-libvlc.sh index d4db1f319..c5c66119f 100755 --- a/compile-libvlc.sh +++ b/compile-libvlc.sh @@ -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 < ${REDEFINED_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 \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 \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"