Define some malloc objects with configure, not cpp.
authorGlenn Morris <rgm@gnu.org>
Tue, 18 May 2010 02:30:13 +0000 (19:30 -0700)
committerGlenn Morris <rgm@gnu.org>
Tue, 18 May 2010 02:30:13 +0000 (19:30 -0700)
* configure.in (GMALLOC_OBJ, VMLIMIT_OBJ): New output variables.
* config.bat (GMALLOC_OBJ, VMLIMIT_OBJ): Edit to empty if sys_malloc.

* src/Makefile.in (GMALLOC_OBJ, VMLIMIT_OBJ): New, set by configure.
(gmallocobj, vmlimitobj): Replace with previous two variables.
(otherobj): Use $GMALLOC_OBJ, $VMLIMIT_OBJ.

* msdos/sed1v2.inp (GMALLOC_OBJ): Edit to gmalloc.o.
(VMLIMIT_OBJ): Edit to vm-limit.o.

ChangeLog
config.bat
configure.in
msdos/ChangeLog
msdos/sed1v2.inp
src/ChangeLog
src/Makefile.in

index 88ddf00..f100e0e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-05-18  Glenn Morris  <rgm@gnu.org>
+
+       * config.bat (GMALLOC_OBJ, VMLIMIT_OBJ): Edit to empty if sys_malloc.
+       * configure.in (GMALLOC_OBJ, VMLIMIT_OBJ): New output variables.
+
 2010-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * Makefile.in (src): Provide the name of the VCS file that witnesses
index 953c5d6..35fef44 100644 (file)
@@ -201,6 +201,12 @@ sed -f ../msdos/sed1x.inp <makefile.tmp >Makefile
 rm -f makefile.tmp\r
 :src5\r
 \r
+if "%sys_malloc%" == "" goto src5a\r
+sed -e "/^GMALLOC_OBJ *=/s/gmalloc.o//" <Makefile >makefile.tmp\r
+sed -e "/^VMLIMIT_OBJ *=/s/vm-limit.o//" <makefile.tmp >Makefile\r
+rm -f makefile.tmp\r
+:src5a\r
+\r
 if "%nodebug%" == "" goto src6\r
 sed -e "/^CFLAGS *=/s/ *-gcoff//" <Makefile >makefile.tmp\r
 sed -e "/^LDFLAGS *=/s/=/=-s/" <makefile.tmp >Makefile\r
index e667a5f..86d3db6 100644 (file)
@@ -1592,11 +1592,20 @@ AC_CACHE_CHECK(whether __after_morecore_hook exists,
 if test $emacs_cv_var___after_morecore_hook = no; then
   doug_lea_malloc=no
 fi
+
 if test "${system_malloc}" = "yes"; then
   GNU_MALLOC=no
   GNU_MALLOC_reason="
     (The GNU allocators don't work with this system configuration.)"
+  GMALLOC_OBJ=
+  VMLIMIT_OBJ=
+else
+  test "$doug_lea_malloc" != "yes" && GMALLOC_OBJ=gmalloc.o
+  VMLIMIT_OBJ=vm-limit.o
 fi
+AC_SUBST(GMALLOC_OBJ)
+AC_SUBST(VMLIMIT_OBJ)
+
 if test "$doug_lea_malloc" = "yes" ; then
   if test "$GNU_MALLOC" = yes ; then
     GNU_MALLOC_reason="
@@ -3208,7 +3217,7 @@ if test "$opsys" = "cygwin"; then
 else
   CYGWIN_OBJ=
   PRE_ALLOC_OBJ=lastfile.o
-  POST_ALLOC_OBJ="\$(vmlimitobj)"
+  POST_ALLOC_OBJ="\$(VMLIMIT_OBJ)"
 fi
 AC_SUBST(CYGWIN_OBJ)
 AC_SUBST(PRE_ALLOC_OBJ)
index 6763fcd..4ce549c 100644 (file)
@@ -1,3 +1,8 @@
+2010-05-18  Glenn Morris  <rgm@gnu.org>
+
+       * sed1v2.inp (GMALLOC_OBJ): Edit to gmalloc.o.
+       (VMLIMIT_OBJ): Edit to vm-limit.o.
+
 2010-05-17  Glenn Morris  <rgm@gnu.org>
 
        * sed1v2.inp (OLDXMENU_DEPS): Edit to empty.
index ac088cd..906d558 100644 (file)
@@ -116,6 +116,8 @@ s/\.h\.in/.h-in/
 /^OLDXMENU *=/s/@OLDXMENU@//
 /^LIBXMENU *=/s/@LIBXMENU@//
 /^LIBX_OTHER *=/s/@LIBX_OTHER@//
+/^GMALLOC_OBJ *=/s/@GMALLOC_OBJ@/gmalloc.o/
+/^VMLIMIT_OBJ *=/s/@VMLIMIT_OBJ@/vm-limit.o/
 /^PRE_ALLOC_OBJ *=/s/@PRE_ALLOC_OBJ@/lastfile.o/
 /^POST_ALLOC_OBJ *=/s/@POST_ALLOC_OBJ@/$(vmlimitobj)/
 /^UNEXEC_OBJ *=/s/@unexec@/unexec.o/
index eedd047..bb5d7e6 100644 (file)
@@ -1,3 +1,9 @@
+2010-05-18  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (GMALLOC_OBJ, VMLIMIT_OBJ): New, set by configure.
+       (gmallocobj, vmlimitobj): Replace with previous two variables.
+       (otherobj): Use $GMALLOC_OBJ, $VMLIMIT_OBJ.
+
 2010-05-17  Glenn Morris  <rgm@gnu.org>
 
        * Makefile.in (OLDXMENU_DEPS): New, set by configure.
index 571fbf5..ff3726d 100644 (file)
@@ -401,28 +401,25 @@ SOME_MACHINE_OBJECTS = dosfns.o msdos.o \
   w32.o w32console.o w32fns.o w32heap.o w32inevt.o \
   w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o $(FONT_OBJ)
 
-gmallocobj =
-rallocobj =
-vmlimitobj =
-#ifndef SYSTEM_MALLOC
-#ifndef DOUG_LEA_MALLOC
-gmallocobj = gmalloc.o
-#endif
+/* gmalloc.o if !SYSTEM_MALLOC && !DOUG_LEA_MALLOC, else empty.  */
+GMALLOC_OBJ=@GMALLOC_OBJ@
+
+/* vm-limit.o if !SYSTEM_MALLOC, else empty.  */
+VMLIMIT_OBJ=@VMLIMIT_OBJ@
 
-#ifdef REL_ALLOC
+#if defined (REL_ALLOC) && ! defined (SYSTEM_MALLOC)
 rallocobj = ralloc.o
+#else
+rallocobj =
 #endif
 
-vmlimitobj = vm-limit.o
-#endif /* !SYSTEM_MALLOC */
-
 /* Empty on Cygwin, lastfile.o elsewhere.  */
 PRE_ALLOC_OBJ=@PRE_ALLOC_OBJ@
-/* lastfile.o vm-limit.o on Cygwin, $vmlimitobj elsewhere.  */
+/* lastfile.o vm-limit.o on Cygwin, $VMLIMIT_OBJ elsewhere.  */
 POST_ALLOC_OBJ=@POST_ALLOC_OBJ@
 
 /* List of object files that make-docfile should not be told about.  */
-otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(gmallocobj) $(rallocobj) \
+otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(rallocobj) \
   $(POST_ALLOC_OBJ) $(WIDGET_OBJ) $(LIBOBJS)
 
 /* This is the platform-specific list of Lisp files loaded into the