configure___ unexec=UNEXEC
+#ifdef CANNOT_DUMP
+configure___ cannot_dump=yes
+#else
+configure___ cannot_dump=no
+#endif
+
#ifdef SYSTEM_MALLOC
configure___ system_malloc=yes
#else
rm ${tempcname}
+AC_SUBST(cannot_dump)
+
+
LD_SWITCH_SYSTEM=
case "$opsys" in
freebsd)
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
/^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]*@//
UNEXEC_OBJ = @unexec@
+CANNOT_DUMP=@cannot_dump@
+
DEPDIR=deps
## -MMD -MF ${DEPDIR}/$*.d if AUTO_DEPEND; else empty.
DEPFLAGS=@DEPFLAGS@
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. */
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}