]> git.sesse.net Git - vlc/blob - extras/package/android/configure.sh
android: Add the C++ STL library path to LDFLAGS
[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 -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -ftree-vectorize -mvectorize-with-neon-quad -funsafe-math-optimizations"
21     LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8"
22     EXTRA_PARAMS=" --enable-neon"
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 LDFLAGS="$LDFLAGS -L${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/libs/${CXX_TARGET}/lib"
31
32 SYSROOT=$ANDROID_NDK/platforms/$ANDROID_API/arch-arm
33 ANDROID_BIN=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/*-x86/bin/
34 CROSS_COMPILE=${ANDROID_BIN}/arm-linux-androideabi-
35
36 CPPFLAGS="$CPPFLAGS" \
37 CFLAGS="$CFLAGS" \
38 CXXFLAGS="$CFLAGS" \
39 LDFLAGS="$LDFLAGS" \
40 CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}" \
41 CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}" \
42 NM="${CROSS_COMPILE}nm" \
43 STRIP="${CROSS_COMPILE}strip" \
44 RANLIB="${CROSS_COMPILE}ranlib" \
45 AR="${CROSS_COMPILE}ar" \
46 PKG_CONFIG_LIBDIR="$VLC_SOURCEDIR/extras/contrib/hosts/arm-eabi/lib/pkgconfig" \
47 sh $VLC_SOURCEDIR/configure --host=arm-eabi-linux --build=x86_64-unknown-linux $EXTRA_PARAMS \
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 --disable-shared \
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-x264 \
75                 --disable-mad \
76                 --disable-schroedinger --disable-dirac \
77                 --disable-sdl-image \
78                 --disable-zvbi \
79                 --disable-fluidsynth \
80                 --disable-jack \
81                 --disable-pulse \
82                 --disable-alsa \
83                 --disable-portaudio \
84                 --disable-sdl \
85                 --disable-xcb \
86                 --disable-atmo \
87                 --disable-qt4 \
88                 --disable-skins2 \
89                 --disable-mtp \
90                 --enable-taglib \
91                 --disable-notify \
92                 --disable-freetype \
93                 --disable-libass \
94                 --disable-svg \
95                 --disable-sqlite \
96                 --disable-udev \
97                 --disable-libxml2 \
98                 --disable-caca \
99                 --disable-glx \
100                 --disable-egl \
101                 --disable-gl \
102                 --disable-gles1 --disable-gles2 \
103                 --disable-goom \
104                 --disable-projectm