Skip to content
Snippets Groups Projects
Commit f32a2e92 authored by Steve Lhomme's avatar Steve Lhomme
Browse files

buildsystem: build the libvlc.so and libvlcjni.so using separate .mk files

We don't pass anymore VLC_BUILD_JNI to the NDK builder.
One .mk is for libvlc only, the other is for the JNI part only.
parent cfe7d256
No related branches found
No related tags found
1 merge request!111buildsystem: split the libvlc.so and libvlcjni.so .mk and scripts
......@@ -711,8 +711,7 @@ $NDK_BUILD -C $LIBVLCJNI_SRC_DIR/libvlc \
VLC_CONTRIB="$VLC_CONTRIB" \
VLC_CONTRIB_LDFLAGS="$VLC_CONTRIB_LDFLAGS" \
VLC_MODULES="$VLC_MODULES" \
VLC_BUILD_JNI="$AVLC_BUILD_JNI" \
APP_BUILD_SCRIPT=jni/Android.mk \
APP_BUILD_SCRIPT=jni/libvlc.mk \
APP_PLATFORM=android-${ANDROID_API} \
APP_ABI=${ANDROID_ABI} \
NDK_PROJECT_PATH=jni \
......@@ -720,6 +719,21 @@ $NDK_BUILD -C $LIBVLCJNI_SRC_DIR/libvlc \
NDK_DEBUG=${NDK_DEBUG}
avlc_checkfail "ndk-build libvlc failed"
if [ "$AVLC_BUILD_JNI" = "1" ]; then
$NDK_BUILD -C $LIBVLCJNI_SRC_DIR/libvlc \
APP_STL="c++_shared" \
APP_CPPFLAGS="-frtti -fexceptions" \
VLC_SRC_DIR="$VLC_SRC_DIR" \
VLC_BUILD_DIR="$VLC_BUILD_DIR" \
APP_BUILD_SCRIPT=jni/Android.mk \
APP_PLATFORM=android-${ANDROID_API} \
APP_ABI=${ANDROID_ABI} \
NDK_PROJECT_PATH=jni \
NDK_TOOLCHAIN_VERSION=clang \
NDK_DEBUG=${NDK_DEBUG}
avlc_checkfail "ndk-build libvlcjni failed"
fi
libvlc_pc_dir="$LIBVLCJNI_SRC_DIR/libvlc/jni/pkgconfig/${ANDROID_ABI}"
mkdir -p "${libvlc_pc_dir}"
......
LOCAL_PATH := $(call my-dir)
# VLC's buildsystem resulting binaries
include $(CLEAN_VARS)
LOCAL_MODULE := libvlccompat
LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/compat/.libs/libcompat.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAN_VARS)
LOCAL_MODULE := libvlccore
LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/src/.libs/libvlccore.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAN_VARS)
LOCAL_MODULE := libvlc-native
LOCAL_MODULE_FILENAME := libvlc
LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/lib/.libs/libvlc.a
LOCAL_STATIC_LIBRARIES := libvlccore
include $(PREBUILT_STATIC_LIBRARY)
# libvlc build with all its modules
include $(CLEAR_VARS)
LOCAL_MODULE := libvlc
LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/ndk/libvlcjni-modules.c \
$(VLC_BUILD_DIR)/ndk/libvlcjni-symbols.c
LOCAL_LDFLAGS := -L$(VLC_CONTRIB)/lib
LOCAL_LDLIBS := \
$(VLC_MODULES) \
$(VLC_BUILD_DIR)/lib/.libs/libvlc.a \
$(VLC_BUILD_DIR)/src/.libs/libvlccore.a \
$(VLC_BUILD_DIR)/compat/.libs/libcompat.a \
$(VLC_CONTRIB_LDFLAGS) \
-ldl -lz -lm -llog \
-ljpeg \
-Wl,-Bsymbolic
LOCAL_CXXFLAGS := -std=c++17
# This duplicates the libvlc* link flags, but it propagates the dependency
# on the native build which is what we want overall
LOCAL_STATIC_LIBRARIES := libvlccore libvlccompat libvlc-native
include $(BUILD_SHARED_LIBRARY)
ifneq ($(VLC_BUILD_JNI),0)
LOCAL_MODULE := libvlc
LOCAL_SRC_FILES := libs/$(TARGET_ARCH_ABI)/libvlc.so
include $(PREBUILT_SHARED_LIBRARY)
# libvlcjni
include $(CLEAR_VARS)
......@@ -56,5 +20,3 @@ LOCAL_LDLIBS := -llog
LOCAL_SHARED_LIBRARIES := libvlc
include $(BUILD_SHARED_LIBRARY)
endif
LOCAL_PATH := $(call my-dir)
# VLC's buildsystem resulting binaries
include $(CLEAN_VARS)
LOCAL_MODULE := libvlccompat
LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/compat/.libs/libcompat.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAN_VARS)
LOCAL_MODULE := libvlccore
LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/src/.libs/libvlccore.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAN_VARS)
LOCAL_MODULE := libvlc-native
LOCAL_MODULE_FILENAME := libvlc
LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/lib/.libs/libvlc.a
LOCAL_STATIC_LIBRARIES := libvlccore
include $(PREBUILT_STATIC_LIBRARY)
# libvlc build with all its modules
include $(CLEAR_VARS)
LOCAL_MODULE := libvlc
LOCAL_SRC_FILES := $(VLC_BUILD_DIR)/ndk/libvlcjni-modules.c \
$(VLC_BUILD_DIR)/ndk/libvlcjni-symbols.c
LOCAL_LDFLAGS := -L$(VLC_CONTRIB)/lib
LOCAL_LDLIBS := \
$(VLC_MODULES) \
$(VLC_BUILD_DIR)/lib/.libs/libvlc.a \
$(VLC_BUILD_DIR)/src/.libs/libvlccore.a \
$(VLC_BUILD_DIR)/compat/.libs/libcompat.a \
$(VLC_CONTRIB_LDFLAGS) \
-ldl -lz -lm -llog \
-ljpeg \
-Wl,-Bsymbolic
LOCAL_CXXFLAGS := -std=c++17
# This duplicates the libvlc* link flags, but it propagates the dependency
# on the native build which is what we want overall
LOCAL_STATIC_LIBRARIES := libvlccore libvlccompat libvlc-native
include $(BUILD_SHARED_LIBRARY)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment