diff options
-rw-r--r-- | Library_merged.mk | 47 | ||||
-rw-r--r-- | RepositoryModule_host.mk | 17 | ||||
-rw-r--r-- | solenv/gbuild/LinkTarget.mk | 14 |
3 files changed, 21 insertions, 57 deletions
diff --git a/Library_merged.mk b/Library_merged.mk index 533acb0a542b..02671f14c5cf 100644 --- a/Library_merged.mk +++ b/Library_merged.mk @@ -36,60 +36,13 @@ $(eval $(call gb_Library_use_static_libraries,merged,\ )) endif -$(eval $(call gb_Library_use_externals,merged,\ - icu_headers \ - icui18n \ - icuuc \ - boost_headers \ - boostdatetime \ - $(call gb_Helper_optional,DESKTOP,clucene) \ - $(call gb_Helper_optional,COLLADA2GLTF,collada2gltf) \ - cups \ - curl \ - dbus \ - expat \ - gconf \ - gio \ - glew \ - graphite \ - $(if $(ENABLE_GTK),gtk) \ - harfbuzz \ - hunspell \ - jpeg \ - lcms2 \ - $(call gb_Helper_optional,LIBATOMIC_OPS,libatomic_ops) \ - libeot \ - liblangtag \ - libxml2 \ - libxslt \ - mesa_headers \ - mythes \ - nss3 \ - $(call gb_Helper_optional,COLLADA2GLTF,opencollada_parser) \ - $(call gb_Helper_optional,COLLADA2GLTF,png) \ - telepathy \ - zlib \ -)) - ifeq (ALL,$(MERGELIBS)) $(eval $(call gb_Library_use_static_libraries,merged,\ ulingu \ )) -$(eval $(call gb_Library_use_externals,merged,\ - cppunit \ - hyphen \ - libexslt \ - libexttextcat \ - $(if $(filter-out ANDROID IOS,$(OS)),openldap) \ - $(call gb_Helper_optional,PYUNO,python) \ -)) endif ifeq ($(GUIBASE),unx) -$(eval $(call gb_Library_use_externals,merged,\ - fontconfig \ - freetype \ -)) $(eval $(call gb_Library_add_libs,merged,\ -lX11 \ -lXext \ diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk index a3567c486d8f..f6a9c6ec5c0f 100644 --- a/RepositoryModule_host.mk +++ b/RepositoryModule_host.mk @@ -11,6 +11,16 @@ $(eval $(call gb_Module_Module,libreoffice)) +# This makefile needs to be read first because some variables like T_LIBS +# for libmerged are cleared there and then later we append stuff to it +# through e.g. gb_Library_use_external for various libraries in libmerged. +ifneq ($(MERGELIBS),) +$(eval $(call gb_Module_add_targets,libreoffice,\ + Library_merged \ + $(if $(URELIBS),Library_urelibs) \ +)) +endif + $(eval $(call gb_Module_add_moduledirs,libreoffice,\ accessibility \ android \ @@ -155,13 +165,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\ xmlsecurity \ )) -ifneq ($(MERGELIBS),) -$(eval $(call gb_Module_add_targets,libreoffice,\ - Library_merged \ - $(if $(URELIBS),Library_urelibs) \ -)) -endif - # Especially when building everything with symbols, the linking of the largest # libraries takes enormous amounts of RAM. To prevent annoying OOM situations # etc., try to prevent linking these in parallel by adding artificial build diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 0887b6b6056a..243ca266c7d4 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -855,6 +855,10 @@ define gb_LinkTarget__is_build_tool $(if $(filter $(call gb_LinkTarget__get_workdir_linktargetname,$(1)),$(call gb_BUILD_HELPER_TOOLS)),$(true),$(false)) endef +define gb_LinkTarget__is_merged +$(filter $(1),$(foreach lib,$(gb_MERGEDLIBS),$(call gb_Library_get_linktarget,$(lib)))) +endef + # call gb_LinkTarget_use_libraries,linktarget,libs define gb_LinkTarget_use_libraries ifneq (,$$(filter-out $(gb_Library_KNOWNLIBS),$(2))) @@ -867,7 +871,7 @@ $(call gb_LinkTarget__use_libraries,$(1),$(2),$(2),$(4)) else $(call gb_LinkTarget__use_libraries,$(1),$(2),$(strip \ $(if $(filter $(gb_MERGEDLIBS),$(2)), \ - $(if $(filter $(1),$(foreach lib,$(gb_MERGEDLIBS),$(call gb_Library_get_linktarget,$(lib)))), \ + $(if $(call gb_LinkTarget__is_merged,$(1)), \ $(filter $(gb_MERGEDLIBS),$(2)), merged)) \ $(if $(filter $(gb_URELIBS),$(2)), \ $(if $(filter $(1),$(foreach lib,$(gb_URELIBS),$(call gb_Library_get_linktarget,$(lib)))), \ @@ -1330,11 +1334,15 @@ $(call gb_LinkTarget_get_target,$(1)) :| \ endef # this forwards to functions that must be defined in RepositoryExternal.mk. -# call gb_LinkTarget_use_external,library,external +# Automatically forward for libmerged library too when linktarget is merged. +# +# call gb_LinkTarget_use_external,linktarget,external define gb_LinkTarget_use_external $(if $(filter undefined,$(origin gb_LinkTarget__use_$(2))),\ $(error gb_LinkTarget_use_external: unknown external: $(2)),\ - $(call gb_LinkTarget__use_$(2),$(1))) + $(if $(call gb_LinkTarget__is_merged,$(1)),$(call gb_LinkTarget__use_$(2),$(call gb_Library_get_linktarget,merged))) \ + $(call gb_LinkTarget__use_$(2),$(1)) \ +) endef # $(call gb_LinkTarget_use_externals,library,externals) |