summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config_host.mk.in1
-rw-r--r--config_host/config_options.h.in2
-rw-r--r--configure.ac31
-rw-r--r--solenv/gbuild/extensions/pre_MergedLibsList.mk60
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),)