Skip to content

Commit 6eb19d8

Browse files
committed
1 parent c7520b7 commit 6eb19d8

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

build_scripts/build_ffmpeg.sh

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@ if [ "$FLAVOR" = "lite" ]; then
3131
# LITE flavor support android 16+
3232
ARM_SYSROOT=$NDK/platforms/android-16/arch-arm/
3333
X86_SYSROOT=$NDK/platforms/android-16/arch-x86/
34+
UNIFIED_ANDROID_API=16
3435
else
3536
# FULL flavor require android 21 at minimum (because of including openssl)
3637
ARM_SYSROOT=$NDK/platforms/android-21/arch-arm/
3738
X86_SYSROOT=$NDK/platforms/android-21/arch-x86/
39+
UNIFIED_ANDROID_API=21
3840
fi
3941
ARM_PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/$OS
4042
X86_PREBUILT=$NDK/toolchains/x86-4.9/prebuilt/$OS
@@ -55,6 +57,13 @@ X86_64_PREBUILT=$NDK/toolchains/x86_64-4.9/prebuilt/$OS
5557
# MIPS64_PREBUILT=$NDK/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64
5658
# MIPS64_CROSS_PREFIX=$MIPS64_PREBUILT/bin/$HOST-
5759

60+
# For unified headers https://android.googlesource.com/platform/ndk/+/ndk-release-r16/docs/UnifiedHeaders.md
61+
UNIFIED_INCLUDEPATH=$NDK/sysroot/usr/include
62+
ARM_UNIFIED_INCLUDEPATH=$NDK/sysroot/usr/include/arm-linux-androideabi
63+
X86_UNIFIED_INCLUDEPATH=$NDK/sysroot/usr/include/aarch64-linux-android
64+
ARM64_UNIFIED_INCLUDEPATH=$NDK/sysroot/usr/include/arm-linux-androideabi
65+
X86_64_UNIFIED_INCLUDEPATH=$NDK/sysroot/usr/include/x86_64-linux-android
66+
5867
if [ "$FFMPEG_VERSION" = "" ]; then
5968
FFMPEG_VERSION="3.3.2"
6069
fi
@@ -182,21 +191,25 @@ then
182191
HOST=arm-linux-androideabi
183192
CROSS_PREFIX=$ARM_PREBUILT/bin/$HOST-
184193
OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS "
194+
UNIFIED_INCLUDEPATH_ARCH=$ARM_UNIFIED_INCLUDEPATH
185195
elif [ $ARCH == "arm64" ]
186196
then
187197
SYSROOT=$ARM64_SYSROOT
188198
HOST=aarch64-linux-android
189199
CROSS_PREFIX=$ARM64_PREBUILT/bin/$HOST-
200+
UNIFIED_INCLUDEPATH_ARCH=$ARM64_UNIFIED_INCLUDEPATH
190201
elif [ $ARCH == "x86_64" ]
191202
then
192203
SYSROOT=$X86_64_SYSROOT
193204
HOST=x86_64-linux-android
194205
CROSS_PREFIX=$X86_64_PREBUILT/bin/$HOST-
206+
UNIFIED_INCLUDEPATH_ARCH=$X86_64_UNIFIED_INCLUDEPATH
195207
elif [ $ARCH == "i686" ]
196208
then
197209
SYSROOT=$X86_SYSROOT
198210
HOST=i686-linux-android
199211
CROSS_PREFIX=$X86_PREBUILT/bin/$HOST-
212+
UNIFIED_INCLUDEPATH_ARCH=$X86_UNIFIED_INCLUDEPATH
200213
# elif [ $ARCH == "mips" ]
201214
# then
202215
# SYSROOT=$MIPS_SYSROOT
@@ -219,9 +232,9 @@ export AR="${CROSS_PREFIX}ar"
219232
export NM="${CROSS_PREFIX}nm"
220233
export RANLIB="${CROSS_PREFIX}ranlib"
221234
export LDFLAGS="-L$PREFIX/lib -fPIE -pie "
222-
export CFLAGS="$OPTIMIZE_CFLAGS -I$PREFIX/include --sysroot=$SYSROOT -fPIE "
235+
export CFLAGS="$OPTIMIZE_CFLAGS -I$PREFIX/include --sysroot=$SYSROOT -fPIE -isystem $UNIFIED_INCLUDEPATH -isystem $UNIFIED_INCLUDEPATH_ARCH -D__ANDROID_API__=$UNIFIED_ANDROID_API "
223236
export CXXFLAGS="$CFLAGS "
224-
export CPPFLAGS="--sysroot=$SYSROOT "
237+
export CPPFLAGS="--sysroot=$SYSROOT -isystem $UNIFIED_INCLUDEPATH -isystem $UNIFIED_INCLUDEPATH_ARCH -D__ANDROID_API__=$UNIFIED_ANDROID_API "
225238
export STRIP=${CROSS_PREFIX}strip
226239
export PATH="$PATH:$PREFIX/bin/"
227240

0 commit comments

Comments
 (0)