Kaydet (Commit) 0e5f2ea0 authored tarafından Peter Foley's avatar Peter Foley

create --enable-mergelibs=all option

Support cramming everything into one big merged library as well as
only the libraries depended upon by almost everything.

Change-Id: I69647037dc62840294ba670d5d6c172a4608bf3f
üst 65244350
...@@ -237,7 +237,7 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\ ...@@ -237,7 +237,7 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
$(call gb_Helper_optional,ZLIB,zlib) \ $(call gb_Helper_optional,ZLIB,zlib) \
)) ))
ifeq ($(MERGELIBS),TRUE) ifneq ($(MERGELIBS),)
$(eval $(call gb_Module_add_targets,libreoffice,\ $(eval $(call gb_Module_add_targets,libreoffice,\
Library_merged \ Library_merged \
$(if $(URELIBS),Library_urelibs) \ $(if $(URELIBS),Library_urelibs) \
...@@ -267,7 +267,7 @@ $(eval $(call repositorymodule_serialize,\ ...@@ -267,7 +267,7 @@ $(eval $(call repositorymodule_serialize,\
sc msword swui sw sd \ sc msword swui sw sd \
$(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),dbu) \ $(if $(filter DBCONNECTIVITY,$(BUILD_TYPE)),dbu) \
writerfilter cui chartcontroller oox \ writerfilter cui chartcontroller oox \
$(if $(filter TRUE,$(MERGELIBS)),merged,svxcore) \ $(if $(MERGELIBS),merged,svxcore) \
xo vcl \ xo vcl \
)) ))
endif endif
......
...@@ -709,9 +709,10 @@ AC_ARG_ENABLE([hardlink-deliver], ...@@ -709,9 +709,10 @@ AC_ARG_ENABLE([hardlink-deliver],
) )
AC_ARG_ENABLE(mergelibs, AC_ARG_ENABLE(mergelibs,
AS_HELP_STRING([--enable-mergelibs], AS_HELP_STRING([--enable-mergelibs=<all/yes>],
[Enables linking of big, merged, library. Experimental feature tested [Enables linking of big, merged, library. Experimental feature tested
only on Linux and Android.]) only on Linux and Android. All will link a lot more libraries into libmerged
while yes or no argument will simply enable a core set of libraries.])
) )
AC_ARG_ENABLE(graphite, AC_ARG_ENABLE(graphite,
...@@ -11632,16 +11633,21 @@ fi ...@@ -11632,16 +11633,21 @@ fi
# =================================================================== # ===================================================================
AC_MSG_CHECKING([whether to create huge library]) AC_MSG_CHECKING([whether to create huge library])
MERGELIBS= MERGELIBS=
if test "$enable_mergelibs" = "yes"; then if test "$enable_mergelibs" != "no"; then
if test $_os != Linux -a $_os != Android -a $_os != WINNT; then if test $_os != Linux -a $_os != Android -a $_os != WINNT; then
add_warning "--enable-mergelibs is not tested for this platform" add_warning "--enable-mergelibs is not tested for this platform"
fi fi
MERGELIBS="TRUE" if test "$enable_mergelibs" = "all"; then
MERGELIBS="ALL"
URELIBS="TRUE"
else
MERGELIBS="CORE"
fi
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
else else
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
fi fi
AC_SUBST(MERGELIBS) AC_SUBST([MERGELIBS])
AC_SUBST([URELIBS]) AC_SUBST([URELIBS])
# =================================================================== # ===================================================================
......
...@@ -25,31 +25,44 @@ ...@@ -25,31 +25,44 @@
# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable # in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
# instead of those above. # instead of those above.
ifeq ($(MERGELIBS),TRUE) ifneq ($(MERGELIBS),)
# FIXME: just retaining these for now - they currently crash & need thought.
# set of libraries to link even more stuff into one merged library # set of libraries to link even more stuff into one merged library
gb_EXTRAMERGEDLIBS := \ gb_EXTRAMERGEDLIBS := \
analysis \
$(if $(filter unx,$(GUIBASE)),basebmp) \ $(if $(filter unx,$(GUIBASE)),basebmp) \
$(call gb_Helper_optional,DBCONNECTIVITY,calc) \
chartcore \ chartcore \
$(call gb_Helper_optional,DBCONNECTIVITY,dba) \
$(call gb_Helper_optional,DBCONNECTIVITY,dbtools) \
$(call gb_Helper_optional,DBCONNECTIVITY,dbu) \
$(call gb_Helper_optional,DBCONNECTIVITY,file) \
for \
forui \
fwl \
$(if $(filter-out ANDROID IOS,$(OS)),odbcbase) \
oox \
$(call gb_Helper_optional,PYUNO,pyuno) \
$(call gb_Helper_optional,DBCONNECTIVITY,rpt) \
sc \
sd \
sw \
swd \
test \
unotest \
$(if $(DISABLE_SCRIPTING),,vbahelper) \
xmlsecurity
# FIXME: just retaining these for now - they currently crash & need thought.
#gb_EXTRAMERGEDLIBS := \
analysis \
$(call gb_Helper_optional,DBCONNECTIVITY,calc) \
ctl \ ctl \
cui \ cui \
date \ date \
$(call gb_Helper_optional,DBCONNECTIVITY,dba) \
$(call gb_Helper_optional,DBCONNECTIVITY,dbase) \ $(call gb_Helper_optional,DBCONNECTIVITY,dbase) \
$(call gb_Helper_optional,DBCONNECTIVITY,dbtools) \
$(call gb_Helper_optional,DBCONNECTIVITY,dbu) \
embobj \ embobj \
evtatt \ evtatt \
fastsax \ fastsax \
$(call gb_Helper_optional,DBCONNECTIVITY,file) \
$(call gb_Helper_optional,DBCONNECTIVITY,flat) \ $(call gb_Helper_optional,DBCONNECTIVITY,flat) \
for \
forui \
$(call gb_Helper_optional,DBCONNECTIVITY,frm) \ $(call gb_Helper_optional,DBCONNECTIVITY,frm) \
fwl \
fwm \ fwm \
hwp \ hwp \
hyphen \ hyphen \
...@@ -65,38 +78,26 @@ gb_EXTRAMERGEDLIBS := \ ...@@ -65,38 +78,26 @@ gb_EXTRAMERGEDLIBS := \
localedata_euro \ localedata_euro \
localedata_others \ localedata_others \
$(if $(filter-out ANDROID IOS,$(OS)),odbc) \ $(if $(filter-out ANDROID IOS,$(OS)),odbc) \
$(if $(filter-out ANDROID IOS,$(OS)),odbcbase) \
oox \
pricing \ pricing \
$(call gb_Helper_optional,PYUNO,pythonloader) \ $(call gb_Helper_optional,PYUNO,pythonloader) \
$(call gb_Helper_optional,PYUNO,pyuno) \
$(call gb_Helper_optional,DBCONNECTIVITY,rpt) \
$(call gb_Helper_optional,DBCONNECTIVITY,rptui) \ $(call gb_Helper_optional,DBCONNECTIVITY,rptui) \
$(call gb_Helper_optional,DBCONNECTIVITY,rptxml) \ $(call gb_Helper_optional,DBCONNECTIVITY,rptxml) \
sc \
$(if $(DISABLE_SCRIPTING),,scriptframe) \ $(if $(DISABLE_SCRIPTING),,scriptframe) \
scui \ scui \
scfilt \ scfilt \
sd \
sdui \ sdui \
$(if $(filter-out IOS,$(OS)),solver) \ $(if $(filter-out IOS,$(OS)),solver) \
spell \ spell \
$(if $(DISABLE_SCRIPTING),,stringresource) \ $(if $(DISABLE_SCRIPTING),,stringresource) \
subsequenttest \ subsequenttest \
sw \
swui \ swui \
swd \
test \
textfd \ textfd \
ucpcmis1 \ ucpcmis1 \
unotest \
$(if $(DISABLE_SCRIPTING),,vbahelper) \
$(if $(filter-out IOS,$(OS)),wpftdraw) \ $(if $(filter-out IOS,$(OS)),wpftdraw) \
$(if $(filter-out IOS,$(OS)),wpftwriter) \ $(if $(filter-out IOS,$(OS)),wpftwriter) \
writerfilter \ writerfilter \
xmlfa \ xmlfa \
xmlfd \ xmlfd \
xmlsecurity
# we link all object files from these libraries into one, merged library # we link all object files from these libraries into one, merged library
gb_MERGEDLIBS := \ gb_MERGEDLIBS := \
...@@ -142,6 +143,7 @@ gb_MERGEDLIBS := \ ...@@ -142,6 +143,7 @@ gb_MERGEDLIBS := \
xmlscript \ xmlscript \
xo \ xo \
xstor \ xstor \
$(if $(filter ALL,$(MERGELIBS)),$(gb_EXTRAMERGEDLIBS))
ifneq (,$(URELIBS)) ifneq (,$(URELIBS))
gb_URELIBS := \ gb_URELIBS := \
......
...@@ -106,7 +106,7 @@ gb_CFLAGS_WERROR := -Werror ...@@ -106,7 +106,7 @@ gb_CFLAGS_WERROR := -Werror
gb_CXXFLAGS_WERROR := -Werror gb_CXXFLAGS_WERROR := -Werror
endif endif
ifeq ($(MERGELIBS),TRUE) ifneq ($(MERGELIBS),)
gb_CFLAGS_COMMON += -DLIBO_MERGELIBS gb_CFLAGS_COMMON += -DLIBO_MERGELIBS
gb_CXXFLAGS_COMMON += -DLIBO_MERGELIBS gb_CXXFLAGS_COMMON += -DLIBO_MERGELIBS
endif endif
......
...@@ -237,7 +237,7 @@ gb_CFLAGS_WERROR := -WX ...@@ -237,7 +237,7 @@ gb_CFLAGS_WERROR := -WX
gb_CXXFLAGS_WERROR := -WX gb_CXXFLAGS_WERROR := -WX
endif endif
ifeq ($(MERGELIBS),TRUE) ifneq ($(MERGELIBS),)
gb_CFLAGS += -DLIBO_MERGELIBS gb_CFLAGS += -DLIBO_MERGELIBS
gb_CXXFLAGS += -DLIBO_MERGELIBS gb_CXXFLAGS += -DLIBO_MERGELIBS
endif endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment