Browse Source

Bionic modifies CT_TARGET_CFLAGS

... which, after a recent change, is not reflected into CT_ALL_TARGET_CFLAGS
for non-multilib configurations.

Signed-off-by: Alexey Neyman <stilor@att.net>
dev-linux
Alexey Neyman 4 years ago
parent
commit
9fc729b4b0
  1. 6
      scripts/build/libc/bionic.sh

6
scripts/build/libc/bionic.sh

@ -21,10 +21,14 @@ bionic_main()
CT_DoStep INFO "Installing C library binaries"
CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/android-ndk/platforms/android-${CT_ANDROID_API}/arch-${arch}/usr" "${CT_SYSROOT_DIR}"
# NB: Modifying CT_TARGET_CFLAGS here, not CT_ALL_TARGET_CFLAGS: the __ANDROID_API__
# NB: Modifying both CT_TARGET_CFLAGS and CT_ALL_TARGET_CFLAGS: the __ANDROID_API__
# definition needs to be passed into GCC build, or the resulting libstdc++ gets
# miscompiled (attempt to link against it results in unresolved symbols to stdout/...).
# And since __ANDROID_API__ is a user config option, placing it with other user-supplied
# options isn't completely out of character.
# On the other hand, CT_ALL_TARGET_CFLAGS in non-multilib builds is already set and does
# not get recalculated after GCC build, so setting CT_TARGET_CFLAGS is not reflected
# on other libraries/apps, such as gdbserver.
CT_EnvModify CT_TARGET_CFLAGS "${CT_TARGET_CFLAGS} -D__ANDROID_API__=${CT_ANDROID_API}"
CT_EnvModify CT_ALL_TARGET_CFLAGS "${CT_ALL_TARGET_CFLAGS} -D__ANDROID_API__=${CT_ANDROID_API}"
}

Loading…
Cancel
Save