Преглед изворни кода

MVK: upgrade default target and patch libvlc acordingly

Felix Paul Kühne пре 11 година
родитељ
комит
8c852d3199

+ 10 - 8
MobileVLCKit.xcodeproj/project.pbxproj

@@ -301,7 +301,7 @@
 			baseConfigurationReference = 7A5ECB3311DE948C00F66AF3 /* MobileVLCKit.xcconfig */;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+				ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
 				COPY_PHASE_STRIP = NO;
 				DSTROOT = /tmp/MobileVLCKit.dst;
 				GCC_DYNAMIC_NO_PIC = NO;
@@ -311,9 +311,9 @@
 				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
 				HEADER_SEARCH_PATHS = "$(SRCROOT)/MobileVLCKit/ImportedSources/vlc/include";
 				INSTALL_PATH = /usr/local/lib;
-				IPHONEOS_DEPLOYMENT_TARGET = 5.1;
+				IPHONEOS_DEPLOYMENT_TARGET = 5.1.1;
 				PRODUCT_NAME = MobileVLCKit;
-				VALID_ARCHS = "armv7 i386 armv7s";
+				VALID_ARCHS = "armv7 i386 armv7s arm64";
 				VLC_SRC_DIR = "$(PROJECT_DIR)/MobileVLCKit/ImportedSources/vlc";
 			};
 			name = Debug;
@@ -323,16 +323,16 @@
 			baseConfigurationReference = 7A5ECB3311DE948C00F66AF3 /* MobileVLCKit.xcconfig */;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+				ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
 				DSTROOT = /tmp/MobileVLCKit.dst;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 				GCC_PREFIX_HEADER = MobileVLCKit_Prefix.pch;
 				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
 				HEADER_SEARCH_PATHS = "$(SRCROOT)/MobileVLCKit/ImportedSources/vlc/include";
 				INSTALL_PATH = /usr/local/lib;
-				IPHONEOS_DEPLOYMENT_TARGET = 5.1;
+				IPHONEOS_DEPLOYMENT_TARGET = 5.1.1;
 				PRODUCT_NAME = MobileVLCKit;
-				VALID_ARCHS = "armv7 i386 armv7s";
+				VALID_ARCHS = "armv7 i386 armv7s arm64";
 				VLC_SRC_DIR = "$(PROJECT_DIR)/MobileVLCKit/ImportedSources/vlc";
 			};
 			name = Release;
@@ -367,10 +367,11 @@
 		7A5ECAFA11DE917B00F66AF3 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
 				COPY_PHASE_STRIP = NO;
 				GCC_DYNAMIC_NO_PIC = NO;
 				GCC_OPTIMIZATION_LEVEL = 0;
-				IPHONEOS_DEPLOYMENT_TARGET = 5.1;
+				IPHONEOS_DEPLOYMENT_TARGET = 5.1.1;
 				PRODUCT_NAME = "Aggregate static plugins";
 			};
 			name = Debug;
@@ -378,9 +379,10 @@
 		7A5ECAFB11DE917B00F66AF3 /* Release */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)";
 				COPY_PHASE_STRIP = YES;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				IPHONEOS_DEPLOYMENT_TARGET = 5.1;
+				IPHONEOS_DEPLOYMENT_TARGET = 5.1.1;
 				PRODUCT_NAME = "Aggregate static plugins";
 				ZERO_LINK = NO;
 			};

+ 25 - 0
MobileVLCKit/patches/0020-tools-update-gas-pp.patch

@@ -0,0 +1,25 @@
+From 438bcbf0cfeffd99667fb477a42973e25ec9a8f9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
+Date: Wed, 15 Jan 2014 15:13:03 +0100
+Subject: [PATCH 20/24] tools: update gas-pp
+
+---
+ extras/tools/packages.mak | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/extras/tools/packages.mak b/extras/tools/packages.mak
+index 085f0ef..a4ce1db 100644
+--- a/extras/tools/packages.mak
++++ b/extras/tools/packages.mak
+@@ -32,7 +32,7 @@ XZ_URL=http://tukaani.org/xz/xz-$(XZ_VERSION).tar.bz2
+ OPENSSL_VERSION=1.0.0e
+ OPENSSL_URL=http://www.openssl.org/source/openssl-$(OPENSSL_VERSION).tar.gz
+ 
+-GAS_VERSION=35de474
++GAS_VERSION=940274b
+ GAS_URL=http://git.libav.org/?p=gas-preprocessor.git;a=snapshot;h=$(GAS_VERSION);sf=tgz
+ 
+ RAGEL_VERSION=6.8
+-- 
+1.8.3.4 (Apple Git-47)
+

+ 60 - 0
MobileVLCKit/patches/0021-package-ios-update-for-future-architectures.patch

@@ -0,0 +1,60 @@
+From 8381c283f37b45ee09b08b08456d901b57b5f2bb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
+Date: Wed, 15 Jan 2014 15:13:42 +0100
+Subject: [PATCH 21/24] package/ios: update for future architectures
+
+---
+ extras/package/ios/build.sh | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/extras/package/ios/build.sh b/extras/package/ios/build.sh
+index a51ef1d..487052c 100755
+--- a/extras/package/ios/build.sh
++++ b/extras/package/ios/build.sh
+@@ -110,9 +110,6 @@ PREFIX="${VLCROOT}/install-ios-${PLATFORM}/${ARCH}"
+ 
+ export PATH="${VLCROOT}/extras/tools/build/bin:${VLCROOT}/contrib/${TARGET}/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
+ 
+-# contains gas-processor.pl
+-export PATH=$PATH:${VLCROOT}/extras/package/ios/resources
+-
+ info "Building tools"
+ spushd "${VLCROOT}/extras/tools"
+ ./bootstrap
+@@ -135,7 +132,10 @@ export PLATFORM=$PLATFORM
+ export SDK_VERSION=$SDK_VERSION
+ 
+ if [ "$PLATFORM" = "OS" ]; then
+-export CFLAGS="-isysroot ${SDKROOT} -arch ${ARCH} -mcpu=cortex-a8 -miphoneos-version-min=${SDK_MIN} ${OPTIM}"
++export CFLAGS="-isysroot ${SDKROOT} -arch ${ARCH} -miphoneos-version-min=${SDK_MIN} ${OPTIM}"
++if [ "$ARCH" != "arm64" ]; then
++export CFLAGS="${CFLAGS} -mcpu=cortex-a8"
++fi
+ else
+ export CFLAGS="-isysroot ${SDKROOT} -arch ${ARCH} -miphoneos-version-min=${SDK_MIN} ${OPTIM}"
+ fi
+@@ -156,7 +156,10 @@ fi
+ export LDFLAGS="-L${SDKROOT}/usr/lib -arch ${ARCH} -isysroot ${SDKROOT} -miphoneos-version-min=${SDK_MIN}"
+ 
+ if [ "$PLATFORM" = "OS" ]; then
+-    EXTRA_CFLAGS="-arch ${ARCH} -mcpu=cortex-a8"
++    EXTRA_CFLAGS="-arch ${ARCH}"
++if [ "$ARCH" != "arm64" ]; then
++    EXTRA_CFLAGS+=" -mcpu=cortex-a8"
++fi
+     EXTRA_LDFLAGS="-arch ${ARCH}"
+ else
+     EXTRA_CFLAGS="-arch ${ARCH}"
+@@ -178,6 +181,9 @@ if [ "$PLATFORM" = "OS" ]; then
+       export AS="gas-preprocessor.pl ${CC}"
+       export ASCPP="gas-preprocessor.pl ${CC}"
+       export CCAS="gas-preprocessor.pl ${CC}"
++if [ "$ARCH" = "arm64" ]; then
++    export GASPP_FIX_XCODE5=1
++fi
+ else
+   export AS="xcrun as"
+   export ASCPP="xcrun as"
+-- 
+1.8.3.4 (Apple Git-47)
+

+ 27 - 0
MobileVLCKit/patches/0022-contrib-don-t-try-to-guess-ARCH-if-it-was-given-as-a.patch

@@ -0,0 +1,27 @@
+From 2dff3bf03a26fc5534ba07a1d1945e987b535d15 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
+Date: Wed, 15 Jan 2014 15:15:12 +0100
+Subject: [PATCH 22/24] contrib: don't try to guess ARCH if it was given as an
+ argument
+
+---
+ contrib/src/main.mak | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/contrib/src/main.mak b/contrib/src/main.mak
+index 9562165..ae76215 100644
+--- a/contrib/src/main.mak
++++ b/contrib/src/main.mak
+@@ -35,7 +35,9 @@ PREFIX := $(abspath $(PREFIX))
+ ifneq ($(HOST),$(BUILD))
+ HAVE_CROSS_COMPILE = 1
+ endif
++ifndef ARCH
+ ARCH := $(shell $(SRC)/get-arch.sh $(HOST))
++endif
+ 
+ ifeq ($(ARCH)-$(HAVE_WIN32),x86_64-1)
+ HAVE_WIN64 := 1
+-- 
+1.8.3.4 (Apple Git-47)
+

+ 44 - 0
MobileVLCKit/patches/0023-contrib-libavcodec-update-hash-and-tweak-configure-c.patch

@@ -0,0 +1,44 @@
+From 190946ee1cb7a949ac2e3c2d57b6bd49e2d4678c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
+Date: Wed, 15 Jan 2014 15:19:19 +0100
+Subject: [PATCH 23/24] contrib/libavcodec: update hash and tweak configure
+ chain a bit
+
+---
+ contrib/src/ffmpeg/rules.mak | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
+index 1b41466..0c2d1fe 100644
+--- a/contrib/src/ffmpeg/rules.mak
++++ b/contrib/src/ffmpeg/rules.mak
+@@ -8,7 +8,7 @@ ifdef USE_FFMPEG
+ HASH=74a9c92840d3494393938874c1cdd5bdb95cc918
+ FFMPEG_SNAPURL := http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=$(HASH);sf=tgz
+ else
+-HASH=9a4c10e3af011dd84d3135090d3ca4212cbad127
++HASH=fe96769bed828cf54c0d9dc5d55b74948a68946d
+ FFMPEG_SNAPURL := http://git.libav.org/?p=libav.git;a=snapshot;h=$(HASH);sf=tgz
+ endif
+ 
+@@ -64,7 +64,9 @@ endif
+ 
+ # ARM stuff
+ ifeq ($(ARCH),arm)
++ifndef HAVE_DARWIN_OS
+ FFMPEGCONF += --arch=arm
++endif
+ ifdef HAVE_NEON
+ FFMPEGCONF += --enable-neon
+ endif
+@@ -98,7 +100,6 @@ endif
+ ifdef HAVE_IOS
+ ifeq ($(ARCH),arm)
+ FFMPEGCONF += --enable-pic --as="$(AS)"
+-FFMPEGCONF += --extra-cflags='-no-integrated-as'
+ endif
+ endif
+ ifdef HAVE_MACOSX
+-- 
+1.8.3.4 (Apple Git-47)
+

+ 28 - 0
MobileVLCKit/patches/0024-contrib-opus-disable-asm-on-arm64.patch

@@ -0,0 +1,28 @@
+From 7ba6c55e23d4026f42821bd6201be08509ca9e6f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
+Date: Wed, 15 Jan 2014 15:26:46 +0100
+Subject: [PATCH 24/24] contrib/opus: disable asm on arm64
+
+---
+ contrib/src/opus/rules.mak | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/contrib/src/opus/rules.mak b/contrib/src/opus/rules.mak
+index d783648..4c769d4 100644
+--- a/contrib/src/opus/rules.mak
++++ b/contrib/src/opus/rules.mak
+@@ -23,6 +23,11 @@ OPUS_CONF=
+ ifndef HAVE_FPU
+ OPUS_CONF += --enable-fixed-point
+ endif
++ifdef HAVE_IOS
++ifeq ($(ARCH),arm64)
++OPUS_CONF += --disable-asm
++endif
++endif
+ 
+ .opus: opus
+ 	cd $< && $(HOSTVARS) ./configure $(HOSTCONF) $(OPUS_CONF)
+-- 
+1.8.3.4 (Apple Git-47)
+