]> git.sesse.net Git - vlc/blobdiff - extras/package/ios/build.sh
extras/ios: rework LDFLAGS handling and enable vpx for the scary build flavor
[vlc] / extras / package / ios / build.sh
index ffdd453ea8b0d5514723543f924556dbe446377c..778e28bde5aff72759a8c289edbd3be6de22d2d7 100755 (executable)
@@ -3,19 +3,25 @@ set -e
 
 PLATFORM=OS
 VERBOSE=no
+DEBUG=no
 SDK_VERSION=7.0
-SDK_MIN=5.1
+SDK_MIN=6.1
+SIXTYFOURBIT_SDK_MIN=7.0
 ARCH=armv7
+SCARY=yes
 
 usage()
 {
 cat << EOF
-usage: $0 [-s] [-k sdk]
+usage: $0 [-s] [-d] [-v] [-k sdk]
 
 OPTIONS
    -k <sdk version>      Specify which sdk to use ('xcodebuild -showsdks', current: ${SDK_VERSION})
    -s            Build for simulator
    -a <arch>     Specify which arch to use (current: ${ARCH})
+   -d            Enable debug
+   -v            Enable verbose command-line output
+   -w            Build a limited stack of non-scary libraries only
 EOF
 }
 
@@ -36,7 +42,7 @@ info()
     echo "[${blue}info${normal}] $1"
 }
 
-while getopts "hvsk:a:" OPTION
+while getopts "hvwdsk:a:" OPTION
 do
      case $OPTION in
          h)
@@ -49,6 +55,12 @@ do
          s)
              PLATFORM=Simulator
              ;;
+         d)
+             DEBUG=yes
+             ;;
+         w)
+             SCARY=no
+             ;;
          k)
              SDK_VERSION=$OPTARG
              ;;
@@ -77,9 +89,13 @@ info "Building libvlc for iOS"
 
 if [ "$PLATFORM" = "Simulator" ]; then
     TARGET="${ARCH}-apple-darwin11"
-    OPTIM="-O3 -g"
 else
     TARGET="arm-apple-darwin11"
+fi
+
+if [ "$DEBUG" = "yes" ]; then
+    OPTIM="-O0 -g"
+else
     OPTIM="-O3 -g"
 fi
 
@@ -130,18 +146,21 @@ export STRIP="xcrun strip"
 export PLATFORM=$PLATFORM
 export SDK_VERSION=$SDK_VERSION
 
+export CFLAGS="-isysroot ${SDKROOT} -arch ${ARCH} ${OPTIM}"
+
 if [ "$PLATFORM" = "OS" ]; then
-export CFLAGS="-isysroot ${SDKROOT} -arch ${ARCH} -miphoneos-version-min=${SDK_MIN} ${OPTIM}"
 if [ "$ARCH" != "arm64" ]; then
-export CFLAGS="${CFLAGS} -mcpu=cortex-a8"
+export CFLAGS="${CFLAGS} -mcpu=cortex-a8 -miphoneos-version-min=${SDK_MIN}"
+else
+export CFLAGS="${CFLAGS} -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}"
 fi
 else
-export CFLAGS="-isysroot ${SDKROOT} -arch ${ARCH} -miphoneos-version-min=${SDK_MIN} ${OPTIM}"
+export CFLAGS="${CFLAGS} -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}"
 fi
-export CFLAGS="${CFLAGS} -Wno-error=unused-command-line-argument-hard-error-in-future"
+
+export CXXFLAGS="${CFLAGS} -stdlib=libstdc++"
+
 export CPPFLAGS="${CFLAGS}"
-export CXXFLAGS="${CFLAGS}"
-export OBJCFLAGS="${CFLAGS}"
 
 export CPP="xcrun cc -E"
 export CXXCPP="xcrun c++ -E"
@@ -153,21 +172,28 @@ if [ "$PLATFORM" = "Simulator" ]; then
     export OBJCFLAGS="-fobjc-abi-version=2 -fobjc-legacy-dispatch ${OBJCFLAGS}"
 fi
 
-export LDFLAGS="-L${SDKROOT}/usr/lib -arch ${ARCH} -isysroot ${SDKROOT} -miphoneos-version-min=${SDK_MIN}"
+export LDFLAGS="-L${SDKROOT}/usr/lib -arch ${ARCH} -isysroot ${SDKROOT}"
 
 if [ "$PLATFORM" = "OS" ]; then
     EXTRA_CFLAGS="-arch ${ARCH}"
+    EXTRA_LDFLAGS="-arch ${ARCH}"
 if [ "$ARCH" != "arm64" ]; 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}"
+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}"
 fi
-    EXTRA_LDFLAGS="-arch ${ARCH}"
 else
     EXTRA_CFLAGS="-arch ${ARCH}"
-    EXTRA_LDFLAGS="-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}"
 fi
 
-EXTRA_CFLAGS+=" -miphoneos-version-min=${SDK_MIN}"
-EXTRA_LDFLAGS+=" -miphoneos-version-min=${SDK_MIN}"
 
 info "LD FLAGS SELECTED = '${LDFLAGS}'"
 
@@ -188,7 +214,7 @@ else
     export ASCPP="xcrun as"
 fi
 
-../bootstrap --build=x86_64-apple-darwin11 --host=${TARGET} --prefix=${VLCROOT}/contrib/${TARGET}-${ARCH} --disable-gpl \
+../bootstrap --build=x86_64-apple-darwin11 --host=${TARGET} --prefix=${VLCROOT}/contrib/${TARGET}-${ARCH} --arch=${ARCH} --disable-gpl \
     --disable-disc --disable-sout \
     --disable-sdl \
     --disable-SDL_image \
@@ -201,7 +227,7 @@ fi
     --disable-upnp \
     --disable-gme \
     --disable-tremor \
-    --disable-vorbis \
+    --enable-vorbis \
     --disable-sidplay2 \
     --disable-samplerate \
     --disable-goom \
@@ -218,6 +244,7 @@ fi
     --disable-fontconfig \
     --disable-gpg-error \
     --disable-lua \
+    --enable-vpx \
     --enable-taglib > ${out}
 
 echo "EXTRA_CFLAGS += ${EXTRA_CFLAGS}" >> config.mak
@@ -248,6 +275,18 @@ spushd ${BUILDDIR}
 
 info ">> --prefix=${PREFIX} --host=${TARGET}"
 
+if [ "$DEBUG" = "yes" ]; then
+    DEBUGFLAG="--enable-debug"
+else
+    DEBUGFLAG="--disable-debug"
+fi
+
+if [ "$SCARY" = "yes" ]; then
+       SCARYFLAG="--enable-dvbpsi --enable-avcodec"
+else
+       SCARYFLAG="--disable-dca --disable-dvbpsi --disable-avcodec --disable-avformat --disable-zvbi --enable-vpx"
+fi
+
 # Run configure only upon changes.
 if [ "${VLCROOT}/configure" -nt config.log -o \
      "${THIS_SCRIPT_PATH}" -nt config.log ]; then
@@ -255,8 +294,9 @@ ${VLCROOT}/configure \
     --prefix="${PREFIX}" \
     --host="${TARGET}" \
     --with-contrib="${VLCROOT}/contrib/${TARGET}-${ARCH}" \
-    --disable-debug \
     --enable-static \
+    ${DEBUGFLAG} \
+    ${SCARYFLAG} \
     --disable-macosx \
     --disable-macosx-dialog-provider \
     --disable-macosx-qtkit \
@@ -266,7 +306,6 @@ ${VLCROOT}/configure \
     --disable-audioqueue \
     --disable-shared \
     --enable-macosx-quartztext \
-    --enable-avcodec \
     --enable-mkv \
     --enable-opus \
     --disable-sout \
@@ -286,7 +325,6 @@ ${VLCROOT}/configure \
     --disable-notify \
     --enable-live555 \
     --enable-realrtsp \
-    --enable-dvbpsi \
     --enable-swscale \
     --disable-projectm \
     --enable-libass \
@@ -299,7 +337,7 @@ ${VLCROOT}/configure \
     --disable-libva \
     --disable-gme \
     --disable-tremor \
-    --disable-vorbis \
+    --enable-vorbis \
     --disable-fluidsynth \
     --disable-jack \
     --disable-pulse \
@@ -395,8 +433,37 @@ colorthres
 antiflicker
 anaglyph
 remap
+oldmovie
+vhs
+demuxdump
+fingerprinter
 "
 
+if [ "$SCARY" = "no" ]; then
+blacklist="${blacklist}
+dts
+dvbsub
+svcd
+hevc
+packetizer_mlp
+a52
+vc1
+uleaddvaudio
+librar
+libvoc
+avio
+chorus_flanger
+smooth
+cvdsub
+libmod
+libdash
+libmpgv
+dolby_surround
+mpeg_audio"
+fi
+
+echo ${blacklist}
+
 for i in ${blacklist}
 do
     find ${PREFIX}/lib/vlc/plugins -name *$i* -type f -exec rm '{}' \;