mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 22:01:30 +00:00
341 lines
9.5 KiB
Diff
341 lines
9.5 KiB
Diff
diff --git a/configure b/configure
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -1905,83 +1905,16 @@ fi
|
|
# interfere with the next link command; also delete a directory that is
|
|
# left behind by Apple's compiler. We do this before executing the actions.
|
|
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
|
|
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
|
as_fn_set_status $ac_retval
|
|
|
|
} # ac_fn_c_try_link
|
|
|
|
-# ac_fn_c_check_func LINENO FUNC VAR
|
|
-# ----------------------------------
|
|
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
|
|
-ac_fn_c_check_func ()
|
|
-{
|
|
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
|
-$as_echo_n "checking for $2... " >&6; }
|
|
-if eval \${$3+:} false; then :
|
|
- $as_echo_n "(cached) " >&6
|
|
-else
|
|
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
-/* end confdefs.h. */
|
|
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
|
|
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
|
|
-#define $2 innocuous_$2
|
|
-
|
|
-/* System header to define __stub macros and hopefully few prototypes,
|
|
- which can conflict with char $2 (); below.
|
|
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|
|
- <limits.h> exists even on freestanding compilers. */
|
|
-
|
|
-#ifdef __STDC__
|
|
-# include <limits.h>
|
|
-#else
|
|
-# include <assert.h>
|
|
-#endif
|
|
-
|
|
-#undef $2
|
|
-
|
|
-/* Override any GCC internal prototype to avoid an error.
|
|
- Use char because int might match the return type of a GCC
|
|
- builtin and then its argument prototype would still apply. */
|
|
-#ifdef __cplusplus
|
|
-extern "C"
|
|
-#endif
|
|
-char $2 ();
|
|
-/* The GNU C library defines this for functions which it implements
|
|
- to always fail with ENOSYS. Some functions are actually named
|
|
- something starting with __ and the normal name is an alias. */
|
|
-#if defined __stub_$2 || defined __stub___$2
|
|
-choke me
|
|
-#endif
|
|
-
|
|
-int
|
|
-main ()
|
|
-{
|
|
-return $2 ();
|
|
- ;
|
|
- return 0;
|
|
-}
|
|
-_ACEOF
|
|
-if ac_fn_c_try_link "$LINENO"; then :
|
|
- eval "$3=yes"
|
|
-else
|
|
- eval "$3=no"
|
|
-fi
|
|
-rm -f core conftest.err conftest.$ac_objext \
|
|
- conftest$ac_exeext conftest.$ac_ext
|
|
-fi
|
|
-eval ac_res=\$$3
|
|
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
|
-$as_echo "$ac_res" >&6; }
|
|
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
|
-
|
|
-} # ac_fn_c_check_func
|
|
-
|
|
# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
|
|
# -------------------------------------------------------
|
|
# Tests whether HEADER exists, giving a warning if it cannot be compiled using
|
|
# the include files in INCLUDES and setting the cache variable VAR
|
|
# accordingly.
|
|
ac_fn_c_check_header_mongrel ()
|
|
{
|
|
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
@@ -2059,16 +1992,83 @@ fi
|
|
eval ac_res=\$$3
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
|
$as_echo "$ac_res" >&6; }
|
|
fi
|
|
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
|
|
|
} # ac_fn_c_check_header_mongrel
|
|
|
|
+# ac_fn_c_check_func LINENO FUNC VAR
|
|
+# ----------------------------------
|
|
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
|
|
+ac_fn_c_check_func ()
|
|
+{
|
|
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
|
+$as_echo_n "checking for $2... " >&6; }
|
|
+if eval \${$3+:} false; then :
|
|
+ $as_echo_n "(cached) " >&6
|
|
+else
|
|
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
+/* end confdefs.h. */
|
|
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
|
|
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
|
|
+#define $2 innocuous_$2
|
|
+
|
|
+/* System header to define __stub macros and hopefully few prototypes,
|
|
+ which can conflict with char $2 (); below.
|
|
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|
|
+ <limits.h> exists even on freestanding compilers. */
|
|
+
|
|
+#ifdef __STDC__
|
|
+# include <limits.h>
|
|
+#else
|
|
+# include <assert.h>
|
|
+#endif
|
|
+
|
|
+#undef $2
|
|
+
|
|
+/* Override any GCC internal prototype to avoid an error.
|
|
+ Use char because int might match the return type of a GCC
|
|
+ builtin and then its argument prototype would still apply. */
|
|
+#ifdef __cplusplus
|
|
+extern "C"
|
|
+#endif
|
|
+char $2 ();
|
|
+/* The GNU C library defines this for functions which it implements
|
|
+ to always fail with ENOSYS. Some functions are actually named
|
|
+ something starting with __ and the normal name is an alias. */
|
|
+#if defined __stub_$2 || defined __stub___$2
|
|
+choke me
|
|
+#endif
|
|
+
|
|
+int
|
|
+main ()
|
|
+{
|
|
+return $2 ();
|
|
+ ;
|
|
+ return 0;
|
|
+}
|
|
+_ACEOF
|
|
+if ac_fn_c_try_link "$LINENO"; then :
|
|
+ eval "$3=yes"
|
|
+else
|
|
+ eval "$3=no"
|
|
+fi
|
|
+rm -f core conftest.err conftest.$ac_objext \
|
|
+ conftest$ac_exeext conftest.$ac_ext
|
|
+fi
|
|
+eval ac_res=\$$3
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
|
|
+$as_echo "$ac_res" >&6; }
|
|
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
|
|
+
|
|
+} # ac_fn_c_check_func
|
|
+
|
|
# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
|
|
# -------------------------------------------
|
|
# Tests whether TYPE exists after having included INCLUDES, setting cache
|
|
# variable VAR accordingly.
|
|
ac_fn_c_check_type ()
|
|
{
|
|
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
|
|
@@ -4817,17 +4817,16 @@ esac
|
|
AR=$ac_ct_AR
|
|
fi
|
|
else
|
|
AR="$ac_cv_prog_AR"
|
|
fi
|
|
|
|
|
|
default_munmap="1"
|
|
-JEMALLOC_USABLE_SIZE_CONST="const"
|
|
case "${host}" in
|
|
*-*-darwin*)
|
|
CFLAGS="$CFLAGS"
|
|
abi="macho"
|
|
$as_echo "#define JEMALLOC_PURGE_MADVISE_FREE " >>confdefs.h
|
|
|
|
RPATH=""
|
|
LD_PRELOAD_VAR="DYLD_INSERT_LIBRARIES"
|
|
@@ -4850,17 +4849,16 @@ case "${host}" in
|
|
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
|
|
abi="elf"
|
|
$as_echo "#define JEMALLOC_HAS_ALLOCA_H 1" >>confdefs.h
|
|
|
|
$as_echo "#define JEMALLOC_PURGE_MADVISE_DONTNEED " >>confdefs.h
|
|
|
|
$as_echo "#define JEMALLOC_THREADED_INIT " >>confdefs.h
|
|
|
|
- JEMALLOC_USABLE_SIZE_CONST=""
|
|
default_munmap="0"
|
|
;;
|
|
*-*-netbsd*)
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking ABI" >&5
|
|
$as_echo_n "checking ABI... " >&6; }
|
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
/* end confdefs.h. */
|
|
#ifdef __ELF__
|
|
@@ -4930,16 +4928,60 @@ rm -f core conftest.err conftest.$ac_obj
|
|
PIC_CFLAGS=""
|
|
;;
|
|
*)
|
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Unsupported operating system: ${host}" >&5
|
|
$as_echo "Unsupported operating system: ${host}" >&6; }
|
|
abi="elf"
|
|
;;
|
|
esac
|
|
+
|
|
+JEMALLOC_USABLE_SIZE_CONST=const
|
|
+for ac_header in malloc.h
|
|
+do :
|
|
+ ac_fn_c_check_header_mongrel "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default"
|
|
+if test "x$ac_cv_header_malloc_h" = xyes; then :
|
|
+ cat >>confdefs.h <<_ACEOF
|
|
+#define HAVE_MALLOC_H 1
|
|
+_ACEOF
|
|
+
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether malloc_usable_size definition can use const argument" >&5
|
|
+$as_echo_n "checking whether malloc_usable_size definition can use const argument... " >&6; }
|
|
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
+/* end confdefs.h. */
|
|
+#include <malloc.h>
|
|
+ #include <stddef.h>
|
|
+ size_t malloc_usable_size(const void *ptr);
|
|
+
|
|
+int
|
|
+main ()
|
|
+{
|
|
+
|
|
+ ;
|
|
+ return 0;
|
|
+}
|
|
+_ACEOF
|
|
+if ac_fn_c_try_compile "$LINENO"; then :
|
|
+
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
+$as_echo "yes" >&6; }
|
|
+
|
|
+else
|
|
+
|
|
+ JEMALLOC_USABLE_SIZE_CONST=
|
|
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
+$as_echo "no" >&6; }
|
|
+
|
|
+fi
|
|
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
+
|
|
+fi
|
|
+
|
|
+done
|
|
+
|
|
cat >>confdefs.h <<_ACEOF
|
|
#define JEMALLOC_USABLE_SIZE_CONST $JEMALLOC_USABLE_SIZE_CONST
|
|
_ACEOF
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -253,17 +253,16 @@ AC_PROG_AR
|
|
dnl Platform-specific settings. abi and RPATH can probably be determined
|
|
dnl programmatically, but doing so is error-prone, which makes it generally
|
|
dnl not worth the trouble.
|
|
dnl
|
|
dnl Define cpp macros in CPPFLAGS, rather than doing AC_DEFINE(macro), since the
|
|
dnl definitions need to be seen before any headers are included, which is a pain
|
|
dnl to make happen otherwise.
|
|
default_munmap="1"
|
|
-JEMALLOC_USABLE_SIZE_CONST="const"
|
|
case "${host}" in
|
|
*-*-darwin*)
|
|
CFLAGS="$CFLAGS"
|
|
abi="macho"
|
|
AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE], [ ])
|
|
RPATH=""
|
|
LD_PRELOAD_VAR="DYLD_INSERT_LIBRARIES"
|
|
so="dylib"
|
|
@@ -281,17 +280,16 @@ case "${host}" in
|
|
;;
|
|
*-*-linux*)
|
|
CFLAGS="$CFLAGS"
|
|
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
|
|
abi="elf"
|
|
AC_DEFINE([JEMALLOC_HAS_ALLOCA_H])
|
|
AC_DEFINE([JEMALLOC_PURGE_MADVISE_DONTNEED], [ ])
|
|
AC_DEFINE([JEMALLOC_THREADED_INIT], [ ])
|
|
- JEMALLOC_USABLE_SIZE_CONST=""
|
|
default_munmap="0"
|
|
;;
|
|
*-*-netbsd*)
|
|
AC_MSG_CHECKING([ABI])
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
|
[[#ifdef __ELF__
|
|
/* ELF */
|
|
#else
|
|
@@ -346,16 +344,32 @@ case "${host}" in
|
|
SOREV="${so}"
|
|
PIC_CFLAGS=""
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT([Unsupported operating system: ${host}])
|
|
abi="elf"
|
|
;;
|
|
esac
|
|
+
|
|
+JEMALLOC_USABLE_SIZE_CONST=const
|
|
+AC_CHECK_HEADERS([malloc.h], [
|
|
+ AC_MSG_CHECKING([whether malloc_usable_size definition can use const argument])
|
|
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
|
+ [#include <malloc.h>
|
|
+ #include <stddef.h>
|
|
+ size_t malloc_usable_size(const void *ptr);
|
|
+ ],
|
|
+ [])],[
|
|
+ AC_MSG_RESULT([yes])
|
|
+ ],[
|
|
+ JEMALLOC_USABLE_SIZE_CONST=
|
|
+ AC_MSG_RESULT([no])
|
|
+ ])
|
|
+])
|
|
AC_DEFINE_UNQUOTED([JEMALLOC_USABLE_SIZE_CONST], [$JEMALLOC_USABLE_SIZE_CONST])
|
|
AC_SUBST([abi])
|
|
AC_SUBST([RPATH])
|
|
AC_SUBST([LD_PRELOAD_VAR])
|
|
AC_SUBST([so])
|
|
AC_SUBST([importlib])
|
|
AC_SUBST([o])
|
|
AC_SUBST([a])
|