зеркало из https://github.com/mozilla/gecko-dev.git
Converting patches applied for bug 15241 into a build option, --enable-implicit-archive, that is off by default.
r=syd
This commit is contained in:
Родитель
b4a8ffd249
Коммит
5dc98b19e1
|
@ -59,6 +59,7 @@ ENABLE_TESTS = @ENABLE_TESTS@
|
||||||
ENABLE_PICS = @ENABLE_PICS@
|
ENABLE_PICS = @ENABLE_PICS@
|
||||||
NO_UNIX_LDAP = @NO_UNIX_LDAP@
|
NO_UNIX_LDAP = @NO_UNIX_LDAP@
|
||||||
BUILD_IDLC = @BUILD_IDLC@
|
BUILD_IDLC = @BUILD_IDLC@
|
||||||
|
USE_IMPLICIT_ARCHIVE = @USE_IMPLICIT_ARCHIVE@
|
||||||
|
|
||||||
MOZ_STRIP_NOT_EXPORTED = @MOZ_STRIP_NOT_EXPORTED@
|
MOZ_STRIP_NOT_EXPORTED = @MOZ_STRIP_NOT_EXPORTED@
|
||||||
|
|
||||||
|
|
|
@ -554,8 +554,7 @@ endif
|
||||||
SUB_LOBJS = $(shell for lib in $(SHARED_LIBRARY_LIBS); do $(AR_LIST) $${lib} $(CLEANUP1); done;)
|
SUB_LOBJS = $(shell for lib in $(SHARED_LIBRARY_LIBS); do $(AR_LIST) $${lib} $(CLEANUP1); done;)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef SHARED_LIBRARY_LIBS
|
ifdef USE_IMPLICIT_ARCHIVE
|
||||||
|
|
||||||
# This rule overrides the builtin rule that tells make how to insert object
|
# This rule overrides the builtin rule that tells make how to insert object
|
||||||
# files into archive libraries. A few notes about what is going on:
|
# files into archive libraries. A few notes about what is going on:
|
||||||
# The whole point of doing this is to avoid having to store the .o files in
|
# The whole point of doing this is to avoid having to store the .o files in
|
||||||
|
@ -572,6 +571,7 @@ ifndef SHARED_LIBRARY_LIBS
|
||||||
# as we proceed from command to the next. This means that the "ar t" is
|
# as we proceed from command to the next. This means that the "ar t" is
|
||||||
# evaluating the library before we insert new objects.
|
# evaluating the library before we insert new objects.
|
||||||
#
|
#
|
||||||
|
ifndef SHARED_LIBRARY_LIBS
|
||||||
$(LIBRARY)(%.o): %.o
|
$(LIBRARY)(%.o): %.o
|
||||||
@echo 'queueing $< for insertion into $(LIBRARY)'; \
|
@echo 'queueing $< for insertion into $(LIBRARY)'; \
|
||||||
touch $(LIBRARY:%.a=.%.timestamp)
|
touch $(LIBRARY:%.a=.%.timestamp)
|
||||||
|
@ -593,6 +593,17 @@ $(LIBRARY): $(LIBRARY)($(OBJS) $(LOBJS)) $(LIBRARY:%.a=.%.timestamp) Makefile.in
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
|
$(LIBRARY): $(OBJS) $(LOBJS) Makefile Makefile.in
|
||||||
|
rm -f $@
|
||||||
|
@rm -f $(SUB_LOBJS)
|
||||||
|
@for lib in $(SHARED_LIBRARY_LIBS); do $(AR_EXTRACT) $${lib}; $(CLEANUP2); done
|
||||||
|
$(AR) $(AR_FLAGS) $(OBJS) $(LOBJS) $(SUB_LOBJS)
|
||||||
|
$(RANLIB) $@
|
||||||
|
@rm -f foodummyfilefoo $(SUB_LOBJS)
|
||||||
|
endif # ! SHARED_LIBRARY_LIBS
|
||||||
|
|
||||||
|
else # ! USE_IMPLICIT_ARCHIVE
|
||||||
|
|
||||||
$(LIBRARY): $(OBJS) $(LOBJS) Makefile Makefile.in
|
$(LIBRARY): $(OBJS) $(LOBJS) Makefile Makefile.in
|
||||||
rm -f $@
|
rm -f $@
|
||||||
ifdef SHARED_LIBRARY_LIBS
|
ifdef SHARED_LIBRARY_LIBS
|
||||||
|
@ -603,8 +614,8 @@ endif
|
||||||
$(RANLIB) $@
|
$(RANLIB) $@
|
||||||
@rm -f foodummyfilefoo $(SUB_LOBJS)
|
@rm -f foodummyfilefoo $(SUB_LOBJS)
|
||||||
|
|
||||||
endif
|
endif # USE_IMPLICIT_ARCHIVE
|
||||||
else
|
else # OS2
|
||||||
ifdef OS2_IMPLIB
|
ifdef OS2_IMPLIB
|
||||||
$(LIBRARY): $(OBJS) $(DEF_FILE)
|
$(LIBRARY): $(OBJS) $(DEF_FILE)
|
||||||
rm -f $@
|
rm -f $@
|
||||||
|
@ -1293,7 +1304,7 @@ $(MDDEPDIR):
|
||||||
MDDEPEND_FILES := $(wildcard $(MDDEPDIR)/*.pp)
|
MDDEPEND_FILES := $(wildcard $(MDDEPDIR)/*.pp)
|
||||||
|
|
||||||
ifdef MDDEPEND_FILES
|
ifdef MDDEPEND_FILES
|
||||||
ifdef SHARED_LIBRARY_LIBS
|
ifdef PERL
|
||||||
# The script mddepend.pl checks the dependencies and writes to stdout
|
# The script mddepend.pl checks the dependencies and writes to stdout
|
||||||
# one rule to force out-of-date objects. For example,
|
# one rule to force out-of-date objects. For example,
|
||||||
# foo.o boo.o: FORCE
|
# foo.o boo.o: FORCE
|
||||||
|
|
|
@ -2678,6 +2678,12 @@ AC_ARG_ENABLE(verbose-config-defs,
|
||||||
VERBOSE_CONFIG_DEFS=
|
VERBOSE_CONFIG_DEFS=
|
||||||
fi])
|
fi])
|
||||||
|
|
||||||
|
dnl use GNU make's implicit archive feature to save space
|
||||||
|
MOZ_ARG_ENABLE_BOOL(implicit-archive,
|
||||||
|
[ --enable-implicit-archive
|
||||||
|
Use GNU make's implicit archive feature],
|
||||||
|
USE_IMPLICIT_ARCHIVE=1)
|
||||||
|
|
||||||
dnl ========================================================
|
dnl ========================================================
|
||||||
dnl =
|
dnl =
|
||||||
dnl = --diable-dtd-debug
|
dnl = --diable-dtd-debug
|
||||||
|
@ -2815,6 +2821,7 @@ AC_SUBST(FULL_STATIC_BUILD)
|
||||||
AC_SUBST(NO_UNIX_LDAP)
|
AC_SUBST(NO_UNIX_LDAP)
|
||||||
AC_SUBST(BUILD_IDLC)
|
AC_SUBST(BUILD_IDLC)
|
||||||
AC_SUBST(MOZ_ENABLE_GTK_MOZILLA)
|
AC_SUBST(MOZ_ENABLE_GTK_MOZILLA)
|
||||||
|
AC_SUBST(USE_IMPLICIT_ARCHIVE)
|
||||||
|
|
||||||
AC_SUBST(MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS)
|
AC_SUBST(MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS)
|
||||||
AC_SUBST(MOZ_STRIP_NOT_EXPORTED)
|
AC_SUBST(MOZ_STRIP_NOT_EXPORTED)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче