changeset 108635:e565448628b8

Set rallocobj with configure, not cpp. * configure.in (REL_ALLOC): Unset on gnu, gnu-linux if DOUG_LEA_MALLOC. (RALLOC_OBJ): New output variable. * config.bat (RALLOC_OBJ): Edit to empty if sys_malloc. * src/Makefile.in (RALLOC_OBJ): New, set by configure. (rallocobj): Replace with the previous variable. (otherobj): Use $RALLOC_OBJ. * src/s/gnu.h (REL_ALLOC) [DOUG_LEA_MALLOC]: * src/s/gnu-linux.h (REL_ALLOC) [DOUG_LEA_MALLOC]: Move undef to configure. * msdos/sed1v2.inp (RALLOC_OBJ): Edit to ralloc.o.
author Glenn Morris <rgm@gnu.org>
date Mon, 17 May 2010 19:44:07 -0700
parents fcdc7bb97c9e
children 3ba0676c49c9
files ChangeLog config.bat configure.in msdos/ChangeLog msdos/sed1v2.inp src/ChangeLog src/Makefile.in src/s/gnu-linux.h src/s/gnu.h
diffstat 9 files changed, 37 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon May 17 19:30:13 2010 -0700
+++ b/ChangeLog	Mon May 17 19:44:07 2010 -0700
@@ -1,5 +1,9 @@
 2010-05-18  Glenn Morris  <rgm@gnu.org>
 
+	* config.bat (RALLOC_OBJ): Edit to empty if sys_malloc.
+	* configure.in (REL_ALLOC): Unset on gnu, gnu-linux if DOUG_LEA_MALLOC.
+	(RALLOC_OBJ): New output variable.
+
 	* config.bat (GMALLOC_OBJ, VMLIMIT_OBJ): Edit to empty if sys_malloc.
 	* configure.in (GMALLOC_OBJ, VMLIMIT_OBJ): New output variables.
 
--- a/config.bat	Mon May 17 19:30:13 2010 -0700
+++ b/config.bat	Mon May 17 19:44:07 2010 -0700
@@ -203,8 +203,9 @@
 
 if "%sys_malloc%" == "" goto src5a
 sed -e "/^GMALLOC_OBJ *=/s/gmalloc.o//" <Makefile >makefile.tmp
-sed -e "/^VMLIMIT_OBJ *=/s/vm-limit.o//" <makefile.tmp >Makefile
-rm -f makefile.tmp
+sed -e "/^VMLIMIT_OBJ *=/s/vm-limit.o//" <makefile.tmp >makefile.tmp2
+sed -e "/^RALLOC_OBJ *=/s/ralloc.o//" <makefile.tmp2 >Makefile
+rm -f makefile.tmp makefile.tmp2
 :src5a
 
 if "%nodebug%" == "" goto src6
--- a/configure.in	Mon May 17 19:30:13 2010 -0700
+++ b/configure.in	Mon May 17 19:44:07 2010 -0700
@@ -1613,6 +1613,14 @@
   fi
   AC_DEFINE(DOUG_LEA_MALLOC, 1,
 	    [Define to 1 if you are using the GNU C Library.])
+
+  ## Use mmap directly for allocating larger buffers.
+  ## FIXME this comes from src/s/{gnu,gnu-linux}.h:
+  ## #ifdef DOUG_LEA_MALLOC; #undef REL_ALLOC; #endif
+  ## Does the AC_FUNC_MMAP test below make this check unecessary?
+  case "$opsys" in
+    gnu*) REL_ALLOC=no ;;
+  esac
 fi
 
 if test x"${REL_ALLOC}" = x; then
@@ -3198,16 +3206,21 @@
 	     (This is automatic if you use X, but the option to specify it remains.)
 	     It is also defined with other window systems that support xmenu.c.])
 fi
+
 if test "${GNU_MALLOC}" = "yes" ; then
   AC_DEFINE(GNU_MALLOC, 1,
 	    [Define to 1 if you want to use the GNU memory allocator.])
 fi
+
+RALLOC_OBJ=
 if test "${REL_ALLOC}" = "yes" ; then
   AC_DEFINE(REL_ALLOC, 1,
 	    [Define REL_ALLOC if you want to use the relocating allocator for
 	     buffer space.])
+
+  test "$system_malloc" != "yes" && RALLOC_OBJ=ralloc.o
 fi
-
+AC_SUBST(RALLOC_OBJ)
 
 if test "$opsys" = "cygwin"; then
   CYGWIN_OBJ="sheap.o"
--- a/msdos/ChangeLog	Mon May 17 19:30:13 2010 -0700
+++ b/msdos/ChangeLog	Mon May 17 19:44:07 2010 -0700
@@ -1,5 +1,7 @@
 2010-05-18  Glenn Morris  <rgm@gnu.org>
 
+	* sed1v2.inp (RALLOC_OBJ): Edit to ralloc.o.
+
 	* sed1v2.inp (GMALLOC_OBJ): Edit to gmalloc.o.
 	(VMLIMIT_OBJ): Edit to vm-limit.o.
 
--- a/msdos/sed1v2.inp	Mon May 17 19:30:13 2010 -0700
+++ b/msdos/sed1v2.inp	Mon May 17 19:44:07 2010 -0700
@@ -118,6 +118,7 @@
 /^LIBX_OTHER *=/s/@LIBX_OTHER@//
 /^GMALLOC_OBJ *=/s/@GMALLOC_OBJ@/gmalloc.o/
 /^VMLIMIT_OBJ *=/s/@VMLIMIT_OBJ@/vm-limit.o/
+/^RALLOC_OBJ *=/s/@RALLOC_OBJ@/ralloc.o/
 /^PRE_ALLOC_OBJ *=/s/@PRE_ALLOC_OBJ@/lastfile.o/
 /^POST_ALLOC_OBJ *=/s/@POST_ALLOC_OBJ@/$(vmlimitobj)/
 /^UNEXEC_OBJ *=/s/@unexec@/unexec.o/
--- a/src/ChangeLog	Mon May 17 19:30:13 2010 -0700
+++ b/src/ChangeLog	Mon May 17 19:44:07 2010 -0700
@@ -1,5 +1,12 @@
 2010-05-18  Glenn Morris  <rgm@gnu.org>
 
+	* Makefile.in (RALLOC_OBJ): New, set by configure.
+	(rallocobj): Replace with the previous variable.
+	(otherobj): Use $RALLOC_OBJ.
+
+	* s/gnu.h (REL_ALLOC) [DOUG_LEA_MALLOC]:
+	* s/gnu-linux.h (REL_ALLOC) [DOUG_LEA_MALLOC]: Move undef to configure.
+
 	* Makefile.in (GMALLOC_OBJ, VMLIMIT_OBJ): New, set by configure.
 	(gmallocobj, vmlimitobj): Replace with previous two variables.
 	(otherobj): Use $GMALLOC_OBJ, $VMLIMIT_OBJ.
--- a/src/Makefile.in	Mon May 17 19:30:13 2010 -0700
+++ b/src/Makefile.in	Mon May 17 19:44:07 2010 -0700
@@ -407,11 +407,8 @@
 /* vm-limit.o if !SYSTEM_MALLOC, else empty.  */
 VMLIMIT_OBJ=@VMLIMIT_OBJ@
 
-#if defined (REL_ALLOC) && ! defined (SYSTEM_MALLOC)
-rallocobj = ralloc.o
-#else
-rallocobj =
-#endif
+/* ralloc.o if !SYSTEM_MALLOC && REL_ALLOC, else empty.  */
+RALLOC_OBJ=@RALLOC_OBJ@
 
 /* Empty on Cygwin, lastfile.o elsewhere.  */
 PRE_ALLOC_OBJ=@PRE_ALLOC_OBJ@
@@ -419,7 +416,7 @@
 POST_ALLOC_OBJ=@POST_ALLOC_OBJ@
 
 /* List of object files that make-docfile should not be told about.  */
-otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(rallocobj) \
+otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \
   $(POST_ALLOC_OBJ) $(WIDGET_OBJ) $(LIBOBJS)
 
 /* This is the platform-specific list of Lisp files loaded into the
--- a/src/s/gnu-linux.h	Mon May 17 19:30:13 2010 -0700
+++ b/src/s/gnu-linux.h	Mon May 17 19:44:07 2010 -0700
@@ -147,11 +147,6 @@
 
 #define NARROWPROTO 1
 
-/* Use mmap directly for allocating larger buffers.  */
-#ifdef DOUG_LEA_MALLOC
-#undef REL_ALLOC
-#endif
-
 /* Tell that garbage collector that setjmp is known to save all
    registers relevant for conservative garbage collection in the jmp_buf.  */
 /* Not all the architectures are tested, but there are Debian packages
--- a/src/s/gnu.h	Mon May 17 19:30:13 2010 -0700
+++ b/src/s/gnu.h	Mon May 17 19:44:07 2010 -0700
@@ -1,6 +1,7 @@
 /* Definitions file for GNU Emacs running on the GNU Hurd.
-   Copyright (C) 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005, 2006,
-                 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
+
+Copyright (C) 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+  2008, 2009, 2010  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -28,11 +29,6 @@
 
 #define SIGNALS_VIA_CHARACTERS
 
-/* Use mmap directly for allocating larger buffers.  */
-#ifdef DOUG_LEA_MALLOC
-#undef REL_ALLOC
-#endif
-
 /* GNU needs its own crt0, and libc defines data_start.  */
 #define ORDINARY_LINK
 #define DATA_START ({ extern int data_start; (char *) &data_start; })