mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 05:41:12 +00:00
Adding configure option --enable-elf-dynstr-gc. Bug #43357
This commit is contained in:
parent
52056b5489
commit
7766827f6f
@ -32,10 +32,18 @@ ifneq ($(BUILD_MODULES),all)
|
||||
|
||||
DIRS = $(BUILD_MODULE_DIRS)
|
||||
|
||||
ifdef USE_ELF_DYNSTR_GC
|
||||
DIRS += tools/elf-dynstr-gc
|
||||
endif
|
||||
|
||||
else
|
||||
|
||||
DIRS = config build
|
||||
|
||||
ifdef USE_ELF_DYNSTR_GC
|
||||
DIRS += tools/elf-dynstr-gc
|
||||
endif
|
||||
|
||||
ifdef MOZ_L10N
|
||||
DIRS += l10n
|
||||
endif
|
||||
|
@ -55,6 +55,7 @@ config/autoconf.mk
|
||||
config/mkdepend/Makefile
|
||||
config/mkdetect/Makefile
|
||||
include/Makefile
|
||||
tools/elf-dynstr-gc/Makefile
|
||||
"
|
||||
|
||||
MAKEFILES_db="
|
||||
|
@ -61,6 +61,7 @@ DETECT_WEBSHELL_LEAKS = @DETECT_WEBSHELL_LEAKS@
|
||||
BUILD_PROFILE = @MOZILLA_GPROF@
|
||||
GC_LEAK_DETECTOR = @GC_LEAK_DETECTOR@
|
||||
NS_TRACE_MALLOC = @NS_TRACE_MALLOC@
|
||||
USE_ELF_DYNSTR_GC = @USE_ELF_DYNSTR_GC@
|
||||
MOZ_MAIL_NEWS = @MOZ_MAIL_NEWS@
|
||||
MOZ_BRPROF = @MOZ_BRPROF@
|
||||
NO_UNIX_ASYNC_DNS = @NO_UNIX_ASYNC_DNS@
|
||||
@ -270,6 +271,8 @@ MOZ_XPRINT_CFFLAGS = @MOZ_XPRINT_CFLAGS@
|
||||
MOZ_XPRINT_LDFLAGS = @MOZ_XPRINT_LDFLAGS@
|
||||
MOZ_ENABLE_XPRINT = @MOZ_ENABLE_XPRINT@
|
||||
|
||||
GLIB_CFLAGS = @GLIB_CFLAGS@
|
||||
GLIB_LIBS = @GLIB_LIBS@
|
||||
LIBIDL_CFLAGS = @LIBIDL_CFLAGS@
|
||||
LIBIDL_LIBS = @LIBIDL_LIBS@
|
||||
|
||||
|
@ -370,6 +370,14 @@ ifneq (all,$(BUILD_MODULES))
|
||||
DEFINES += -DXPCOM_STANDALONE
|
||||
endif
|
||||
|
||||
ELF_DYNSTR_GC = :
|
||||
|
||||
ifdef USE_ELF_DYNSTR_GC
|
||||
ifdef MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS
|
||||
ELF_DYNSTR_GC = $(DIST)/bin/elf-gc-dynstr
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(OS_ARCH),WINNT)
|
||||
|
||||
ifdef MOZ_NATIVE_MAKEDEPEND
|
||||
|
@ -485,8 +485,10 @@ ifeq ($(OS_ARCH),OS2)
|
||||
$(INSTALL) $(IFLAGS2) $(IMPORT_LIBRARY) $(DIST)/lib
|
||||
else
|
||||
$(INSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(DIST)/lib/components
|
||||
$(ELF_DYNSTR_GC) $(DIST)/lib/components/$(SHARED_LIBRARY)
|
||||
endif
|
||||
$(INSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(DIST)/bin/components
|
||||
$(ELF_DYNSTR_GC) $(DIST)/bin/components/$(SHARED_LIBRARY)
|
||||
ifeq ($(OS_ARCH),OpenVMS)
|
||||
$(INSTALL) -m 555 $(SHARED_LIBRARY:$(DLL_SUFFIX)=.vms) $(DIST)/lib/components
|
||||
$(INSTALL) -m 555 $(SHARED_LIBRARY:$(DLL_SUFFIX)=.vms) $(DIST)/bin/components
|
||||
|
16
configure.in
16
configure.in
@ -1638,6 +1638,9 @@ if test -n "$CROSS_COMPILE"; then
|
||||
HOST_LIBIDL_LIBS=`${HOST_LIBIDL_CONFIG} --libs`
|
||||
fi
|
||||
|
||||
AC_SUBST(GLIB_CFLAGS)
|
||||
AC_SUBST(GLIB_LIBS)
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
dnl ========================================================
|
||||
AC_C_CONST
|
||||
@ -3002,6 +3005,19 @@ then
|
||||
fi
|
||||
dnl ========================================================
|
||||
|
||||
dnl ========================================================
|
||||
dnl =
|
||||
dnl = --enable-elf-dynstr-gc
|
||||
dnl =
|
||||
dnl ========================================================
|
||||
USE_ELF_DYNSTR_GC=
|
||||
|
||||
MOZ_ARG_ENABLE_BOOL(elf-dynstr-gc,
|
||||
[ --enable-elf-dynstr-gc Enable elf dynstr garbage collector],
|
||||
USE_ELF_DYNSTR_GC=1)
|
||||
|
||||
AC_SUBST(USE_ELF_DYNSTR_GC)
|
||||
|
||||
dnl ========================================================
|
||||
dnl =
|
||||
dnl = --with-debug-modules=module1,^module2,etc
|
||||
|
@ -1014,7 +1014,7 @@ main(int argc, char *argv[])
|
||||
|
||||
if (new_dynstr_size >= old_dynstr_size) {
|
||||
fprintf(stderr, "Couldn't GC any strings, exiting.\n");
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Fixup all references: */
|
||||
|
Loading…
Reference in New Issue
Block a user