diff options
-rw-r--r-- | config_host.mk.in | 1 | ||||
-rw-r--r-- | config_host/config_options.h.in | 2 | ||||
-rw-r--r-- | configure.ac | 31 | ||||
-rw-r--r-- | solenv/gbuild/extensions/pre_MergedLibsList.mk | 60 |
4 files changed, 87 insertions, 7 deletions
diff --git a/config_host.mk.in b/config_host.mk.in index 8674ccc0f077..fbf388abb5f1 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -479,6 +479,7 @@ export BUNDLE_MARIADB_CONNECTOR_C=@BUNDLE_MARIADB_CONNECTOR_C@ export MDDS_CFLAGS=$(gb_SPACE)@MDDS_CFLAGS@ export MDDS_LIBS=$(gb_SPACE)@MDDS_LIBS@ export MERGELIBS=@MERGELIBS@ +export MERGELIBS_MORE=@MERGELIBS_MORE@ export ML_EXE=@ML_EXE@ export MOC5=@MOC5@ export MOC6=@MOC6@ diff --git a/config_host/config_options.h.in b/config_host/config_options.h.in index 37f044f1b493..abce3417e45a 100644 --- a/config_host/config_options.h.in +++ b/config_host/config_options.h.in @@ -7,6 +7,8 @@ #define ENABLE_MERGELIBS 0 +#define ENABLE_MERGELIBS_MORE 0 + #define ENABLE_RUNTIME_OPTIMIZATIONS 0 // Used to turn off visibility for some classes/symbols when linking with --enable-mergelibs diff --git a/configure.ac b/configure.ac index 5c191abaf50a..862187dac960 100644 --- a/configure.ac +++ b/configure.ac @@ -1514,8 +1514,11 @@ libo_FUZZ_ARG_ENABLE(skia, dnl ---------- *** ---------- libo_FUZZ_ARG_ENABLE(mergelibs, - AS_HELP_STRING([--enable-mergelibs], - [Merge several of the smaller libraries into one big, "merged", one.]) + AS_HELP_STRING([--enable-mergelibs=yes/no/more], + [Merge several of the smaller libraries into one big "merged" library. + The "more" option will link even more of the smaller libraries. + "more" not appropriate for distros which split up LibreOffice into multiple packages. + It is only appropriate for situations where all of LO is delivered in a single install/package. ]) ) libo_FUZZ_ARG_ENABLE(breakpad, @@ -14793,6 +14796,7 @@ AC_LANG_POP([C++]) # =================================================================== AC_MSG_CHECKING([whether to create huge library]) MERGELIBS= +MERGELIBS_MORE= if test $_os = iOS -o $_os = Android; then # Never any point in mergelibs for these as we build just static @@ -14801,16 +14805,29 @@ if test $_os = iOS -o $_os = Android; then fi if test -n "$enable_mergelibs" -a "$enable_mergelibs" != "no"; then - if test $_os != Linux -a $_os != WINNT; then - add_warning "--enable-mergelibs is not tested for this platform" + if test "$enable_mergelibs" = "more"; then + if test $_os != Linux; then + add_warning "--enable-mergelibs=more is not tested for this platform" + fi + MERGELIBS="TRUE" + MERGELIBS_MORE="TRUE" + AC_MSG_RESULT([yes (more)]) + AC_DEFINE(ENABLE_MERGELIBS) + elif test "$enable_mergelibs" = "yes" -o "$enable_mergelibs" = ""; then + if test $_os != Linux -a $_os != WINNT; then + add_warning "--enable-mergelibs is not tested for this platform" + fi + MERGELIBS="TRUE" + AC_MSG_RESULT([yes]) + AC_DEFINE(ENABLE_MERGELIBS) + else + AC_MSG_ERROR([unknown value --enable-mergelibs=$enable_mergelibs]) fi - MERGELIBS="TRUE" - AC_MSG_RESULT([yes]) - AC_DEFINE(ENABLE_MERGELIBS) else AC_MSG_RESULT([no]) fi AC_SUBST([MERGELIBS]) +AC_SUBST([MERGELIBS_MORE]) dnl =================================================================== dnl icerun is a wrapper that stops us spawning tens of processes diff --git a/solenv/gbuild/extensions/pre_MergedLibsList.mk b/solenv/gbuild/extensions/pre_MergedLibsList.mk index 6bf0157a361b..49254737cb07 100644 --- a/solenv/gbuild/extensions/pre_MergedLibsList.mk +++ b/solenv/gbuild/extensions/pre_MergedLibsList.mk @@ -106,6 +106,66 @@ gb_MERGE_LIBRARY_LIST := \ xsltfilter \ xstor \ +# if we have --enable-mergelibs=more +ifneq ($(MERGELIBS_MORE),) + +gb_MERGE_LIBRARY_LIST += \ + analysis \ + animcore \ + $(call gb_Helper_optional,AVMEDIA, \ + $(if $(filter MACOSX,$(OS)),\ + avmediaMacAVF \ + ) \ + ) \ + bib \ + cached1 \ + $(if $(ENABLE_CAIRO_CANVAS),cairocanvas) \ + date \ + $(call gb_Helper_optional,DBCONNECTIVITY,dbpool2) \ + dlgprov \ + $(if $(filter WNT,$(OS)), \ + fps \ + ) \ + $(if $(filter MACOSX,$(OS)),\ + fps_aqua \ + ) \ + graphicfilter \ + hwp \ + $(if $(filter WNT,$(OS)), \ + inprocserv \ + ) \ + log \ + $(if $(ENABLE_LWP),lwpft) \ + msforms \ + $(if $(filter WNT,$(OS)), \ + oleautobridge \ + ) \ + pdffilter \ + pricing \ + $(call gb_Helper_optional,SCRIPTING,protocolhandler) \ + $(call gb_Helper_optional,SCRIPTING,scriptframe) \ + slideshow \ + $(if $(filter WNT,$(OS)), \ + smplmail \ + ) \ + storagefd \ + svgfilter \ + t602filter \ + textconversiondlgs \ + $(if $(filter WNT,$(OS)), \ + UAccCOM \ + ) \ + $(call gb_Helper_optional,XMLHELP,ucpchelp1) \ + $(if $(ENABLE_LIBCMIS),ucpcmis1) \ + $(if $(WITH_WEBDAV),ucpdav1) \ + ucppkg1 \ + $(if $(filter WNT,$(OS)), \ + wininetbe1 \ + ) \ + writerperfect \ + xmlsecurity \ + +endif # allow module-deps.pl to color based on this. ifneq ($(ENABLE_PRINT_DEPS),) |