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:
cls%seawood.org 1999-10-12 12:36:07 +00:00
Родитель b4a8ffd249
Коммит 5dc98b19e1
3 изменённых файлов: 24 добавлений и 5 удалений

Просмотреть файл

@ -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)