Fix configure error on android NDK r25 (#3200)
* Fix configure error on android NDK r25 * Pass libc++_shared.so path to Makefile (java/csharp) * Only pass the STD Cpp lib and env var rename
This commit is contained in:
parent
122a2ce343
commit
86b6711777
|
@ -739,6 +739,7 @@ ac_no_pjsua2
|
|||
ac_shared_libraries
|
||||
ac_linux_poll
|
||||
ac_os_objs
|
||||
ac_std_cpp_lib
|
||||
ac_target_arch
|
||||
ac_cross_compile
|
||||
ac_shlib_suffix
|
||||
|
@ -4870,8 +4871,6 @@ if test "$CC_CFLAGS" = ""; then CC_CFLAGS="-Wall"; fi
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
case $host in
|
||||
*mingw* | *cygw* | *win32* | *w32* )
|
||||
if pwd -W 2&> /dev/null; then
|
||||
|
@ -5689,11 +5688,13 @@ else
|
|||
fi
|
||||
|
||||
|
||||
|
||||
case $target in
|
||||
*android*)
|
||||
printf "%s\n" "#define PJ_ANDROID 1" >>confdefs.h
|
||||
|
||||
ac_target_arch=$TARGET_ABI
|
||||
ac_std_cpp_lib=$STD_CPP_LIB
|
||||
;;
|
||||
*mingw* | *cygw* | *win32* | *w32* )
|
||||
printf "%s\n" "#define PJ_WIN32 1" >>confdefs.h
|
||||
|
|
|
@ -67,8 +67,6 @@ AC_SUBST(CC_OPTIMIZE)
|
|||
if test "$CC_CFLAGS" = ""; then CC_CFLAGS="-Wall"; fi
|
||||
AC_SUBST(CC_CFLAGS)
|
||||
|
||||
|
||||
|
||||
AC_SUBST(ac_pjdir)
|
||||
AC_SUBST(ac_build_mak_vars)
|
||||
AC_SUBST(ac_cflags)
|
||||
|
@ -155,10 +153,12 @@ dnl
|
|||
dnl Legacy macros
|
||||
dnl
|
||||
AC_SUBST(ac_target_arch)
|
||||
AC_SUBST(ac_std_cpp_lib)
|
||||
case $target in
|
||||
*android*)
|
||||
AC_DEFINE(PJ_ANDROID,1)
|
||||
ac_target_arch=$TARGET_ABI
|
||||
ac_std_cpp_lib=$STD_CPP_LIB
|
||||
;;
|
||||
*mingw* | *cygw* | *win32* | *w32* )
|
||||
AC_DEFINE(PJ_WIN32,1)
|
||||
|
|
|
@ -8,6 +8,7 @@ export OS_NAME := auto
|
|||
export HOST_NAME := unix
|
||||
export CC_NAME := gcc
|
||||
export TARGET_ARCH := @ac_target_arch@
|
||||
export STD_CPP_LIB := @ac_std_cpp_lib@
|
||||
export TARGET_NAME := @target@
|
||||
export CROSS_COMPILE := @ac_cross_compile@
|
||||
export LINUX_POLL := @ac_linux_poll@
|
||||
|
|
|
@ -219,6 +219,12 @@ if test "$1" = "--use-ndk-cflags" || [ "${NDK_VER}" -ge "17" ]; then
|
|||
#echo "--- found RANLIB=${NDK_RANLIB}"
|
||||
#fi
|
||||
fi
|
||||
# Get STD C++ lib path
|
||||
if test "x${STD_CPP_LIB}" = "x"; then
|
||||
if test "x`echo $i | grep '/libc++_shared.so'`" != "x"; then
|
||||
STD_CPP_LIB=$i
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Get target host from NDK toolchain dir name
|
||||
|
@ -326,7 +332,8 @@ if test "${IS_USING_LLVM}" = "1"; then
|
|||
STDCPP_TC="${ANDROID_NDK_ROOT}/sources/cxx-stl/llvm-libc++"
|
||||
#STDCPP_CFLAGS="-I${STDCPP_TC}/include"
|
||||
#STDCPP_LIBS="-lc++_static -lc++abi"
|
||||
STDCPP_LIBS="${STDCPP_TC}/libs/${TARGET_ABI}/libc++_shared.so"
|
||||
#STDCPP_LIBS="${STDCPP_TC}/libs/${TARGET_ABI}/libc++_shared.so"
|
||||
STDCPP_LIBS="${STD_CPP_LIB}"
|
||||
#STDCPP_LDFLAGS="-L${STDCPP_TC}/libs/${TARGET_ABI}/"
|
||||
else
|
||||
# gnustl
|
||||
|
@ -346,6 +353,7 @@ export LIBS="${LIBS} ${STDCPP_LIBS}"
|
|||
export LDFLAGS="${LDFLAGS} ${STDCPP_LDFLAGS}"
|
||||
export CPPFLAGS="${CPPFLAGS}"
|
||||
export CXXFLAGS="${CXXFLAGS} ${STDCPP_CFLAGS}"
|
||||
export STD_CPP_LIB="${STD_CPP_LIB}"
|
||||
|
||||
# Print settings
|
||||
if test "1" = "1"; then
|
||||
|
@ -355,6 +363,7 @@ if test "1" = "1"; then
|
|||
echo " CXX = ${CXX}"
|
||||
echo " CFLAGS = ${CFLAGS}"
|
||||
echo " CXXFLAGS = ${CXXFLAGS}"
|
||||
echo " STD_CPP_LIB = ${STD_CPP_LIB}"
|
||||
echo " LDFLAGS = ${LDFLAGS}"
|
||||
echo " LIBS = ${LIBS}"
|
||||
echo " AR = ${AR}"
|
||||
|
|
|
@ -50,7 +50,7 @@ ifeq ($(OS),android)
|
|||
$(PJ_CXX) -shared -o $(LIBPJSUA2) $(OUT_DIR)/pjsua2_wrap.o \
|
||||
$(MY_CFLAGS) $(MY_LDFLAGS)
|
||||
# copy libc++_shared.so manually
|
||||
cp -f ${ANDROID_NDK_ROOT}/sources/cxx-stl/llvm-libc++/libs/${TARGET_ARCH}/libc++_shared.so $(LIBPJSUA2_DIR)
|
||||
cp -f ${STD_CPP_LIB} $(LIBPJSUA2_DIR)
|
||||
else
|
||||
$(AR) $(LIBPJSUA2) $(AR_FLAGS) $(OUT_DIR)/pjsua2_wrap.o $(PJ_LIBXX_FILES)
|
||||
endif
|
||||
|
|
|
@ -173,7 +173,7 @@ $(LIBPJSUA2_SO): $(OUT_DIR)/pjsua2_wrap.o
|
|||
ifeq ($(OS),android)
|
||||
mkdir -p android/pjsua2/src/main/jniLibs/$(TARGET_ARCH)
|
||||
# copy libc++_shared.so manually
|
||||
cp -f ${ANDROID_NDK_ROOT}/sources/cxx-stl/llvm-libc++/libs/${TARGET_ARCH}/libc++_shared.so android/pjsua2/src/main/jniLibs/$(TARGET_ARCH)
|
||||
cp -f ${STD_CPP_LIB} android/pjsua2/src/main/jniLibs/$(TARGET_ARCH)
|
||||
endif
|
||||
$(PJ_CXX) -shared -o $(LIBPJSUA2_SO) $(OUT_DIR)/pjsua2_wrap.o \
|
||||
$(MY_LDFLAGS)
|
||||
|
|
Loading…
Reference in New Issue