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@
NO_UNIX_LDAP = @NO_UNIX_LDAP@
BUILD_IDLC = @BUILD_IDLC@
USE_IMPLICIT_ARCHIVE = @USE_IMPLICIT_ARCHIVE@
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;)
endif
ifndef SHARED_LIBRARY_LIBS
ifdef USE_IMPLICIT_ARCHIVE
# 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:
# 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
# evaluating the library before we insert new objects.
#
ifndef SHARED_LIBRARY_LIBS
$(LIBRARY)(%.o): %.o
@echo 'queueing $< for insertion into $(LIBRARY)'; \
touch $(LIBRARY:%.a=.%.timestamp)
@ -593,6 +593,17 @@ $(LIBRARY): $(LIBRARY)($(OBJS) $(LOBJS)) $(LIBRARY:%.a=.%.timestamp) Makefile.in
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
rm -f $@
ifdef SHARED_LIBRARY_LIBS
@ -603,8 +614,8 @@ endif
$(RANLIB) $@
@rm -f foodummyfilefoo $(SUB_LOBJS)
endif
else
endif # USE_IMPLICIT_ARCHIVE
else # OS2
ifdef OS2_IMPLIB
$(LIBRARY): $(OBJS) $(DEF_FILE)
rm -f $@
@ -1293,7 +1304,7 @@ $(MDDEPDIR):
MDDEPEND_FILES := $(wildcard $(MDDEPDIR)/*.pp)
ifdef MDDEPEND_FILES
ifdef SHARED_LIBRARY_LIBS
ifdef PERL
# The script mddepend.pl checks the dependencies and writes to stdout
# one rule to force out-of-date objects. For example,
# foo.o boo.o: FORCE

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

@ -2678,6 +2678,12 @@ AC_ARG_ENABLE(verbose-config-defs,
VERBOSE_CONFIG_DEFS=
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 = --diable-dtd-debug
@ -2815,6 +2821,7 @@ AC_SUBST(FULL_STATIC_BUILD)
AC_SUBST(NO_UNIX_LDAP)
AC_SUBST(BUILD_IDLC)
AC_SUBST(MOZ_ENABLE_GTK_MOZILLA)
AC_SUBST(USE_IMPLICIT_ARCHIVE)
AC_SUBST(MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS)
AC_SUBST(MOZ_STRIP_NOT_EXPORTED)