Improve libmatroska2 building
This commit is contained in:
parent
d30dfa95f1
commit
26fcba04d3
10 changed files with 117 additions and 164 deletions
101
Makefile
101
Makefile
|
@ -289,91 +289,6 @@ clean-vpx:
|
|||
rm -rf submodules/externals/build/libvpx/arm && \
|
||||
rm -rf submodules/externals/build/libvpx/x86
|
||||
|
||||
#libmatroska
|
||||
ifeq ($(BUILD_VIDEO), 1)
|
||||
ifeq ($(BUILD_MATROSKA),1)
|
||||
BUILD_MATROSKA_DEPS=$(LIBEBML2_BUILD_DIR)/arm/libebml2.a $(LIBMATROSKA_BUILD_DIR)/arm/libmatroska2.a
|
||||
ifeq ($(BUILD_FOR_X86), 1)
|
||||
BUILD_MATROSKA_DEPS+=$(LIBEBML2_BUILD_DIR)/x86/libebml2.a $(LIBMATROSKA_BUILD_DIR)/x86/libmatroska2.a
|
||||
endif #BUILD_FOR_X86
|
||||
BUILD_MATROSKA_DEPS += $(LIBEBML2_BUILD_DIR)/include $(LIBMATROSKA_BUILD_DIR)/include
|
||||
endif #BUILD_MATROSKA
|
||||
endif #BUILD_VIDEO
|
||||
LIBMATROSKA_SRC_DIR=$(TOPDIR)/submodules/externals/libmatroska
|
||||
LIBMATROSKA_BUILD_DIR=$(TOPDIR)/submodules/externals/build/libmatroska
|
||||
LIBEBML2_BUILD_DIR=$(TOPDIR)/submodules/externals/build/libebml2
|
||||
COREMAKE=$(LIBMATROSKA_SRC_DIR)/corec/tools/coremake/coremake
|
||||
HOST_ARCH=$(shell basename `find $(NDK_PATH)/prebuilt -name linux-*`)
|
||||
|
||||
build-matroska: $(BUILD_MATROSKA_DEPS)
|
||||
|
||||
$(LIBEBML2_BUILD_DIR)/arm/libebml2.a: $(LIBMATROSKA_SRC_DIR)/release/android_armv7/libebml2.a
|
||||
mkdir -p $(LIBEBML2_BUILD_DIR)/arm
|
||||
cp $< $@
|
||||
|
||||
$(LIBMATROSKA_BUILD_DIR)/arm/libmatroska2.a: $(LIBMATROSKA_SRC_DIR)/release/android_armv7/libmatroska2.a
|
||||
mkdir -p $(LIBMATROSKA_BUILD_DIR)/arm
|
||||
cp $< $@
|
||||
|
||||
$(LIBEBML2_BUILD_DIR)/x86/libebml2.a: $(LIBMATROSKA_SRC_DIR)/release/android_x86/libebml2.a
|
||||
mkdir -p $(LIBEBML2_BUILD_DIR)/x86
|
||||
cp $< $@
|
||||
|
||||
$(LIBMATROSKA_BUILD_DIR)/x86/libmatroska2.a: $(LIBMATROSKA_SRC_DIR)/release/android_x86/libmatroska2.a
|
||||
mkdir -p $(LIBMATROSKA_BUILD_DIR)/x86
|
||||
cp $< $@
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/release/android_armv7/libebml2.a: $(LIBMATROSKA_SRC_DIR)/builded.txt
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/release/android_armv7/libmatroska2.a: $(LIBMATROSKA_SRC_DIR)/builded.txt
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/release/android_x86/libebml2.a: $(LIBMATROSKA_SRC_DIR)/builded.txt
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/release/android_x86/libmatroska2.a: $(LIBMATROSKA_SRC_DIR)/builded.txt
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/builded.txt: $(COREMAKE) $(LIBMATROSKA_SRC_DIR)/configure_config_h.txt $(LIBMATROSKA_SRC_DIR)/fix_coremake.txt
|
||||
cd $(LIBMATROSKA_SRC_DIR) ; $(COREMAKE) android_armv7 -f $(LIBMATROSKA_SRC_DIR)/root.proj
|
||||
make -C $(LIBMATROSKA_SRC_DIR) ebml2
|
||||
make -C $(LIBMATROSKA_SRC_DIR) matroska2
|
||||
ifeq ($(BUILD_FOR_X86), 1)
|
||||
cd $(LIBMATROSKA_SRC_DIR) ; $(COREMAKE) android_x86 -f $(LIBMATROSKA_SRC_DIR)/root.proj
|
||||
make -C $(LIBMATROSKA_SRC_DIR) ebml2
|
||||
make -C $(LIBMATROSKA_SRC_DIR) matroska2
|
||||
endif
|
||||
touch $@
|
||||
|
||||
$(COREMAKE):
|
||||
make -C $(LIBMATROSKA_SRC_DIR)/corec/tools/coremake
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/configure_config_h.txt: $(LIBMATROSKA_BUILD_DIR)/config.h
|
||||
cp $(LIBMATROSKA_BUILD_DIR)/config.h $(LIBMATROSKA_SRC_DIR)
|
||||
echo "#define COREMAKE_STATIC" >> $(LIBMATROSKA_SRC_DIR)/config.h
|
||||
echo "#define COREMAKE_UNICODE" >> $(LIBMATROSKA_SRC_DIR)/config.h
|
||||
echo "#define COREMAKE_CONFIG_HELPER" >> $(LIBMATROSKA_SRC_DIR)/config.h
|
||||
echo "#define CONFIG_ANDROID_NDK $(NDK_PATH)" >> $(LIBMATROSKA_SRC_DIR)/config.h
|
||||
echo "#define CONFIG_ANDROID_VERSION $(ANDROID_MOST_RECENT_TARGET)" >> $(LIBMATROSKA_SRC_DIR)/config.h
|
||||
echo "#define CONFIG_ANDROID_PLATFORM $(HOST_ARCH)" >> $(LIBMATROSKA_SRC_DIR)/config.h
|
||||
touch $@
|
||||
|
||||
$(LIBMATROSKA_SRC_DIR)/fix_coremake.txt:
|
||||
cd $(LIBMATROSKA_SRC_DIR); patch -p0 < ../build/libmatroska/coremake_fix.patch
|
||||
cp $(LIBMATROSKA_BUILD_DIR)/android_x86.build $(LIBMATROSKA_SRC_DIR)/corec/tools/coremake
|
||||
touch $@
|
||||
|
||||
$(LIBEBML2_BUILD_DIR)/include: $(LIBMATROSKA_SRC_DIR)/libebml2/ebml $(LIBMATROSKA_SRC_DIR)/corec/corec $(LIBMATROSKA_BUILD_DIR)/config.h
|
||||
mkdir -p $@
|
||||
cp -r $(LIBMATROSKA_SRC_DIR)/libebml2/ebml $(LIBMATROSKA_SRC_DIR)/corec/corec $@
|
||||
cp $(LIBMATROSKA_BUILD_DIR)/config.h $(LIBEBML2_BUILD_DIR)/include/corec
|
||||
|
||||
$(LIBMATROSKA_BUILD_DIR)/include: $(LIBMATROSKA_SRC_DIR)/libmatroska2/matroska
|
||||
mkdir -p $@
|
||||
cp -r $(LIBMATROSKA_SRC_DIR)/libmatroska2/matroska $@
|
||||
|
||||
clean-matroska:
|
||||
rm -rf $(LIBMATROSKA_BUILD_DIR)/{arm,x86,include}
|
||||
rm -rf $(LIBEBML2_BUILD_DIR)/{arm,x86,include}
|
||||
cd $(LIBMATROSKA_SRC_DIR); $(COREMAKE) clean
|
||||
rm -rf $(LIBMATROSKA_SRC_DIR)/builded.txt
|
||||
|
||||
#SILK
|
||||
LIBMSSILK_SRC_DIR=$(TOPDIR)/submodules/mssilk
|
||||
|
@ -466,8 +381,20 @@ $(SQLITE_BUILD_DIR)/sqlite3.c: $(SQLITE_BASENAME).zip
|
|||
$(SQLITE_BASENAME).zip:
|
||||
curl -sO $(SQLITE_URL)
|
||||
|
||||
#Matroska2
|
||||
MATROSKA_SRC_DIR=$(TOPDIR)/submodules/externals/libmatroska
|
||||
MATROSKA_BUILD_DIR=$(TOPDIR)/submodules/externals/build/libmatroska
|
||||
ifeq ($(BUILD_MATROSKA), 1)
|
||||
prepare-matroska2: $(MATROSKA_SRC_DIR)/patch_applied.txt
|
||||
else
|
||||
prepare-matroska2:
|
||||
endif
|
||||
|
||||
$(MATROSKA_SRC_DIR)/patch_applied.txt: $(MATROSKA_BUILD_DIR)/fix_libmatroska2.patch
|
||||
cd $(MATROSKA_SRC_DIR); patch -p1 < $<; touch $@
|
||||
|
||||
#Build targets
|
||||
prepare-sources: build-ffmpeg build-x264 build-openh264 prepare-ilbc build-vpx build-matroska prepare-silk prepare-srtp prepare-mediastreamer2 prepare-antlr3 prepare-belle-sip $(TOPDIR)/res/raw/rootca.pem prepare-sqlite3
|
||||
prepare-sources: build-ffmpeg build-x264 build-openh264 prepare-ilbc build-vpx prepare-silk prepare-srtp prepare-mediastreamer2 prepare-antlr3 prepare-belle-sip $(TOPDIR)/res/raw/rootca.pem prepare-sqlite3 prepare-matroska2
|
||||
|
||||
|
||||
GENERATE_OPTIONS = NDK_DEBUG=$(NDK_DEBUG) BUILD_FOR_X86=$(BUILD_FOR_X86) \
|
||||
|
@ -552,7 +479,7 @@ clean-ndk-build:
|
|||
clean: clean-ndk-build
|
||||
ant clean
|
||||
|
||||
veryclean: clean clean-ffmpeg clean-x264 clean-openh264 clean-vpx clean-matroska
|
||||
veryclean: clean clean-ffmpeg clean-x264 clean-openh264 clean-vpx
|
||||
|
||||
.PHONY: clean install-apk run-linphone
|
||||
|
||||
|
|
|
@ -52,6 +52,11 @@ include $(linphone-root-dir)/submodules/externals/build/speex/Android.mk
|
|||
# Gsm
|
||||
include $(linphone-root-dir)/submodules/externals/build/gsm/Android.mk
|
||||
|
||||
# Matroska
|
||||
ifeq ($(BUILD_MATROSKA), 1)
|
||||
include $(linphone-root-dir)/submodules/externals/build/libmatroska/Android.mk
|
||||
endif
|
||||
|
||||
ifeq ($(BUILD_MEDIASTREAMER2_SDK), 0)
|
||||
include $(linphone-root-dir)/submodules/externals/build/polarssl/Android.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/antlr3/Android.mk
|
||||
|
@ -100,10 +105,6 @@ endif
|
|||
include $(linphone-root-dir)/submodules/externals/build/ffmpeg/Android.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/libvpx/Android.mk
|
||||
|
||||
ifeq ($(BUILD_MATROSKA), 1)
|
||||
include $(linphone-root-dir)/submodules/externals/build/libebml2/Android.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/libmatroska/Android.mk
|
||||
endif
|
||||
|
||||
endif #_BUILD_VIDEO
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ ifeq ($(BUILD_OPENH264),1)
|
|||
APP_MODULES += libopenh264 libmsopenh264
|
||||
endif
|
||||
ifeq ($(BUILD_MATROSKA), 1)
|
||||
APP_MODULES += libebml2 libmatroska2
|
||||
APP_MODULES += libmatroska2
|
||||
endif
|
||||
endif # BUILD_VIDEO
|
||||
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
LOCAL_PATH:= $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libebml2
|
||||
LOCAL_SRC_FILES := $(TARGET_ARCH)/libebml2.a
|
||||
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
69
submodules/externals/build/libmatroska/Android.mk
vendored
Executable file → Normal file
69
submodules/externals/build/libmatroska/Android.mk
vendored
Executable file → Normal file
|
@ -1,7 +1,68 @@
|
|||
LOCAL_PATH:= $(call my-dir)
|
||||
LOCAL_PATH:=$(call my-dir)/../../libmatroska
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libmatroska2
|
||||
LOCAL_SRC_FILES := $(TARGET_ARCH)/libmatroska2.a
|
||||
LOCAL_SRC_FILES := \
|
||||
corec/corec/array/array.c \
|
||||
corec/corec/helpers/charconvert/charconvert_utf8.c \
|
||||
corec/corec/helpers/date/date_libc.c \
|
||||
corec/corec/helpers/file/bufstream.c \
|
||||
corec/corec/helpers/file/memstream.c \
|
||||
corec/corec/helpers/file/streams.c \
|
||||
corec/corec/helpers/file/tools.c \
|
||||
corec/corec/helpers/file/file_libc.c \
|
||||
corec/corec/helpers/file/stream_stdio.c \
|
||||
corec/corec/helpers/parser/parser2.c \
|
||||
corec/corec/helpers/parser/strtab.c \
|
||||
corec/corec/helpers/parser/strtypes.c \
|
||||
corec/corec/helpers/parser/dataheap.c \
|
||||
corec/corec/helpers/parser/buffer.c \
|
||||
corec/corec/helpers/parser/hotkey.c \
|
||||
corec/corec/helpers/parser/nodelookup.c \
|
||||
corec/corec/helpers/parser/urlpart.c \
|
||||
corec/corec/multithread/multithread_pthread.c \
|
||||
corec/corec/node/node.c \
|
||||
corec/corec/node/nodetree.c \
|
||||
corec/corec/str/str.c \
|
||||
corec/corec/str/str_linux.c
|
||||
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
LOCAL_C_INCLUDES := \
|
||||
$(LOCAL_PATH) \
|
||||
$(LOCAL_PATH)/corec
|
||||
|
||||
LOCAL_SRC_FILES += \
|
||||
libebml2/ebmlbinary.c \
|
||||
libebml2/ebmlcrc.c \
|
||||
libebml2/ebmlcrc.h \
|
||||
libebml2/ebmldate.c \
|
||||
libebml2/ebmlelement.c \
|
||||
libebml2/ebmlmain.c \
|
||||
libebml2/ebmlmaster.c \
|
||||
libebml2/ebmlnumber.c \
|
||||
libebml2/ebmlstring.c \
|
||||
libebml2/ebmlvoid.c
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(LOCAL_PATH)/libebml2
|
||||
|
||||
LOCAL_SRC_FILES += \
|
||||
libmatroska2/matroskablock.c \
|
||||
libmatroska2/matroskamain.c \
|
||||
libmatroska2/matroska_sem.c
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(LOCAL_PATH)/libmatroska2
|
||||
|
||||
LOCAL_CFLAGS := \
|
||||
-DCOREC_PARSER \
|
||||
-DNDEBUG \
|
||||
-DCONFIG_EBML_WRITING \
|
||||
-DCONFIG_EBML_UNICODE \
|
||||
-DCONFIG_STDIO \
|
||||
-DCONFIG_FILEPOS_64
|
||||
|
||||
|
||||
LOCAL_MODULE := libmatroska2
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
#define TARGARCH x86
|
||||
#define TARGARCH_ABI x86
|
||||
#define TARGOPTIM release
|
||||
#define IX86
|
||||
|
||||
CCFLAGS += -O3 -m32 -march=i486 -msse -mmmx -Wno-multichar -fvisibility=hidden -fno-PIC -DRESOURCE_COREC
|
||||
ANDROID_ABI += x86
|
||||
ANDROID_ARCH = arch-x86
|
||||
ANDROID_GCC_PREFIX = i686-linux-android-
|
||||
ANDROID_GCC = x86-4.8
|
||||
ANDROID_GCC_LIB = gcc/i686-linux-android/4.8/libgcc.a
|
||||
|
||||
#include "android.inc"
|
|
@ -1,9 +0,0 @@
|
|||
#define CONFIG_EBML_WRITING
|
||||
#define CONFIG_EBML_UNICODE
|
||||
#define HAVE_EBML2
|
||||
#define CONFIG_ZLIB
|
||||
#define CONFIG_MATROSKA2
|
||||
#define USE_PRECOMPILED_HEADERS
|
||||
//#define CONFIG_DEBUGCHECKS
|
||||
#define CONFIG_STDIO
|
||||
#define CONFIG_FILEPOS_64
|
|
@ -1,38 +0,0 @@
|
|||
--- corec/tools/coremake/android_arm.inc
|
||||
+++ corec/tools/coremake/android_arm.inc
|
||||
@@ -7,8 +7,8 @@
|
||||
SFLAGS += -march=armv7-a
|
||||
ANDROID_ABI += armeabi
|
||||
ANDROID_ARCH = arch-arm
|
||||
-ANDROID_GCC_PREFIX = arm-eabi-
|
||||
-ANDROID_GCC = arm-eabi-4.4.0
|
||||
-ANDROID_GCC_LIB = gcc/arm-eabi/4.4.0/libgcc.a
|
||||
+ANDROID_GCC_PREFIX = arm-linux-androideabi-
|
||||
+ANDROID_GCC = arm-linux-androideabi-4.8
|
||||
+ANDROID_GCC_LIB = gcc/arm-linux-androideabi/4.8/libgcc.a
|
||||
|
||||
#include "android.inc"
|
||||
--- corec/tools/coremake/android.inc
|
||||
+++ corec/tools/coremake/android.inc
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
CONFIG
|
||||
|
||||
-ANDROID_LIBC_DIR = %(§CONFIG_ANDROID_NDK)/build/platforms/android-%(CONFIG_ANDROID_VERSION)/%(ANDROID_ARCH)/usr
|
||||
-ANDROID_GCC_DIR = %(§CONFIG_ANDROID_NDK)/build/prebuilt/%(CONFIG_ANDROID_PLATFORM)/%(ANDROID_GCC)/bin
|
||||
+ANDROID_LIBC_DIR = %(§CONFIG_ANDROID_NDK)/platforms/%(CONFIG_ANDROID_VERSION)/%(ANDROID_ARCH)/usr
|
||||
+ANDROID_GCC_DIR = %(§CONFIG_ANDROID_NDK)/toolchains/%(ANDROID_GCC)/prebuilt/%(CONFIG_ANDROID_PLATFORM)/bin
|
||||
|
||||
IFNDEF CONFIG_ANDROID_NDK
|
||||
ECHO Android NDK path not defined ! (CONFIG_ANDROID_NDK)
|
||||
--- corec/tools/coremake/gcc_mak.inc
|
||||
+++ corec/tools/coremake/gcc_mak.inc
|
||||
@@ -85,7 +85,7 @@
|
||||
PRINTNL CCFLAGS += -include %(PRECOMPILED_HEADER)
|
||||
ENDIF
|
||||
IF %(OS_INCLUDE)!=""
|
||||
- PRINTNL CCFLAGS += %(|OS_INCLUDE:%=-isystem '%')
|
||||
+ PRINTNL CCFLAGS += %(OS_INCLUDE:%=-isystem '%')
|
||||
ENDIF
|
||||
PRINTNL CCFLAGS += %(DEFINE:%=-D%) -I . %(@INCLUDE:%=-I '%') %(@SYSINCLUDE:%=-I '%') %(@CONFIG_INCLUDE:%=-I '%')
|
||||
IF %(CCFLAGS)!=""
|
31
submodules/externals/build/libmatroska/fix_libmatroska2.patch
vendored
Normal file
31
submodules/externals/build/libmatroska/fix_libmatroska2.patch
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
diff --git a/config.h b/config.h
|
||||
index 8b74169..e69de29 100644
|
||||
--- a/config.h
|
||||
+++ b/config.h
|
||||
@@ -1,13 +0,0 @@
|
||||
-#define COREMAKE_STATIC
|
||||
-#define COREMAKE_UNICODE
|
||||
-#define CONFIG_EBML_WRITING
|
||||
-#define CONFIG_EBML_UNICODE
|
||||
-#define HAVE_EBML2
|
||||
-#define CONFIG_ZLIB
|
||||
-#define CONFIG_MATROSKA2
|
||||
-#define USE_PRECOMPILED_HEADERS
|
||||
-#define CONFIG_DEBUGCHECKS
|
||||
-#define CONFIG_STDIO
|
||||
-#define CONFIG_FILEPOS_64
|
||||
-#define COREMAKE_CONFIG_HELPER
|
||||
-//#define CONFIG_DEBUG_LEAKS
|
||||
diff --git a/corec/corec/helpers/parser/parser2.c b/corec/corec/helpers/parser/parser2.c
|
||||
index 3126ae8..0d8512a 100644
|
||||
--- a/corec/corec/helpers/parser/parser2.c
|
||||
+++ b/corec/corec/helpers/parser/parser2.c
|
||||
@@ -2019,7 +2019,7 @@ NOINLINE bool_t ExprIsTokenEx(const tchar_t** p,const tchar_t* Name,...)
|
||||
|
||||
NOINLINE bool_t ExprIsToken(const tchar_t** p,const tchar_t* Name)
|
||||
{
|
||||
- return ExprIsTokenEx(p,Name);
|
||||
+ return ExprIsTokenEx(p,Name,"");
|
||||
}
|
||||
|
||||
uint32_t StringToIP(const tchar_t *Address)
|
|
@ -1 +1 @@
|
|||
Subproject commit de9c426e2e4555cfcfc407247b6685ae830aa338
|
||||
Subproject commit 728ed3077cf4e47e6e972732a3f8a1b39a96f2ed
|
Loading…
Reference in a new issue