summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2010-05-17 19:44:07 -0700
committerGlenn Morris <rgm@gnu.org>2010-05-17 19:44:07 -0700
commit40dc6bf44ec6e258dabd6aa3c674f8e65ded64bb (patch)
tree2fd6c610f4a8a842abc4816dbdd87ff35949e959
parentbe4ff9dad8bf43251f78f58a9ce86cf8bb153300 (diff)
downloademacs-40dc6bf44ec6e258dabd6aa3c674f8e65ded64bb.tar.gz
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.
-rw-r--r--ChangeLog4
-rw-r--r--config.bat5
-rw-r--r--configure.in15
-rw-r--r--msdos/ChangeLog2
-rw-r--r--msdos/sed1v2.inp1
-rw-r--r--src/ChangeLog7
-rw-r--r--src/Makefile.in9
-rw-r--r--src/s/gnu-linux.h5
-rw-r--r--src/s/gnu.h10
9 files changed, 37 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index f100e0eeb2c..14b421ab91a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/config.bat b/config.bat
index 35fef44b582..20b8b285e59 100644
--- a/config.bat
+++ b/config.bat
@@ -203,8 +203,9 @@ rm -f makefile.tmp
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
diff --git a/configure.in b/configure.in
index 86d3db67361..a58ac2278d0 100644
--- a/configure.in
+++ b/configure.in
@@ -1613,6 +1613,14 @@ if test "$doug_lea_malloc" = "yes" ; then
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 @@ if test "${HAVE_MENUS}" = "yes" ; then
(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.])
-fi
+ test "$system_malloc" != "yes" && RALLOC_OBJ=ralloc.o
+fi
+AC_SUBST(RALLOC_OBJ)
if test "$opsys" = "cygwin"; then
CYGWIN_OBJ="sheap.o"
diff --git a/msdos/ChangeLog b/msdos/ChangeLog
index 4ce549cfd8b..1034b0a3d23 100644
--- a/msdos/ChangeLog
+++ b/msdos/ChangeLog
@@ -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.
diff --git a/msdos/sed1v2.inp b/msdos/sed1v2.inp
index 906d558ed75..574910d2beb 100644
--- a/msdos/sed1v2.inp
+++ b/msdos/sed1v2.inp
@@ -118,6 +118,7 @@ s/\.h\.in/.h-in/
/^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/
diff --git a/src/ChangeLog b/src/ChangeLog
index bb5d7e6d427..fd0c3e014c9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -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.
diff --git a/src/Makefile.in b/src/Makefile.in
index ff3726df6f8..6ed6e97b420 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -407,11 +407,8 @@ GMALLOC_OBJ=@GMALLOC_OBJ@
/* 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 @@ PRE_ALLOC_OBJ=@PRE_ALLOC_OBJ@
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
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index 3aa2dc16f42..c062f855276 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -147,11 +147,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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
diff --git a/src/s/gnu.h b/src/s/gnu.h
index 9f6fe52a5de..cb4c4a9d807 100644
--- a/src/s/gnu.h
+++ b/src/s/gnu.h
@@ -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 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#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; })