Skip to content

Commit

Permalink
bug 1172632 - Move some allocator related configure checks in a commo…
Browse files Browse the repository at this point in the history
…n location for both top-level and js/src to use. r=mshal
  • Loading branch information
glandium committed Jun 10, 2015
1 parent 54f37af commit 3bbc7c4
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 56 deletions.
1 change: 1 addition & 0 deletions aclocal.m4
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ builtin(include, build/autoconf/winsdk.m4)dnl
builtin(include, build/autoconf/icu.m4)dnl
builtin(include, build/autoconf/ffi.m4)dnl
builtin(include, build/autoconf/clang-plugin.m4)dnl
builtin(include, build/autoconf/alloc.m4)dnl

MOZ_PROG_CHECKMSYS()

Expand Down
53 changes: 53 additions & 0 deletions build/autoconf/alloc.m4
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
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/.

dnl Check for the existence of various allocation headers/functions
AC_DEFUN([MOZ_CHECK_ALLOCATOR],[
MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
MALLOC_H=
for file in $MALLOC_HEADERS; do
MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
if test "$MALLOC_H" != ""; then
AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
break
fi
done
MOZ_CHECK_HEADERS(alloca.h)
AC_CHECK_FUNCS(strndup posix_memalign memalign)
AC_CHECK_FUNCS(malloc_usable_size)
MALLOC_USABLE_SIZE_CONST_PTR=const
MOZ_CHECK_HEADERS([malloc.h], [
AC_MSG_CHECKING([whether malloc_usable_size definition can use const argument])
AC_TRY_COMPILE([#include <malloc.h>
#include <stddef.h>
size_t malloc_usable_size(const void *ptr);],
[return malloc_usable_size(0);],
AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no])
MALLOC_USABLE_SIZE_CONST_PTR=)
])
AC_DEFINE_UNQUOTED([MALLOC_USABLE_SIZE_CONST_PTR],[$MALLOC_USABLE_SIZE_CONST_PTR])
dnl In newer bionic headers, valloc is built but not defined,
dnl so we check more carefully here.
AC_MSG_CHECKING([for valloc in malloc.h])
AC_EGREP_HEADER(valloc, malloc.h,
AC_DEFINE(HAVE_VALLOC)
AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no]))
AC_MSG_CHECKING([for valloc in unistd.h])
AC_EGREP_HEADER(valloc, unistd.h,
AC_DEFINE(HAVE_VALLOC)
AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no]))
])
46 changes: 1 addition & 45 deletions configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -3399,51 +3399,7 @@ if test -n "$MOZ_LINKER" -a "$OS_TARGET" = "Android"; then
fi
fi

dnl Check for the existence of various allocation headers/functions

MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
MALLOC_H=

for file in $MALLOC_HEADERS; do
MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
if test "$MALLOC_H" != ""; then
AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
break
fi
done

MOZ_CHECK_HEADERS(alloca.h)

AC_CHECK_FUNCS(strndup posix_memalign memalign)

AC_CHECK_FUNCS(malloc_usable_size)
MALLOC_USABLE_SIZE_CONST_PTR=const
MOZ_CHECK_HEADERS([malloc.h], [
AC_MSG_CHECKING([whether malloc_usable_size definition can use const argument])
AC_TRY_COMPILE([#include <malloc.h>
#include <stddef.h>
size_t malloc_usable_size(const void *ptr);],
[return malloc_usable_size(0);],
AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no])
MALLOC_USABLE_SIZE_CONST_PTR=)
])
AC_DEFINE_UNQUOTED([MALLOC_USABLE_SIZE_CONST_PTR],[$MALLOC_USABLE_SIZE_CONST_PTR])


dnl In newer bionic headers, valloc is built but not defined,
dnl so we check more carefully here.
AC_MSG_CHECKING([for valloc in malloc.h])
AC_EGREP_HEADER(valloc, malloc.h,
AC_DEFINE(HAVE_VALLOC)
AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no]))

AC_MSG_CHECKING([for valloc in unistd.h])
AC_EGREP_HEADER(valloc, unistd.h,
AC_DEFINE(HAVE_VALLOC)
AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no]))
MOZ_CHECK_ALLOCATOR

dnl See if compiler supports some gcc-style attributes

Expand Down
1 change: 1 addition & 0 deletions js/src/aclocal.m4
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ builtin(include, ../../build/autoconf/winsdk.m4)dnl
builtin(include, ../../build/autoconf/icu.m4)dnl
builtin(include, ../../build/autoconf/ffi.m4)dnl
builtin(include, ../../build/autoconf/clang-plugin.m4)dnl
builtin(include, ../../build/autoconf/alloc.m4)dnl

define([__MOZ_AC_INIT_PREPARE], defn([AC_INIT_PREPARE]))
define([AC_INIT_PREPARE],
Expand Down
13 changes: 2 additions & 11 deletions js/src/configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -3847,18 +3847,9 @@ dnl ========================================================
dnl JavaScript shell
dnl ========================================================

MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
MALLOC_H=

for file in $MALLOC_HEADERS; do
MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
if test "$MALLOC_H" != ""; then
AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
break
fi
done
MOZ_CHECK_ALLOCATOR

AC_CHECK_FUNCS(setlocale localeconv malloc_size malloc_usable_size)
AC_CHECK_FUNCS(setlocale localeconv)

AC_SUBST(MOZILLA_VERSION)

Expand Down

0 comments on commit 3bbc7c4

Please sign in to comment.