diff options
Diffstat (limited to 'build/autoconf')
-rw-r--r-- | build/autoconf/compiler-opts.m4 | 17 | ||||
-rw-r--r-- | build/autoconf/icu.m4 | 38 | ||||
-rw-r--r-- | build/autoconf/jemalloc.m4 | 114 |
3 files changed, 9 insertions, 160 deletions
diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4 index 57a974435..82d0b43fc 100644 --- a/build/autoconf/compiler-opts.m4 +++ b/build/autoconf/compiler-opts.m4 @@ -176,23 +176,20 @@ if test "$GNU_CC"; then CFLAGS="$CFLAGS -ffunction-sections -fdata-sections" CXXFLAGS="$CXXFLAGS -ffunction-sections -fdata-sections" fi - CFLAGS="$CFLAGS -fno-math-errno" - CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno" + CFLAGS="$CFLAGS -fno-math-errno -msse2 -mfpmath=sse" + CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno -msse2 -mfpmath=sse" if test -z "$CLANG_CC"; then case "$CC_VERSION" in - 4.*) + 4.* | 5.*) ;; *) # Lifetime Dead Store Elimination level 2 (default in GCC6+) breaks Gecko. - # Ideally, we'd use -flifetime-dse=1, but that means we'd forcefully - # enable it on optimization levels where it would otherwise not be enabled. - # So we disable it entirely. But since that would mean inconsistency with - # GCC5, which has level 1 depending on optimization level, disable it on - # GCC5 as well, because better safe than sorry. + # Instead of completely disabling this optimization on newer GCC's, + # we'll force them to use level 1 optimization with -flifetime-dse=1. # Add it first so that a mozconfig can override by setting CFLAGS/CXXFLAGS. - CFLAGS="-fno-lifetime-dse $CFLAGS" - CXXFLAGS="-fno-lifetime-dse $CXXFLAGS" + CFLAGS="-flifetime-dse=1 $CFLAGS" + CXXFLAGS="-flifetime-dse=1 $CXXFLAGS" ;; esac fi diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4 index 794ddcdf4..89c53c52c 100644 --- a/build/autoconf/icu.m4 +++ b/build/autoconf/icu.m4 @@ -22,42 +22,8 @@ fi AC_SUBST(MOZ_SYSTEM_ICU) -MOZ_ARG_WITH_STRING(intl-api, -[ --with-intl-api, --with-intl-api=build, --without-intl-api - Determine the status of the ECMAScript Internationalization API. The first - (or lack of any of these) builds and exposes the API. The second builds it - but doesn't use ICU or expose the API to script. The third doesn't build - ICU at all.], - _INTL_API=$withval) - -ENABLE_INTL_API= -EXPOSE_INTL_API= -case "$_INTL_API" in -no) - ;; -build) - ENABLE_INTL_API=1 - ;; -yes) - ENABLE_INTL_API=1 - EXPOSE_INTL_API=1 - ;; -*) - AC_MSG_ERROR([Invalid value passed to --with-intl-api: $_INTL_API]) - ;; -esac - -if test -n "$ENABLE_INTL_API"; then - USE_ICU=1 -fi - -if test -n "$EXPOSE_INTL_API"; then - AC_DEFINE(EXPOSE_INTL_API) -fi - -if test -n "$ENABLE_INTL_API"; then - AC_DEFINE(ENABLE_INTL_API) -fi +dnl We always use ICU. +USE_ICU=1 dnl Settings for the implementation of the ECMAScript Internationalization API if test -n "$USE_ICU"; then diff --git a/build/autoconf/jemalloc.m4 b/build/autoconf/jemalloc.m4 deleted file mode 100644 index 3b9c603f7..000000000 --- a/build/autoconf/jemalloc.m4 +++ /dev/null @@ -1,114 +0,0 @@ -dnl This Source Code Form is subject to the terms of the Mozilla Public -dnl License, v. 2.0. If a copy of the MPL was not distributed with this -dnl file, You can obtain one at http://mozilla.org/MPL/2.0/. - -AC_DEFUN([MOZ_SUBCONFIGURE_JEMALLOC], [ - -if test "$MOZ_BUILD_APP" != js -o -n "$JS_STANDALONE"; then - - # Run jemalloc configure script - - if test -z "$MOZ_SYSTEM_JEMALLOC" -a "$MOZ_MEMORY" && test -n "$MOZ_JEMALLOC4" -o -n "$MOZ_REPLACE_MALLOC"; then - ac_configure_args="--build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_ --disable-valgrind" - # We're using memalign for _aligned_malloc in memory/build/mozmemory_wrap.c - # on Windows, so just export memalign on all platforms. - ac_configure_args="$ac_configure_args ac_cv_func_memalign=yes" - if test -n "$MOZ_REPLACE_MALLOC"; then - # When using replace_malloc, we always want valloc exported from jemalloc. - ac_configure_args="$ac_configure_args ac_cv_func_valloc=yes" - if test "${OS_ARCH}" = Darwin; then - # We also need to enable pointer validation on Mac because jemalloc's - # zone allocator is not used. - ac_configure_args="$ac_configure_args --enable-ivsalloc" - fi - fi - if test -n "$MOZ_JEMALLOC4"; then - case "${OS_ARCH}" in - WINNT|Darwin) - # We want jemalloc functions to be kept hidden on both Mac and Windows - # See memory/build/mozmemory_wrap.h for details. - ac_configure_args="$ac_configure_args --without-export" - ;; - esac - if test "${OS_ARCH}" = WINNT; then - # Lazy lock initialization doesn't play well with lazy linking of - # mozglue.dll on Windows XP (leads to startup crash), so disable it. - ac_configure_args="$ac_configure_args --disable-lazy-lock" - - # 64-bit Windows builds require a minimum 16-byte alignment. - if test -n "$HAVE_64BIT_BUILD"; then - ac_configure_args="$ac_configure_args --with-lg-tiny-min=4" - fi - fi - elif test "${OS_ARCH}" = Darwin; then - # When building as a replace-malloc lib, disabling the zone allocator - # forces to use pthread_atfork. - ac_configure_args="$ac_configure_args --disable-zone-allocator" - fi - _MANGLE="malloc posix_memalign aligned_alloc calloc realloc free memalign valloc malloc_usable_size" - JEMALLOC_WRAPPER= - if test -z "$MOZ_REPLACE_MALLOC"; then - case "$OS_ARCH" in - Linux|DragonFly|FreeBSD|NetBSD|OpenBSD) - MANGLE=$_MANGLE - ;; - esac - elif test -z "$MOZ_JEMALLOC4"; then - MANGLE=$_MANGLE - JEMALLOC_WRAPPER=replace_ - fi - if test -n "$MANGLE"; then - MANGLED= - for mangle in ${MANGLE}; do - if test -n "$MANGLED"; then - MANGLED="$mangle:$JEMALLOC_WRAPPER$mangle,$MANGLED" - else - MANGLED="$mangle:$JEMALLOC_WRAPPER$mangle" - fi - done - ac_configure_args="$ac_configure_args --with-mangling=$MANGLED" - fi - unset CONFIG_FILES - if test -z "$MOZ_TLS"; then - ac_configure_args="$ac_configure_args --disable-tls" - fi - EXTRA_CFLAGS="$CFLAGS" - for var in AS CC CXX CPP LD AR RANLIB STRIP CPPFLAGS EXTRA_CFLAGS LDFLAGS; do - ac_configure_args="$ac_configure_args $var='`eval echo \\${${var}}`'" - done - - # jemalloc's configure assumes that if you have CFLAGS set at all, you set - # all the flags necessary to configure jemalloc, which is not likely to be - # the case on Windows if someone is building Firefox with flags set in - # their mozconfig. - if test "$_MSC_VER"; then - ac_configure_args="$ac_configure_args CFLAGS=" - fi - - # Force disable DSS support in jemalloc. - ac_configure_args="$ac_configure_args ac_cv_func_sbrk=false" - - # Make Linux builds munmap freed chunks instead of recycling them. - ac_configure_args="$ac_configure_args --enable-munmap" - - # Disable cache oblivious behavior that appears to have a performance - # impact on Firefox. - ac_configure_args="$ac_configure_args --disable-cache-oblivious" - - if ! test -e memory/jemalloc; then - mkdir -p memory/jemalloc - fi - - # jemalloc's configure runs git to determine the version. But when building - # from a gecko git clone, the git commands it uses is going to pick gecko's - # information, not jemalloc's, which is useless. So pretend we don't have git - # at all. That will make jemalloc's configure pick the in-tree VERSION file. - (PATH="$srcdir/memory/jemalloc/helper:$PATH"; - AC_OUTPUT_SUBDIRS(memory/jemalloc/src) - ) || exit 1 - ac_configure_args="$_SUBDIR_CONFIG_ARGS" - fi - -fi - -]) |