compile-libvlc.sh 14.4 KB
Newer Older
1 2
#!/bin/sh

3 4 5 6 7 8 9 10 11 12 13
#############
# FUNCTIONS #
#############

checkfail()
{
    if [ ! $? -eq 0 ];then
        echo "$1"
        exit 1
    fi
}
14

Thomas Guillem's avatar
Thomas Guillem committed
15 16 17 18
#############
# ARGUMENTS #
#############

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
RELEASE=0
while [ $# -gt 0 ]; do
    case $1 in
        help|--help)
            echo "Use -a to set the ARCH"
            echo "Use --release to build in release mode"
            exit 1
            ;;
        a|-a)
            ANDROID_ABI=$2
            shift
            ;;
        release|--release)
            RELEASE=1
            ;;
    esac
    shift
done

38 39 40 41 42 43
if [ -z "$ANDROID_NDK" ]; then
    echo "Please set the ANDROID_NDK environment variable with its path."
    exit 1
fi

if [ -z "$ANDROID_ABI" ]; then
44 45
    echo "Please pass the ANDROID ABI to the correct architecture, using
                compile-libvlc.sh -a ARCH
46 47 48 49
    ARM:     armeabi-v7a, armeabi, armeabi-v5, armeabi-nofpu
    ARM64:   arm64-v8a
    X86:     x86, x86_64
    MIPS:    mips, mips64."
50 51 52
    exit 1
fi

53 54 55
#########
# FLAGS #
#########
Thomas Guillem's avatar
Thomas Guillem committed
56

57
# ARMv5 and ARMv6-nofpu are not really ABIs
Geoffrey Métais's avatar
Geoffrey Métais committed
58
if [ "${ANDROID_ABI}" = "armeabi-nofpu" ];then
59 60 61
    NO_FPU=0
    ANDROID_ABI="armeabi"
fi
Geoffrey Métais's avatar
Geoffrey Métais committed
62
if [ "${ANDROID_ABI}" = "armeabi-v5" ];then
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
63
    ARMV5=1
64 65 66
    NO_FPU=0
    ANDROID_ABI="armeabi"
fi
Geoffrey Métais's avatar
Geoffrey Métais committed
67
[ "${ANDROID_ABI}" = "armeabi" ] && cat << EOF
68 69 70 71 72 73
For an ARMv6 device without FPU:
$ export ANDROID_ABI="armeabi-nofpu"
For an ARMv5 device:
$ export ANDROID_ABI="armeabi-v5"
EOF

74
# Set up ABI variables
Geoffrey Métais's avatar
Geoffrey Métais committed
75
if [ "${ANDROID_ABI}" = "x86" ] ; then
76 77
    TARGET_TUPLE="i686-linux-android"
    PATH_HOST="x86"
78
    PLATFORM_SHORT_ARCH="x86"
Geoffrey Métais's avatar
Geoffrey Métais committed
79
elif [ "${ANDROID_ABI}" = "x86_64" ] ; then
80 81
    TARGET_TUPLE="x86_64-linux-android"
    PATH_HOST="x86_64"
82
    PLATFORM_SHORT_ARCH="x86_64"
83
    HAVE_64=1
Geoffrey Métais's avatar
Geoffrey Métais committed
84
elif [ "${ANDROID_ABI}" = "mips" ] ; then
85 86
    TARGET_TUPLE="mipsel-linux-android"
    PATH_HOST=$TARGET_TUPLE
87
    PLATFORM_SHORT_ARCH="mips"
Geoffrey Métais's avatar
Geoffrey Métais committed
88
elif [ "${ANDROID_ABI}" = "mips64" ] ; then
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
89 90
    TARGET_TUPLE="mips64el-linux-android"
    PATH_HOST=$TARGET_TUPLE
91
    PLATFORM_SHORT_ARCH="mips64"
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
92
    HAVE_64=1
Geoffrey Métais's avatar
Geoffrey Métais committed
93
elif [ "${ANDROID_ABI}" = "arm64-v8a" ] ; then
94 95 96 97
    TARGET_TUPLE="aarch64-linux-android"
    PATH_HOST=$TARGET_TUPLE
    HAVE_ARM=1
    HAVE_64=1
98
    PLATFORM_SHORT_ARCH="arm64"
99 100 101 102
else
    TARGET_TUPLE="arm-linux-androideabi"
    PATH_HOST=$TARGET_TUPLE
    HAVE_ARM=1
103
    PLATFORM_SHORT_ARCH="arm"
104 105
fi

106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
# try to detect NDK version
REL=$(grep -o '^r[0-9]*.*' $ANDROID_NDK/RELEASE.TXT 2>/dev/null|cut -b2-)
case "$REL" in
    10*)
        if [ "${HAVE_64}" = 1 ];then
            GCCVER=4.9
            ANDROID_API=android-21
        else
            GCCVER=4.8
            ANDROID_API=android-9
        fi
    ;;
    *)
        echo "You need the NDKv10 or later"
        exit 1
    ;;
esac

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
124 125
SYSROOT=$ANDROID_NDK/platforms/$ANDROID_API/arch-$PLATFORM_SHORT_ARCH
SRC_DIR=$PWD
126 127 128 129 130
# Add the NDK toolchain to the PATH, needed both for contribs and for building
# stub libraries
NDK_TOOLCHAIN_PATH=`echo ${ANDROID_NDK}/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/\`uname|tr A-Z a-z\`-*/bin`
export PATH=${NDK_TOOLCHAIN_PATH}:${PATH}

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
131 132 133 134 135 136 137 138 139 140 141 142 143
###############
# DISPLAY ABI #
###############

echo "ABI:        $ANDROID_ABI"
echo "API:        $ANDROID_API"
echo "SYSROOT:    $SYSROOT"
if [ ! -z "$NO_FPU" ]; then
echo "FPU:        NO"
fi
if [ ! -z "$ARMV5" ]; then
echo "ARMv5:       YES"
fi
144
echo "PATH:       $PATH"
145

146 147 148 149 150 151 152 153 154 155 156
# Make in //
if [ -z "$MAKEFLAGS" ]; then
    UNAMES=$(uname -s)
    MAKEFLAGS=
    if which nproc >/dev/null; then
        MAKEFLAGS=-j`nproc`
    elif [ "$UNAMES" == "Darwin" ] && which sysctl >/dev/null; then
        MAKEFLAGS=-j`sysctl -n machdep.cpu.thread_count`
    fi
fi

157 158 159
##########
# CFLAGS #
##########
Thomas Guillem's avatar
Thomas Guillem committed
160

Edward Wang's avatar
Edward Wang committed
161
CFLAGS="-g -O2 -fstrict-aliasing -funsafe-math-optimizations"
Thomas Guillem's avatar
Thomas Guillem committed
162
if [ -n "$HAVE_ARM" -a ! -n "$HAVE_64" ]; then
Edward Wang's avatar
Edward Wang committed
163
    CFLAGS="${CFLAGS} -mlong-calls"
164 165
fi

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
166
EXTRA_CFLAGS=""
167
# Setup CFLAGS per ABI
Geoffrey Métais's avatar
Geoffrey Métais committed
168
if [ "${ANDROID_ABI}" = "armeabi-v7a" ] ; then
169 170
    EXTRA_CFLAGS="-mfpu=vfpv3-d16 -mcpu=cortex-a8"
    EXTRA_CFLAGS="${EXTRA_CFLAGS} -mthumb -mfloat-abi=softfp"
Geoffrey Métais's avatar
Geoffrey Métais committed
171
elif [ "${ANDROID_ABI}" = "armeabi" ] ; then
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
172
    if [ -n "${ARMV5}" ]; then
173 174 175 176 177 178 179 180
        EXTRA_CFLAGS="-march=armv5te -mtune=arm9tdmi -msoft-float"
    else
        if [ -n "${NO_FPU}" ]; then
            EXTRA_CFLAGS="-march=armv6j -mtune=arm1136j-s -msoft-float"
        else
            EXTRA_CFLAGS="-mfpu=vfp -mcpu=arm1136jf-s -mfloat-abi=softfp"
        fi
    fi
Geoffrey Métais's avatar
Geoffrey Métais committed
181
elif [ "${ANDROID_ABI}" = "x86" ] ; then
182
    EXTRA_CFLAGS="-march=pentium -m32"
Geoffrey Métais's avatar
Geoffrey Métais committed
183
elif [ "${ANDROID_ABI}" = "mips" ] ; then
184 185 186 187 188 189 190 191 192
    EXTRA_CFLAGS="-march=mips32 -mtune=mips32r2 -mhard-float"
    # All MIPS Linux kernels since 2.4.4 will trap any unimplemented FPU
    # instruction and emulate it, so we select -mhard-float.
    # See http://www.linux-mips.org/wiki/Floating_point#The_Linux_kernel_and_floating_point
else
    echo "Unknown ABI. Die, die, die!"
    exit 2
fi

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
193 194
EXTRA_CFLAGS="${EXTRA_CFLAGS} -I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${GCCVER}/include"
EXTRA_CFLAGS="${EXTRA_CFLAGS} -I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${GCCVER}/libs/${ANDROID_ABI}/include"
195

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
196
CPPFLAGS="-I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${GCCVER}/include -I${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${GCCVER}/libs/${ANDROID_ABI}/include"
197

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
198 199 200
#################
# Setup LDFLAGS #
#################
Thomas Guillem's avatar
Thomas Guillem committed
201

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
202
EXTRA_LDFLAGS="-L${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${GCCVER}/libs/${ANDROID_ABI} -lgnustl_static"
203

Edward Wang's avatar
Edward Wang committed
204 205 206
LDFLAGS="-Wl,-Bdynamic,-dynamic-linker=/system/bin/linker -Wl,--no-undefined"

if [ -n "$HAVE_ARM" ]; then
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
207
    if [ ${ANDROID_ABI} = "armeabi-v7a" ]; then
Edward Wang's avatar
Edward Wang committed
208 209 210
        EXTRA_PARAMS=" --enable-neon"
        LDFLAGS="$LDFLAGS -Wl,--fix-cortex-a8"
    fi
211 212
fi

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
213
LDFLAGS="$LDFLAGS -L${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${GCCVER}/libs/${ANDROID_ABI}"
214

215 216 217
# Release or not?
if [ "$RELEASE" = 1 ]; then
    OPTS=""
218
    EXTRA_CFLAGS="${EXTRA_CFLAGS} -DNDEBUG "
219 220 221 222
else
    OPTS="--enable-debug"
fi

223

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
224 225
echo "CFLAGS:            ${CFLAGS}"
echo "EXTRA_CFLAGS:      ${EXTRA_CFLAGS}"
226

227 228 229

ANDROID_BIN=`echo $ANDROID_NDK/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/\`uname|tr A-Z a-z\`-*/bin/`
export PATH=$ANDROID_BIN:$PATH
Thomas Guillem's avatar
Thomas Guillem committed
230
################################################################################
231 232 233

cd vlc

234 235 236
###########################
# Build buildsystem tools #
###########################
Thomas Guillem's avatar
Thomas Guillem committed
237

238 239 240 241
export PATH=`pwd`/extras/tools/build/bin:$PATH
echo "Building tools"
cd extras/tools
./bootstrap
242
checkfail "buildsystem tools: bootstrap failed"
243
make $MAKEFLAGS
244
checkfail "buildsystem tools: make"
245
cd ../..
246 247 248 249 250

#############
# BOOTSTRAP #
#############

251
if [ ! -f configure ]; then
252 253
    echo "Bootstraping"
    ./bootstrap
254
    checkfail "vlc: bootstrap failed"
255 256
fi

257 258 259
############
# Contribs #
############
Thomas Guillem's avatar
Thomas Guillem committed
260

261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
echo "Building the contribs"
mkdir -p contrib/contrib-android-${TARGET_TUPLE}

gen_pc_file() {
    echo "Generating $1 pkg-config file"
    echo "Name: $1
Description: $1
Version: $2
Libs: -l$1
Cflags:" > contrib/${TARGET_TUPLE}/lib/pkgconfig/`echo $1|tr 'A-Z' 'a-z'`.pc
}

mkdir -p contrib/${TARGET_TUPLE}/lib/pkgconfig
gen_pc_file EGL 1.1
gen_pc_file GLESv2 2

cd contrib/contrib-android-${TARGET_TUPLE}
278

279 280
ANDROID_ABI=${ANDROID_ABI} ANDROID_API=${ANDROID_API} \
    ../bootstrap --host=${TARGET_TUPLE} --disable-disc --disable-sout \
281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
    --enable-dvdread \
    --enable-dvdnav \
    --disable-dca \
    --disable-goom \
    --disable-chromaprint \
    --disable-lua \
    --disable-schroedinger \
    --disable-sdl \
    --disable-SDL_image \
    --disable-fontconfig \
    --enable-zvbi \
    --disable-kate \
    --disable-caca \
    --disable-gettext \
    --disable-mpcdec \
    --disable-upnp \
    --disable-gme \
    --disable-tremor \
    --enable-vorbis \
    --disable-sidplay2 \
    --disable-samplerate \
    --disable-faad2 \
    --disable-harfbuzz \
    --enable-iconv \
    --disable-aribb24 \
    --disable-aribb25 \
    --disable-mpg123 \
    --enable-libdsm
309
checkfail "contribs: bootstrap failed"
310 311 312 313 314 315 316 317 318

# TODO: mpeg2, theora

# Some libraries have arm assembly which won't build in thumb mode
# We append -marm to the CFLAGS of these libs to disable thumb mode
[ ${ANDROID_ABI} = "armeabi-v7a" ] && echo "NOTHUMB := -marm" >> config.mak

echo "EXTRA_CFLAGS= -g ${EXTRA_CFLAGS}" >> config.mak
echo "EXTRA_LDFLAGS= ${EXTRA_LDFLAGS}" >> config.mak
319 320
export VLC_EXTRA_CFLAGS="${EXTRA_CFLAGS}"                   # Makefile
export VLC_EXTRA_LDFLAGS="${EXTRA_LDFLAGS}"                 # Makefile
321 322

make fetch
323
checkfail "contribs: make fetch failed"
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
324 325

# We already have zlib available in the NDK
326
[ -e .zlib ] || (mkdir -p zlib; touch .zlib)
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
327
# gettext
328
which autopoint >/dev/null || make $MAKEFLAGS .gettext
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
329
#export the PATH
330
export PATH="$PATH:$PWD/../$TARGET_TUPLE/bin"
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
331
# Make
332
make $MAKEFLAGS
333
checkfail "contribs: make failed"
334

335
cd ../../
336

337 338 339
###################
# BUILD DIRECTORY #
###################
Thomas Guillem's avatar
Thomas Guillem committed
340

341 342
VLC_BUILD_DIR=build-android-${TARGET_TUPLE}
mkdir -p $VLC_BUILD_DIR && cd $VLC_BUILD_DIR
343 344 345 346 347

#############
# CONFIGURE #
#############

348 349
CROSS_COMPILE=${ANDROID_BIN}/${TARGET_TUPLE}-

350
if [ ! -e ./config.h ]; then
351
CPPFLAGS="$CPPFLAGS" \
352
CFLAGS="$CFLAGS ${VLC_EXTRA_CFLAGS} ${EXTRA_CFLAGS}" \
353 354 355 356 357 358 359 360
CXXFLAGS="$CFLAGS" \
LDFLAGS="$LDFLAGS" \
CC="${CROSS_COMPILE}gcc --sysroot=${SYSROOT}" \
CXX="${CROSS_COMPILE}g++ --sysroot=${SYSROOT}" \
NM="${CROSS_COMPILE}nm" \
STRIP="${CROSS_COMPILE}strip" \
RANLIB="${CROSS_COMPILE}ranlib" \
AR="${CROSS_COMPILE}ar" \
361 362
PKG_CONFIG_LIBDIR=../contrib/$TARGET_TUPLE/lib/pkgconfig \
sh ../configure --host=$TARGET_TUPLE --build=x86_64-unknown-linux $EXTRA_PARAMS \
363
                --disable-nls \
364 365 366 367
                --enable-live555 --enable-realrtsp \
                --enable-avformat \
                --enable-swscale \
                --enable-avcodec \
368
                --enable-opus \
369 370 371 372
                --enable-opensles \
                --enable-android-surface \
                --enable-mkv \
                --enable-taglib \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
373
                --enable-dvbpsi \
374
                --disable-vlc --disable-shared \
375
                --disable-update-check \
376
                --disable-vlm \
377 378 379 380 381
                --disable-dbus \
                --disable-lua \
                --disable-vcd \
                --disable-v4l2 \
                --disable-gnomevfs \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
382
                --enable-dvdread \
383
                --enable-dvdnav \
384 385 386 387
                --disable-bluray \
                --disable-linsys \
                --disable-decklink \
                --disable-libva \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
388
                --disable-dv1394 \
389 390 391
                --disable-mod \
                --disable-sid \
                --disable-gme \
392
                --disable-tremor \
Thomas Guillem's avatar
Thomas Guillem committed
393
                --enable-mad \
394
                --disable-dca \
395
                --disable-sdl-image \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
396
                --enable-zvbi \
397 398 399 400 401 402 403 404
                --disable-fluidsynth \
                --disable-jack \
                --disable-pulse \
                --disable-alsa \
                --disable-samplerate \
                --disable-sdl \
                --disable-xcb \
                --disable-atmo \
Edward Wang's avatar
Edward Wang committed
405
                --disable-qt \
406 407 408
                --disable-skins2 \
                --disable-mtp \
                --disable-notify \
Sébastien Toque's avatar
Sébastien Toque committed
409
                --enable-libass \
410 411
                --disable-svg \
                --disable-udev \
412
                --enable-libxml2 \
413 414
                --disable-caca \
                --disable-glx \
415 416
                --enable-egl \
                --enable-gles2 \
417 418
                --disable-goom \
                --disable-projectm \
419
                --disable-sout \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
420
                --enable-vorbis \
Edward Wang's avatar
Edward Wang committed
421
                --disable-faad \
422 423
                --disable-x264 \
                --disable-schroedinger --disable-dirac \
424
                $OPTS
425
checkfail "vlc: configure failed"
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442

# ANDROID NDK FIXUP (BLAME GOOGLE)
config_undef ()
{
    unamestr=`uname`
    if [[ "$unamestr" == 'Darwin' ]]; then
        previous_change=`stat -f "%Sm" -t "%y%m%d%H%M.%S" config.h`
        sed -i '' 's,#define '$1' 1,/\* #undef '$1' \*/,' config.h
        touch -t "$previous_change" config.h
    else
        previous_change=`stat -c "%y" config.h`
        sed -i 's,#define '$1' 1,/\* #undef '$1' \*/,' config.h
        # don't change modified date in order to don't trigger a full build
        touch -d "$previous_change" config.h
    fi
}

443
# if config dependencies change, ./config.status
444 445 446 447
# is run and overwrite previously hacked config.h. So call make config.h here
# and hack config.h after.

make $MAKEFLAGS config.h
448
checkfail "vlc: make config.h failed"
449 450 451 452 453 454 455 456 457 458 459 460 461

if [ ${ANDROID_ABI} = "x86" -a ${ANDROID_API} != "android-21" ] ; then
    # NDK x86 libm.so has nanf symbol but no nanf definition, we don't known if
    # intel devices has nanf. Assume they don't have it.
    config_undef HAVE_NANF
fi
if [ ${ANDROID_API} = "android-21" ] ; then
    # android-21 has empty sys/shm.h headers that triggers shm detection but it
    # doesn't have any shm functions and/or symbols. */
    config_undef HAVE_SYS_SHM_H
fi
# END OF ANDROID NDK FIXUP

462 463
fi

464 465 466 467 468 469
############
# BUILDING #
############

echo "Building"
make $MAKEFLAGS
470
checkfail "vlc: make failed"
471

472
cd $SRC_DIR
473 474


Thomas Guillem's avatar
Thomas Guillem committed
475 476 477
################################################################################
# libvlcJNI                                                                    #
################################################################################
478

479 480 481
##################
# libVLC modules #
##################
Thomas Guillem's avatar
Thomas Guillem committed
482

483 484 485 486 487 488 489 490 491 492 493 494 495
echo "Generating static module list"
VLC_MODULES=`./find_modules.sh vlc/$VLC_BUILD_DIR`

DEFINITION="";
BUILTINS="const void *vlc_static_modules[] = {\n";
for file in $VLC_MODULES; do
	name=`echo $file | sed 's/.*\.libs\/lib//' | sed 's/_plugin\.a//'`; \
	DEFINITION=$DEFINITION"int vlc_entry__$name (int (*)(void *, void *, int, ...), void *);\n"; \
	BUILTINS="$BUILTINS vlc_entry__$name,\n"; \
done; \
BUILTINS="$BUILTINS NULL\n};\n"; \
printf "/* Autogenerated from the list of modules */\n $DEFINITION\n $BUILTINS\n" > libvlc/jni/libvlcjni.h

496 497 498
###############################
# NDK-Build for libvlcjni.so  #
###############################
499 500 501

LIBVLC_LIBS="libvlcjni"
VLC_MODULES=`echo $VLC_MODULES|sed "s|vlc/$VLC_BUILD_DIR|../vlc/$VLC_BUILD_DIR|g"`
502 503
VLC_SRC_DIR="$SRC_DIR/vlc"
ANDROID_SYS_HEADERS="$SRC_DIR/android-headers"
504
VLC_CONTRIB="$VLC_SRC_DIR/contrib/$TARGET_TUPLE"
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
505 506 507

echo "Building NDK"

508
$ANDROID_NDK/ndk-build -C libvlc \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
509
    VLC_SRC_DIR="$VLC_SRC_DIR" \
510
    ANDROID_SYS_HEADERS="$ANDROID_SYS_HEADERS" \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
511 512 513 514
    VLC_BUILD_DIR="$VLC_SRC_DIR/$VLC_BUILD_DIR" \
    VLC_CONTRIB="$VLC_CONTRIB" \
    VLC_MODULES="$VLC_MODULES" \
    TARGET_CFLAGS="$VLC_EXTRA_CFLAGS" \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
515
    EXTRA_LDFLAGS="$EXTRA_LDFLAGS" \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
516 517 518 519
    LIBVLC_LIBS="$LIBVLC_LIBS" \
    APP_BUILD_SCRIPT=jni/Android.mk \
    APP_PLATFORM=${ANDROID_API} \
    APP_ABI=${ANDROID_ABI} \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
520
    SYSROOT=${SYSROOT} \
521
    TARGET_TUPLE=$TARGET_TUPLE \
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
522
    HAVE_64=${HAVE_64} \
Thomas Guillem's avatar
Thomas Guillem committed
523
    NDK_PROJECT_PATH=jni