PLATFORM=OS
VERBOSE=no
-SDK_VERSION=6.1
+SDK_VERSION=7.0
SDK_MIN=5.1
ARCH=armv7
usage: $0 [-s] [-k sdk]
OPTIONS
- -k <sdk> Specify which sdk to use ('xcodebuild -showsdks', current: ${SDK})
+ -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})
EOF
;;
s)
PLATFORM=Simulator
- SDK=${SDK_MIN}
;;
k)
- SDK=$OPTARG
+ SDK_VERSION=$OPTARG
;;
a)
ARCH=$OPTARG
info "Building libvlc for iOS"
if [ "$PLATFORM" = "Simulator" ]; then
- TARGET="i686-apple-darwin11"
- ARCH="i386"
+ TARGET="${ARCH}-apple-darwin11"
OPTIM="-O3 -g"
else
TARGET="arm-apple-darwin11"
+ OPTIM="-O3 -g"
fi
info "Using ${ARCH} with SDK version ${SDK_VERSION}"
PREFIX="${VLCROOT}/install-ios-${PLATFORM}/${ARCH}"
-IOS_GAS_PREPROCESSOR="${VLCROOT}/extras/tools/gas/gas-preprocessor.pl"
-
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
export LD="xcrun ld"
export STRIP="xcrun strip"
+export PLATFORM=$PLATFORM
+export SDK_VERSION=$SDK_VERSION
-export SDKROOT
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
+export CFLAGS="${CFLAGS} -Wno-error=unused-command-line-argument-hard-error-in-future"
export CPPFLAGS="${CFLAGS}"
export CXXFLAGS="${CFLAGS}"
export OBJCFLAGS="${CFLAGS}"
export OBJCFLAGS="-fobjc-abi-version=2 -fobjc-legacy-dispatch ${OBJCFLAGS}"
fi
-if [ "$PLATFORM" = "OS" ]; then
- export LDFLAGS="-L${SDKROOT}/usr/lib -arch ${ARCH} -isysroot ${SDKROOT} -miphoneos-version-min=${SDK_MIN}"
-else
- export LDFLAGS="-syslibroot=${SDKROOT}/ -arch ${ARCH} -miphoneos-version-min=${SDK_MIN}"
-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="-m32"
- EXTRA_LDFLAGS="-m32"
+ EXTRA_CFLAGS="-arch ${ARCH}"
+ EXTRA_LDFLAGS="-arch ${ARCH}"
fi
+EXTRA_CFLAGS+=" -miphoneos-version-min=${SDK_MIN}"
+EXTRA_LDFLAGS+=" -miphoneos-version-min=${SDK_MIN}"
+
info "LD FLAGS SELECTED = '${LDFLAGS}'"
spushd ${VLCROOT}/contrib
cd "${VLCROOT}/contrib/iPhone${PLATFORM}-${ARCH}"
if [ "$PLATFORM" = "OS" ]; then
- export AS="${IOS_GAS_PREPROCESSOR} ${CC}"
- export ASCPP="${IOS_GAS_PREPROCESSOR} ${CC}"
- export CCAS="${IOS_GAS_PREPROCESSOR} ${CC}"
+ 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"
+ export ASCPP="xcrun as"
fi
-../bootstrap --host=${TARGET} --build="i686-apple-darwin10" --disable-disc --disable-sout \
- --enable-small \
+../bootstrap --build=x86_64-apple-darwin11 --host=${TARGET} --prefix=${VLCROOT}/contrib/${TARGET}-${ARCH} --disable-gpl \
+ --disable-disc --disable-sout \
--disable-sdl \
--disable-SDL_image \
- --disable-fontconfig \
- --disable-ass \
- --disable-freetype2 \
--disable-iconv \
- --disable-fribidi \
- --disable-zvbi \
+ --enable-zvbi \
--disable-kate \
--disable-caca \
--disable-gettext \
--disable-mpcdec \
- --disable-screen \
--disable-upnp \
--disable-gme \
--disable-tremor \
- --disable-vorbis \
+ --enable-vorbis \
--disable-sidplay2 \
--disable-samplerate \
--disable-goom \
- --disable-gcrypt \
- --disable-gnutls \
+ --disable-vncserver \
--disable-orc \
--disable-schroedinger \
--disable-libmpeg2 \
- --enable-mad > ${out}
+ --disable-chromaprint \
+ --disable-mad \
+ --enable-fribidi \
+ --enable-libxml2 \
+ --enable-freetype2 \
+ --enable-ass \
+ --disable-fontconfig \
+ --disable-gpg-error \
+ --disable-lua \
+ --enable-taglib > ${out}
echo "EXTRA_CFLAGS += ${EXTRA_CFLAGS}" >> config.mak
echo "EXTRA_LDFLAGS += ${EXTRA_LDFLAGS}" >> config.mak
+make fetch
make
spopd
export AVFORMAT_LIBS="-L${PREFIX}/lib -lavcodec -lz -lavutil -lavformat"
fi
-export DVBPSI_CFLAGS="-I${VLCROOT}/contrib-ios-${TARGET}/include "
-export DVBPSI_LIBS="-L${VLCROOT}/contrib-ios-${TARGET}/lib "
-
-export SWSCALE_CFLAGS="-I${VLCROOT}/contrib-ios-${TARGET}/include "
-export SWSCALE_LIBS="-L${VLCROOT}/contrib-ios-${TARGET}/lib "
-
mkdir -p ${BUILDDIR}
spushd ${BUILDDIR}
# Run configure only upon changes.
if [ "${VLCROOT}/configure" -nt config.log -o \
"${THIS_SCRIPT_PATH}" -nt config.log ]; then
-CONTRIB_DIR=${VLCROOT}/contrib-ios-${TARGET} \
${VLCROOT}/configure \
--prefix="${PREFIX}" \
--host="${TARGET}" \
+ --with-contrib="${VLCROOT}/contrib/${TARGET}-${ARCH}" \
--disable-debug \
--enable-static \
--disable-macosx \
- --disable-macosx-vout \
--disable-macosx-dialog-provider \
--disable-macosx-qtkit \
--disable-macosx-eyetv \
--disable-macosx-vlc-app \
- --enable-audioqueue \
- --enable-ios-vout \
+ --disable-macosx-avfoundation \
+ --disable-audioqueue \
--disable-shared \
- --disable-macosx-quartztext \
+ --enable-macosx-quartztext \
--enable-avcodec \
--enable-mkv \
--enable-opus \
- --enable-dvbpsi \
- --enable-swscale \
- --disable-projectm \
--disable-sout \
--disable-faad \
--disable-lua \
- --enable-mad \
--disable-a52 \
- --disable-fribidi \
- --disable-macosx-audio \
+ --enable-fribidi \
--disable-qt --disable-skins2 \
- --disable-libgcrypt \
--disable-vcd \
--disable-vlc \
--disable-vlm \
--disable-httpd \
--disable-nls \
--disable-glx \
- --disable-lua \
--disable-sse \
--enable-neon \
--disable-notify \
--enable-dvbpsi \
--enable-swscale \
--disable-projectm \
- --disable-libass \
- --disable-sqlite \
- --disable-libxml2 \
+ --enable-libass \
+ --enable-libxml2 \
--disable-goom \
--disable-dvdread \
--disable-dvdnav \
--disable-libva \
--disable-gme \
--disable-tremor \
- --disable-vorbis \
+ --enable-vorbis \
--disable-fluidsynth \
--disable-jack \
--disable-pulse \
- --disable-sout \
- --disable-faad \
- --disable-lua \
--disable-mtp \
--enable-ogg \
--enable-speex \
--enable-theora \
--enable-flac \
- --disable-freetype \
- --disable-taglib \
- --disable-mmx > ${out} # MMX and SSE support requires llvm which is broken on Simulator
+ --disable-screen \
+ --enable-freetype \
+ --enable-taglib \
+ --disable-mmx \
+ --disable-addonmanagermodules \
+ --disable-mad > ${out} # MMX and SSE support requires llvm which is broken on Simulator
fi
CORE_COUNT=`sysctl -n machdep.cpu.core_count`
make install > ${out}
find ${PREFIX}/lib/vlc/plugins -name *.a -type f -exec cp '{}' ${PREFIX}/lib/vlc/plugins \;
-cp -R "${VLCROOT}/contrib/${TARGET}" "${PREFIX}/contribs"
+rm -rf "${PREFIX}/contribs"
+cp -R "${VLCROOT}/contrib/${TARGET}-${ARCH}" "${PREFIX}/contribs"
info "Removing unneeded modules"
blacklist="
real
hotkeys
gestures
-sap
dynamicoverlay
rss
ball
visual
fb
aout_file
-yuv
dummy
invert
sepia
colorthres
antiflicker
anaglyph
-adjust
remap
"