]> 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 d46361a02924ef83edc54c5d52ca1488a0914c8c..778e28bde5aff72759a8c289edbd3be6de22d2d7 100755 (executable)
@@ -3,20 +3,25 @@ set -e
 
 PLATFORM=OS
 VERBOSE=no
+DEBUG=no
 SDK_VERSION=7.0
 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
 }
 
@@ -37,7 +42,7 @@ info()
     echo "[${blue}info${normal}] $1"
 }
 
-while getopts "hvsk:a:" OPTION
+while getopts "hvwdsk:a:" OPTION
 do
      case $OPTION in
          h)
@@ -50,6 +55,12 @@ do
          s)
              PLATFORM=Simulator
              ;;
+         d)
+             DEBUG=yes
+             ;;
+         w)
+             SCARY=no
+             ;;
          k)
              SDK_VERSION=$OPTARG
              ;;
@@ -78,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
 
@@ -140,12 +155,8 @@ else
 export CFLAGS="${CFLAGS} -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}"
 fi
 else
-if [ "$ARCH" != "x86_64" ]; then
-export CFLAGS="${CFLAGS} -miphoneos-version-min=${SDK_MIN}"
-else
 export CFLAGS="${CFLAGS} -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}"
 fi
-fi
 
 export CXXFLAGS="${CFLAGS} -stdlib=libstdc++"
 
@@ -165,29 +176,22 @@ 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+=" -miphoneos-version-min=${SDK_MIN}"
-    export LDFLAGS="${LDFLAGS} -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+=" -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}"
-    export LDFLAGS="${LDFLAGS} -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}"
-if [ "$ARCH" != "x86_64" ]; then
-    EXTRA_CFLAGS+=" -miphoneos-version-min=${SDK_MIN}"
-    EXTRA_LDFLAGS+=" -miphoneos-version-min=${SDK_MIN}"
-    export LDFLAGS="${LDFLAGS} -miphoneos-version-min=${SDK_MIN}"
-else
     EXTRA_CFLAGS+=" -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}"
-    EXTRA_LDFLAGS+=" -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}"
-    export LDFLAGS="${LDFLAGS} -miphoneos-version-min=${SIXTYFOURBIT_SDK_MIN}"
-fi
+    EXTRA_LDFLAGS=" -Wl,-ios_version_min,${SIXTYFOURBIT_SDK_MIN}"
+    export LDFLAGS="${LDFLAGS} -Wl-ios_version_min,${SIXTYFOURBIT_SDK_MIN}"
 fi
 
 
@@ -210,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 \
@@ -240,6 +244,7 @@ fi
     --disable-fontconfig \
     --disable-gpg-error \
     --disable-lua \
+    --enable-vpx \
     --enable-taglib > ${out}
 
 echo "EXTRA_CFLAGS += ${EXTRA_CFLAGS}" >> config.mak
@@ -270,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
@@ -277,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 \
@@ -288,7 +306,6 @@ ${VLCROOT}/configure \
     --disable-audioqueue \
     --disable-shared \
     --enable-macosx-quartztext \
-    --enable-avcodec \
     --enable-mkv \
     --enable-opus \
     --disable-sout \
@@ -308,7 +325,6 @@ ${VLCROOT}/configure \
     --disable-notify \
     --enable-live555 \
     --enable-realrtsp \
-    --enable-dvbpsi \
     --enable-swscale \
     --disable-projectm \
     --enable-libass \
@@ -417,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 '{}' \;