vlc | branch: master | Felix Paul Kühne <fkue...@videolan.org> | Fri Sep 11 12:42:32 2015 +0200| [6c0a9775d138e40bd4f24134d62546e7ee1354ce] | committer: Felix Paul Kühne
ios build script: add support for tvOS > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6c0a9775d138e40bd4f24134d62546e7ee1354ce --- extras/package/ios/build.sh | 80 ++++++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 28 deletions(-) diff --git a/extras/package/ios/build.sh b/extras/package/ios/build.sh index 55c72ee..b9ab752 100755 --- a/extras/package/ios/build.sh +++ b/extras/package/ios/build.sh @@ -9,6 +9,10 @@ SDK_MIN=7.0 SIXTYFOURBIT_SDK_MIN=7.0 ARCH=armv7 SCARY=yes +TVOS=no +OSSTYLE=iPhone +OSVERSIONMINCFLAG=miphoneos-version-min +OSVERSIONMINLDFLAG=ios_version_min CORE_COUNT=`sysctl -n machdep.cpu.core_count` let MAKE_JOBS=$CORE_COUNT+1 @@ -24,6 +28,7 @@ OPTIONS -a <arch> Specify which arch to use (current: ${ARCH}) -d Enable debug -v Enable verbose command-line output + -t Build for tvOS -w Build a limited stack of non-scary libraries only EOF } @@ -45,7 +50,7 @@ info() echo "[${blue}info${normal}] $1" } -while getopts "hvwdsk:a:" OPTION +while getopts "hvwdstk:a:" OPTION do case $OPTION in h) @@ -70,6 +75,13 @@ do a) ARCH=$OPTARG ;; + t) + TVOS=yes + SDK_VERSION=`xcrun --sdk appletvos --show-sdk-version` + OSVERSIONMINCFLAG=mtvos-version-min + OSVERSIONMINLDFLAG=tvos_version_min + SIXTYFOURBIT_SDK_MIN=9.0 + ;; ?) usage exit 1 @@ -106,6 +118,12 @@ else OPTIM="-O3 -g" fi +if [ "$TVOS" = "yes" ]; then + OSSTYLE=AppleTV + export BUILDFORTVOS="yes" +fi +export BUILDFORIOS="yes" + info "Using ${ARCH} with SDK version ${SDK_VERSION}" THIS_SCRIPT_PATH=`pwd`/$0 @@ -116,8 +134,8 @@ spopd if test -z "$SDKROOT" then - SDKROOT=`xcode-select -print-path`/Platforms/iPhone${PLATFORM}.platform/Developer/SDKs/iPhone${PLATFORM}${SDK_VERSION}.sdk - echo "SDKROOT not specified, assuming $SDKROOT" + SDKROOT=`xcode-select -print-path`/Platforms/${OSSTYLE}${PLATFORM}.platform/Developer/SDKs/${OSSTYLE}${PLATFORM}${SDK_VERSION}.sdk + echo "SDKROOT not specified, assuming $SDKROOT" fi if [ ! -d "${SDKROOT}" ] @@ -126,9 +144,8 @@ then exit 1 fi -BUILDDIR="${VLCROOT}/build-ios-${PLATFORM}/${ACTUAL_ARCH}" - -PREFIX="${VLCROOT}/install-ios-${PLATFORM}/${ACTUAL_ARCH}" +BUILDDIR="${VLCROOT}/build-ios-${OSSTYLE}${PLATFORM}/${ACTUAL_ARCH}" +PREFIX="${VLCROOT}/install-ios-${OSSTYLE}${PLATFORM}/${ACTUAL_ARCH}" export PATH="${VLCROOT}/extras/tools/build/bin:${VLCROOT}/contrib/${TARGET}/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin" @@ -138,7 +155,7 @@ spushd "${VLCROOT}/extras/tools" make && make .gas spopd -info "Building contrib for iOS in '${VLCROOT}/contrib/iPhone${PLATFORM}-${ARCH}'" +info "Building contrib for iOS in '${VLCROOT}/contrib/${OSSTYLE}${PLATFORM}-${ARCH}'" # The contrib will read the following export AR="xcrun ar" @@ -152,17 +169,18 @@ export STRIP="xcrun strip" export PLATFORM=$PLATFORM export SDK_VERSION=$SDK_VERSION +export VLCSDKROOT=$SDKROOT export CFLAGS="-isysroot ${SDKROOT} -arch ${ACTUAL_ARCH} ${OPTIM}" if [ "$PLATFORM" = "OS" ]; then if [ "$ARCH" != "aarch64" ]; then -export CFLAGS="${CFLAGS} -mcpu=cortex-a8 -miphoneos-version-min=${SDK_MIN}" +export CFLAGS="${CFLAGS} -mcpu=cortex-a8 -${OSVERSIONMINCFLAG}=${SDK_MIN}" else -export CFLAGS="${CFLAGS} -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}" +export CFLAGS="${CFLAGS} -${OSVERSIONMINCFLAG}=${SIXTYFOURBIT_SDK_MIN}" fi else -export CFLAGS="${CFLAGS} -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}" +export CFLAGS="${CFLAGS} -${OSVERSIONMINCFLAG}=${SIXTYFOURBIT_SDK_MIN}" fi export CXXFLAGS="${CFLAGS}" @@ -171,33 +189,31 @@ export CPPFLAGS="${CFLAGS}" export CPP="xcrun cc -E" export CXXCPP="xcrun c++ -E" -export BUILDFORIOS="yes" - if [ "$PLATFORM" = "Simulator" ]; then # Use the new ABI on simulator, else we can't build export OBJCFLAGS="-fobjc-abi-version=2 -fobjc-legacy-dispatch ${OBJCFLAGS}" fi -export LDFLAGS="-L${SDKROOT}/usr/lib -arch ${ACTUAL_ARCH} -isysroot ${SDKROOT}" +export LDFLAGS="-isysroot ${SDKROOT} -L${SDKROOT}/usr/lib -arch ${ACTUAL_ARCH}" if [ "$PLATFORM" = "OS" ]; then EXTRA_CFLAGS="-arch ${ACTUAL_ARCH}" EXTRA_LDFLAGS="-arch ${ACTUAL_ARCH}" if [ "$ARCH" != "aarch64" ]; then EXTRA_CFLAGS+=" -mcpu=cortex-a8" - EXTRA_CFLAGS+=" -miphoneos-version-min=${SDK_MIN}" - EXTRA_LDFLAGS+=" -Wl,-ios_version_min,${SDK_MIN}" - export LDFLAGS="${LDFLAGS} -Wl,-ios_version_min,${SDK_MIN}" + EXTRA_CFLAGS+=" -${OSVERSIONMINCFLAG}=${SDK_MIN}" + EXTRA_LDFLAGS+=" -Wl,-${OSVERSIONMINLDFLAG},${SDK_MIN}" + export LDFLAGS="${LDFLAGS} -Wl,-${OSVERSIONMINLDFLAG},${SDK_MIN}" else - EXTRA_CFLAGS+=" -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}" - EXTRA_LDFLAGS+=" -Wl,-ios_version_min,${SIXTYFOURBIT_SDK_MIN}" - export LDFLAGS="${LDFLAGS} -Wl,-ios_version_min,${SIXTYFOURBIT_SDK_MIN}" + EXTRA_CFLAGS+=" -${OSVERSIONMINCFLAG}=${SIXTYFOURBIT_SDK_MIN}" + EXTRA_LDFLAGS+=" -Wl,-${OSVERSIONMINLDFLAG},${SIXTYFOURBIT_SDK_MIN}" + export LDFLAGS="${LDFLAGS} -Wl,-${OSVERSIONMINLDFLAG},${SIXTYFOURBIT_SDK_MIN}" fi else EXTRA_CFLAGS="-arch ${ARCH}" - EXTRA_CFLAGS+=" -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}" - EXTRA_LDFLAGS=" -Wl,-ios_version_min,${SIXTYFOURBIT_SDK_MIN}" - export LDFLAGS="${LDFLAGS} -Wl-ios_version_min,${SIXTYFOURBIT_SDK_MIN}" + EXTRA_CFLAGS+=" -${OSVERSIONMINCFLAG}=${SIXTYFOURBIT_SDK_MIN}" + EXTRA_LDFLAGS=" -Wl,-${OSVERSIONMINLDFLAG},${SIXTYFOURBIT_SDK_MIN}" + export LDFLAGS="${LDFLAGS} -v -Wl,-${OSVERSIONMINLDFLAG},${SIXTYFOURBIT_SDK_MIN}" fi @@ -206,8 +222,8 @@ info "LD FLAGS SELECTED = '${LDFLAGS}'" spushd ${VLCROOT}/contrib echo ${VLCROOT} -mkdir -p "${VLCROOT}/contrib/iPhone${PLATFORM}-${ARCH}" -cd "${VLCROOT}/contrib/iPhone${PLATFORM}-${ARCH}" +mkdir -p "${VLCROOT}/contrib/${OSSTYLE}${PLATFORM}-${ARCH}" +cd "${VLCROOT}/contrib/${OSSTYLE}${PLATFORM}-${ARCH}" if [ "$PLATFORM" = "OS" ]; then export AS="gas-preprocessor.pl ${CC}" @@ -220,7 +236,13 @@ else export ASCPP="xcrun as" fi -../bootstrap --build=x86_64-apple-darwin11 --host=${TARGET} --prefix=${VLCROOT}/contrib/${TARGET}-${ARCH} --disable-gpl \ +if [ "$TVOS" = "yes" ]; then + TVOSOPTIONS="--disable-libarchive --disable-gcrypt --disable-ssh2 --disable-gnutls" +else + TVOSOPTIONS="" +fi + +../bootstrap --build=x86_64-apple-darwin11 --host=${TARGET} --prefix=${VLCROOT}/contrib/${OSSTYLE}-${TARGET}-${ARCH} --disable-gpl \ --disable-disc --disable-sout \ --disable-sdl \ --disable-SDL_image \ @@ -255,12 +277,14 @@ fi --disable-aribb25 \ --enable-vpx \ --enable-libdsm \ + ${TVOSOPTIONS} \ --enable-taglib > ${out} echo "EXTRA_CFLAGS += ${EXTRA_CFLAGS}" >> config.mak echo "EXTRA_LDFLAGS += ${EXTRA_LDFLAGS}" >> config.mak -make fetch -make -j$MAKE_JOBS > ${out} +# make fetch +make V=1 +# make -j$MAKE_JOBS > ${out} spopd info "Bootstraping vlc" @@ -303,7 +327,7 @@ if [ "${VLCROOT}/configure" -nt config.log -o \ ${VLCROOT}/configure \ --prefix="${PREFIX}" \ --host="${TARGET}" \ - --with-contrib="${VLCROOT}/contrib/${TARGET}-${ARCH}" \ + --with-contrib="${VLCROOT}/contrib/${OSSTYLE}-${TARGET}-${ARCH}" \ --enable-static \ ${DEBUGFLAG} \ ${SCARYFLAG} \ _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits