فهرست منبع

add malloc implementation selection to configure

the intent here is to keep oldmalloc as an option, at least for the
short term, in case any users are negatively impacted in some way by
mallocng and need to fallback until their issues are resolved.
Rich Felker 4 سال پیش
والد
کامیت
e71188fa05
1فایلهای تغییر یافته به همراه12 افزوده شده و 0 حذف شده
  1. 12 0
      configure

+ 12 - 0
configure

@@ -35,6 +35,9 @@ Optional features:
   --disable-shared        inhibit building shared library [enabled]
   --disable-shared        inhibit building shared library [enabled]
   --disable-static        inhibit building static library [enabled]
   --disable-static        inhibit building static library [enabled]
 
 
+Optional packages:
+  --with-malloc=...       choose malloc implementation [oldmalloc]
+
 Some influential environment variables:
 Some influential environment variables:
   CC                      C compiler command [detected]
   CC                      C compiler command [detected]
   CFLAGS                  C compiler flags [-Os -pipe ...]
   CFLAGS                  C compiler flags [-Os -pipe ...]
@@ -139,6 +142,7 @@ static=yes
 wrapper=auto
 wrapper=auto
 gcc_wrapper=no
 gcc_wrapper=no
 clang_wrapper=no
 clang_wrapper=no
+malloc_dir=oldmalloc
 
 
 for arg ; do
 for arg ; do
 case "$arg" in
 case "$arg" in
@@ -168,6 +172,7 @@ case "$arg" in
 --disable-wrapper|--enable-wrapper=no) wrapper=no ;;
 --disable-wrapper|--enable-wrapper=no) wrapper=no ;;
 --enable-gcc-wrapper|--enable-gcc-wrapper=yes) wrapper=yes ; gcc_wrapper=yes ;;
 --enable-gcc-wrapper|--enable-gcc-wrapper=yes) wrapper=yes ; gcc_wrapper=yes ;;
 --disable-gcc-wrapper|--enable-gcc-wrapper=no) wrapper=no ;;
 --disable-gcc-wrapper|--enable-gcc-wrapper=no) wrapper=no ;;
+--with-malloc=*) malloc_dir=${arg#*=} ;;
 --enable-*|--disable-*|--with-*|--without-*|--*dir=*) ;;
 --enable-*|--disable-*|--with-*|--without-*|--*dir=*) ;;
 --host=*|--target=*) target=${arg#*=} ;;
 --host=*|--target=*) target=${arg#*=} ;;
 --build=*) build=${arg#*=} ;;
 --build=*) build=${arg#*=} ;;
@@ -214,6 +219,12 @@ done
 set +C
 set +C
 trap 'rm "$tmpc"' EXIT INT QUIT TERM HUP
 trap 'rm "$tmpc"' EXIT INT QUIT TERM HUP
 
 
+#
+# Check that the requested malloc implementation exists
+#
+test -d "$srcdir/src/malloc/$malloc_dir" \
+|| fail "$0: error: chosen malloc implementation '$malloc_dir' does not exist"
+
 #
 #
 # Check whether we are cross-compiling, and set a default
 # Check whether we are cross-compiling, and set a default
 # CROSS_COMPILE prefix if none was provided.
 # CROSS_COMPILE prefix if none was provided.
@@ -779,6 +790,7 @@ OPTIMIZE_GLOBS = $OPTIMIZE_GLOBS
 ALL_TOOLS = $tools
 ALL_TOOLS = $tools
 TOOL_LIBS = $tool_libs
 TOOL_LIBS = $tool_libs
 ADD_CFI = $ADD_CFI
 ADD_CFI = $ADD_CFI
+MALLOC_DIR = $malloc_dir
 EOF
 EOF
 test "x$static" = xno && echo "STATIC_LIBS ="
 test "x$static" = xno && echo "STATIC_LIBS ="
 test "x$shared" = xno && echo "SHARED_LIBS ="
 test "x$shared" = xno && echo "SHARED_LIBS ="