Mercurial > emacs
changeset 108727:d8f404311eaf
Handle CANNOT_DUMP (partially) with configure.
* configure.in (cannot_dump): New output variable.
* src/Makefile.in (CANNOT_DUMP): New, set by configure.
(emacs${EXEEXT}, bootstrap-emacs${EXEEXT}): Use $CANNOT_DUMP.
* msdos/sed1v2.inp (CANNOT_DUMP): Edit to no.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Thu, 20 May 2010 17:28:47 -0700 |
parents | 66c9aef964cc |
children | d0ebe5586d94 |
files | ChangeLog configure.in msdos/ChangeLog msdos/sed1v2.inp src/ChangeLog src/Makefile.in |
diffstat | 6 files changed, 44 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu May 20 17:22:58 2010 -0700 +++ b/ChangeLog Thu May 20 17:28:47 2010 -0700 @@ -1,3 +1,7 @@ +2010-05-21 Glenn Morris <rgm@gnu.org> + + * configure.in (cannot_dump): New output variable. + 2010-05-20 enami tsugutomo <tsugutomo.enami@jp.sony.com> * configure.in: On NetBSD, if terminfo is found, use it in
--- a/configure.in Thu May 20 17:22:58 2010 -0700 +++ b/configure.in Thu May 20 17:28:47 2010 -0700 @@ -857,6 +857,12 @@ configure___ unexec=UNEXEC +#ifdef CANNOT_DUMP +configure___ cannot_dump=yes +#else +configure___ cannot_dump=no +#endif + #ifdef SYSTEM_MALLOC configure___ system_malloc=yes #else @@ -918,6 +924,9 @@ rm ${tempcname} +AC_SUBST(cannot_dump) + + LD_SWITCH_SYSTEM= case "$opsys" in freebsd) @@ -1483,6 +1492,7 @@ GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)" GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)" ## Pull in stuff from GNUstep-make. + ## FIXME? Cleaner to use AC_SUBST_FILE for this? NS_IMPL_GNUSTEP_INC="FOUNDATION_LIB=gnu GUI_LIB=gnu include $GNUSTEP_MAKEFILES/Additional/base.make
--- a/msdos/ChangeLog Thu May 20 17:22:58 2010 -0700 +++ b/msdos/ChangeLog Thu May 20 17:28:47 2010 -0700 @@ -1,3 +1,7 @@ +2010-05-21 Glenn Morris <rgm@gnu.org> + + * sed1v2.inp (CANNOT_DUMP): Edit to no. + 2010-05-20 Glenn Morris <rgm@gnu.org> * sed1v2.inp (DEPFLAGS, deps_frag): Edit to empty.
--- a/msdos/sed1v2.inp Thu May 20 17:22:58 2010 -0700 +++ b/msdos/sed1v2.inp Thu May 20 17:28:47 2010 -0700 @@ -123,6 +123,7 @@ /^PRE_ALLOC_OBJ *=/s/@PRE_ALLOC_OBJ@/lastfile.o/ /^POST_ALLOC_OBJ *=/s/@POST_ALLOC_OBJ@/$(vmlimitobj)/ /^UNEXEC_OBJ *=/s/@unexec@/unexec.o/ +/^CANNOT_DUMP *=/s/@cannot_dump@/no/ /^DEPFLAGS *=/s/@DEPFLAGS@// /^MKDEPDIR *=/s/@MKDEPDIR@/:/ /^version *=/s/@[^@\n]*@//
--- a/src/ChangeLog Thu May 20 17:22:58 2010 -0700 +++ b/src/ChangeLog Thu May 20 17:28:47 2010 -0700 @@ -1,3 +1,8 @@ +2010-05-21 Glenn Morris <rgm@gnu.org> + + * Makefile.in (CANNOT_DUMP): New, set by configure. + (emacs${EXEEXT}, bootstrap-emacs${EXEEXT}): Use $CANNOT_DUMP. + 2010-05-20 Juri Linkov <juri@jurta.org> * fileio.c (Fdelete_file): Change interative spec to use
--- a/src/Makefile.in Thu May 20 17:22:58 2010 -0700 +++ b/src/Makefile.in Thu May 20 17:28:47 2010 -0700 @@ -284,6 +284,8 @@ UNEXEC_OBJ = @unexec@ +CANNOT_DUMP=@cannot_dump@ + DEPDIR=deps ## -MMD -MF ${DEPDIR}/$*.d if AUTO_DEPEND; else empty. DEPFLAGS=@DEPFLAGS@ @@ -599,18 +601,19 @@ all: emacs${EXEEXT} $(OTHER_FILES) /* Does anyone ever pay attention to the load-path-shadows output here? */ +/* FIXME Add EXEEXT for load-path-shadows? */ +/* The dumped Emacs is as functional and more efficient than + bootstrap-emacs, so we replace the latter with the former. */ emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} -#ifdef CANNOT_DUMP - rm -f emacs${EXEEXT} - ln temacs${EXEEXT} emacs${EXEEXT} - -EMACSLOADPATH=${lispsource} ./emacs -q -batch -f list-load-path-shadows -#else - LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump - @: This new Emacs is as functional and more efficient then - @: bootstrap-emacs, so let us replace it. - -ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT} - -./emacs -q -batch -f list-load-path-shadows -#endif /* ! defined (CANNOT_DUMP) */ + if test "${CANNOT_DUMP}" = "yes"; then \ + ln -f temacs${EXEEXT} emacs${EXEEXT}; \ + EMACSLOADPATH=${lispsource} ./emacs -q -batch \ + -f list-load-path-shadows || true; \ + else \ + LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump || exit 1; \ + ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT}; \ + ./emacs -q -batch -f list-load-path-shadows || true; \ + fi /* We run make-docfile twice because the command line may get too long on some systems. */ @@ -807,12 +810,12 @@ bootstrap-emacs${EXEEXT}: temacs${EXEEXT} cd ../lisp; $(MAKE) $(MFLAGS) update-subdirs -#ifdef CANNOT_DUMP - ln -f temacs${EXEEXT} bootstrap-emacs${EXEEXT} -#else - $(RUN_TEMACS) --batch --load loadup bootstrap - mv -f emacs${EXEEXT} bootstrap-emacs${EXEEXT} -#endif /* ! defined (CANNOT_DUMP) */ + if test "${CANNOT_DUMP}" = "yes"; then \ + ln -f temacs${EXEEXT} bootstrap-emacs${EXEEXT}; \ + else \ + $(RUN_TEMACS) --batch --load loadup bootstrap || exit 1; \ + mv -f emacs${EXEEXT} bootstrap-emacs${EXEEXT}; \ + fi @: Compile some files earlier to speed up further compilation. cd ../lisp; $(MAKE) $(MFLAGS) compile-first EMACS=${bootstrap_exe}