>From 9610f313480b8e0da810c38aee0fbc07c88b0904 Mon Sep 17 00:00:00 2001 From: Wolfgang Jenkner Date: Sun, 22 Feb 2015 04:15:34 +0100 Subject: [PATCH 3/5] Link temacs with gnulib objects compiled with -Demacs. * lib/Makefile.am: Add incantation to install libegnu.a. * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a (temacs$(EXEEXT)): Use it. 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. --- lib/Makefile.am | 9 +++++++++ src/Makefile.in | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/Makefile.am b/lib/Makefile.am index cda9681..a1dd6a4 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -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 diff --git a/src/Makefile.in b/src/Makefile.in index d7ad395..f1d780f 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -557,7 +557,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 @@ -565,9 +565,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 $@ -- 2.6.3