Backed out changeset a4914a29fb26 (bug 1330142)

This commit is contained in:
Sebastian Hengst 2017-10-03 18:26:38 +02:00
parent 7ae1b94b0c
commit 6692d1c565
3 changed files with 68 additions and 20 deletions

View File

@ -647,6 +647,7 @@ case "$target" in
WIN32_CONSOLE_EXE_LDFLAGS=-mconsole
WIN32_GUI_EXE_LDFLAGS=-mwindows
else
TARGET_COMPILER_ABI=msvc
HOST_CC='$(CC)'
HOST_CXX='$(CXX)'
if test "$AS_BIN"; then
@ -1234,6 +1235,32 @@ dnl Put your C++ language/feature checks below
dnl ========================================================
AC_LANG_CPLUSPLUS
ARM_ABI_PREFIX=
if test "$GNU_CC"; then
if test "$CPU_ARCH" = "arm" ; then
AC_CACHE_CHECK(for ARM EABI,
ac_cv_gcc_arm_eabi,
[AC_TRY_COMPILE([],
[
#if defined(__ARM_EABI__)
return 0;
#else
#error Not ARM EABI.
#endif
],
ac_cv_gcc_arm_eabi="yes",
ac_cv_gcc_arm_eabi="no")])
if test "$ac_cv_gcc_arm_eabi" = "yes"; then
HAVE_ARM_EABI=1
ARM_ABI_PREFIX=eabi-
else
ARM_ABI_PREFIX=oabi-
fi
fi
TARGET_COMPILER_ABI="${TARGET_COMPILER_ABI-${ARM_ABI_PREFIX}gcc3}"
fi
dnl See if a dynamic_cast to void* gives the most derived object.
AC_CACHE_CHECK(for C++ dynamic_cast to void*,
ac_cv_cpp_dynamic_cast_void_ptr,
@ -1312,6 +1339,11 @@ fi
AC_HAVE_FUNCS(localeconv)
fi # ! SKIP_COMPILER_CHECKS
TARGET_XPCOM_ABI=
if test -n "${CPU_ARCH}" -a -n "${TARGET_COMPILER_ABI}"; then
TARGET_XPCOM_ABI="${CPU_ARCH}-${TARGET_COMPILER_ABI}"
fi
dnl We can't run TRY_COMPILE tests on Windows, so hard-code some
dnl features that Windows actually does support.
@ -2001,6 +2033,8 @@ AC_SUBST(HOST_AR_FLAGS)
AC_SUBST(HOST_RANLIB)
AC_SUBST(HOST_BIN_SUFFIX)
AC_SUBST(TARGET_XPCOM_ABI)
AC_SUBST(WRAP_LDFLAGS)
AC_SUBST(MKSHLIB)
AC_SUBST(MKCSHLIB)

View File

@ -879,6 +879,7 @@ case "$target" in
# function thunks need to be generated for cross-DLL calls.
MOZ_FOLD_LIBS_FLAGS="-mnop-fun-dllimport"
else
TARGET_COMPILER_ABI=msvc
if test "$AS_BIN"; then
AS="$(basename "$AS_BIN")"
fi
@ -1646,6 +1647,32 @@ dnl Put your C++ language/feature checks below
dnl ========================================================
AC_LANG_CPLUSPLUS
ARM_ABI_PREFIX=
if test "$GNU_CC"; then
if test "$CPU_ARCH" = "arm" ; then
AC_CACHE_CHECK(for ARM EABI,
ac_cv_gcc_arm_eabi,
[AC_TRY_COMPILE([],
[
#if defined(__ARM_EABI__)
return 0;
#else
#error Not ARM EABI.
#endif
],
ac_cv_gcc_arm_eabi="yes",
ac_cv_gcc_arm_eabi="no")])
if test "$ac_cv_gcc_arm_eabi" = "yes"; then
HAVE_ARM_EABI=1
ARM_ABI_PREFIX=eabi-
else
ARM_ABI_PREFIX=oabi-
fi
fi
TARGET_COMPILER_ABI="${TARGET_COMPILER_ABI-${ARM_ABI_PREFIX}gcc3}"
fi
dnl See if a dynamic_cast to void* gives the most derived object.
AC_CACHE_CHECK(for C++ dynamic_cast to void*,
ac_cv_cpp_dynamic_cast_void_ptr,
@ -1789,6 +1816,12 @@ if test -n "${COMPILE_ENVIRONMENT}"; then
MOZ_CHECK_ALLOCATOR
fi
TARGET_XPCOM_ABI=
if test -n "${CPU_ARCH}" -a -n "${TARGET_COMPILER_ABI}"; then
TARGET_XPCOM_ABI="${CPU_ARCH}-${TARGET_COMPILER_ABI}"
AC_DEFINE_UNQUOTED(TARGET_XPCOM_ABI, ["${TARGET_XPCOM_ABI}"])
fi
dnl We can't run TRY_COMPILE tests on Windows, so hard-code some
dnl features that Windows actually does support.
@ -4806,6 +4839,7 @@ AC_SUBST(HOST_AR_FLAGS)
AC_SUBST(HOST_RANLIB)
AC_SUBST(HOST_BIN_SUFFIX)
AC_SUBST(TARGET_XPCOM_ABI)
AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSSE3)
AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSE4_1)
AC_SUBST(HAVE_X86_AVX2)

View File

@ -1226,23 +1226,3 @@ def enable_asan_reporter(value):
set_config('MOZ_ASAN_REPORTER', enable_asan_reporter)
set_define('MOZ_ASAN_REPORTER', enable_asan_reporter)
@depends(target, c_compiler)
def xpcom_abi(target, c_compiler):
if not c_compiler:
return ''
if c_compiler.type in ('msvc', 'clang-cl'):
assert target.kernel == 'WINNT'
return '%s-msvc' % target.cpu
assert c_compiler.type in ('gcc', 'clang')
# Everything else uses the gcc ABI.
return '%s-gcc3' % ('arm-eabi' if target.cpu == 'arm' else target.cpu,)
@depends(xpcom_abi)
def xpcom_abi_quoted(abi):
return '"%s"' % abi
set_config('TARGET_XPCOM_ABI', xpcom_abi)
set_define('TARGET_XPCOM_ABI', xpcom_abi_quoted)