]> git.sesse.net Git - vlc/blob - extras/package/android/configure.sh
2b82eda8834caa268f739e83bd81ddfe8023c6dd
[vlc] / extras / package / android / configure.sh
1 #!/bin/sh
2
3 if [ -z "$ANDROID_NDK" ]; then
4     echo "Please set the ANDROID_NDK environment variable with its path."
5     exit 1
6 fi
7
8 ANDROID_API=android-9
9
10 VLC_SOURCEDIR="`dirname $0`/../../.."
11
12 # needed for old ndk: change all the arm-linux-androideabi to arm-eabi
13 # the --host is kept on purpose because otherwise libtool complains..
14
15 CFLAGS="-O2 -mlong-calls -fstrict-aliasing -fprefetch-loop-arrays -ffast-math"
16 LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined"
17
18 if [ -z "$NO_NEON" ]; then
19     CXX_TARGET="armeabi-v7a"
20     CFLAGS="$CFLAGS -mfpu=neon -mtune=cortex-a8 -ftree-vectorize -mvectorize-with-neon-quad"
21     LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8"
22     EXTRA_PARAMS=""
23 else
24     CXX_TARGET="armeabi"
25     CFLAGS="$CFLAGS -march=armv6j -mtune=arm1136j-s -msoft-float"
26     EXTRA_PARAMS=" --disable-neon"
27 fi
28
29 CPPFLAGS="-I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/include -I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/libs/${CXX_TARGET}/include"
30
31 SYSROOT=$ANDROID_NDK/platforms/$ANDROID_API/arch-arm
32 ANDROID_BIN=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/*-x86/bin/
33 CROSS_COMPILE=${ANDROID_BIN}/arm-linux-androideabi-
34
35 CPPFLAGS="$CPPFLAGS" \
36 CFLAGS="$CFLAGS" \
37 CXXFLAGS="$CFLAGS" \
38 LDFLAGS="$LDFLAGS" \
39 CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}" \
40 CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}" \
41 NM="${CROSS_COMPILE}nm" \
42 STRIP="${CROSS_COMPILE}strip" \
43 RANLIB="${CROSS_COMPILE}ranlib" \
44 AR="${CROSS_COMPILE}ar" \
45 PKG_CONFIG_LIBDIR="$VLC_SOURCEDIR/extras/contrib/hosts/arm-eabi/lib/pkgconfig" \
46 sh $VLC_SOURCEDIR/configure --host=arm-eabi-linux --build=x86_64-unknown-linux $EXTRA_PARAMS \
47                 --enable-static-modules \
48                 --enable-live555 --enable-realrtsp \
49                 --enable-avformat \
50                 --enable-swscale \
51                 --enable-avcodec \
52                 --enable-opensles \
53                 --enable-android-surface \
54                 --enable-debug \
55                 --enable-mkv \
56                 --enable-taglib \
57                 --disable-vlc \
58                 --disable-vlm --disable-sout \
59                 --disable-dbus \
60                 --disable-lua \
61                 --disable-libgcrypt \
62                 --disable-vcd \
63                 --disable-v4l2 \
64                 --disable-gnomevfs \
65                 --disable-dvdread \
66                 --disable-dvdnav \
67                 --disable-bluray \
68                 --disable-linsys \
69                 --disable-decklink \
70                 --disable-libva \
71                 --disable-dv \
72                 --disable-mod \
73                 --disable-sid \
74                 --disable-mad \
75                 --disable-x264 \
76                 --disable-mad \
77                 --disable-schroedinger --disable-dirac \
78                 --disable-sdl-image \
79                 --disable-zvbi \
80                 --disable-fluidsynth \
81                 --disable-jack \
82                 --disable-pulse \
83                 --disable-alsa \
84                 --disable-portaudio \
85                 --disable-sdl \
86                 --disable-xcb \
87                 --disable-atmo \
88                 --disable-qt4 \
89                 --disable-skins2 \
90                 --disable-mtp \
91                 --enable-taglib \
92                 --disable-notify \
93                 --disable-freetype \
94                 --disable-libass \
95                 --disable-svg \
96                 --disable-sqlite \
97                 --disable-udev \
98                 --disable-libxml2 \
99                 --disable-caca \
100                 --disable-glx \
101                 --disable-egl \
102                 --disable-gl \
103                 --disable-gles1 --disable-gles2 \
104                 --disable-goom \
105                 --disable-projectm