Link temacs with gnulib compiled with -Demacs

This is done to support HYBRID_MALLOC, since some static variables
(e.g., last_environ in putenv.c) hold pointers to memory malloced
before dumping (Bug#22086).
* lib/Makefile.am: Add incantation to install libegnu.a.
* src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
(temacs$(EXEEXT)): Use it.
This commit is contained in:
Wolfgang Jenkner 2016-01-30 14:20:56 -08:00 committed by Paul Eggert
parent cb22fce283
commit a5f8586129
2 changed files with 12 additions and 3 deletions

View file

@ -17,6 +17,15 @@ include gnulib.mk
libgnu_a_SOURCES += openat-die.c save-cwd.c
endif
noinst_LIBRARIES += libegnu.a
libegnu_a_SOURCES = $(libgnu_a_SOURCES)
libegnu_a_LIBADD = $(patsubst %.o,e-%.o,$(libgnu_a_LIBADD))
EXTRA_libegnu_a_SOURCES = $(EXTRA_libgnu_a_SOURCES)
libegnu_a_SHORTNAME = e
libegnu_a_CPPFLAGS = $(AM_CPPFLAGS) -Demacs
.PHONY: bootstrap-clean
bootstrap-clean: maintainer-clean

View file

@ -576,7 +576,7 @@ globals.h: gl-stamp; @true
$(ALLOBJS): globals.h
$(lib)/libgnu.a: $(config_h)
$(lib)/libegnu.a: $(config_h)
$(MAKE) -C $(lib) all
## We have to create $(etc) here because init_cmdargs tests its
@ -584,9 +584,9 @@ $(lib)/libgnu.a: $(config_h)
## This goes on to affect various things, and the emacs binary fails
## to start if Vinstallation_directory has the wrong value.
temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) \
$(lib)/libgnu.a $(EMACSRES) ${charsets} ${charscript}
$(lib)/libegnu.a $(EMACSRES) ${charsets} ${charscript}
$(AM_V_CCLD)$(CC) $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \
-o temacs $(ALLOBJS) $(lib)/libgnu.a $(W32_RES_LINK) $(LIBES)
-o temacs $(ALLOBJS) $(lib)/libegnu.a $(W32_RES_LINK) $(LIBES)
$(MKDIR_P) $(etc)
ifneq ($(CANNOT_DUMP),yes)
$(PAXCTL_if_present) -r $@