Kaydet (Commit) b6be3d3d authored tarafından Matúš Kukan's avatar Matúš Kukan

gbuild: Do not require gb_Library_use_externals for libmerged

Instead, automatically get the externals when parsing other makefiles.
This commit fixes the build and hopefully avoids problems in future
because people didn't know they had to add externals for libmerged too.
Similar should be done for other functions like add_libs...

Change-Id: I5aea4c43f4b6838092ada81c310ef1100f241108
üst 13de511e
...@@ -35,60 +35,13 @@ $(eval $(call gb_Library_use_static_libraries,merged,\ ...@@ -35,60 +35,13 @@ $(eval $(call gb_Library_use_static_libraries,merged,\
$(if $(filter unx,$(GUIBASE)),headless) \ $(if $(filter unx,$(GUIBASE)),headless) \
)) ))
$(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)) ifeq (ALL,$(MERGELIBS))
$(eval $(call gb_Library_use_static_libraries,merged,\ $(eval $(call gb_Library_use_static_libraries,merged,\
ulingu \ 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 endif
ifeq ($(GUIBASE),unx) ifeq ($(GUIBASE),unx)
$(eval $(call gb_Library_use_externals,merged,\
fontconfig \
freetype \
))
$(eval $(call gb_Library_add_libs,merged,\ $(eval $(call gb_Library_add_libs,merged,\
-lX11 \ -lX11 \
-lXext \ -lXext \
......
...@@ -11,6 +11,16 @@ ...@@ -11,6 +11,16 @@
$(eval $(call gb_Module_Module,libreoffice)) $(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,\ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
accessibility \ accessibility \
android \ android \
...@@ -155,13 +165,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\ ...@@ -155,13 +165,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
xmlsecurity \ 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 # Especially when building everything with symbols, the linking of the largest
# libraries takes enormous amounts of RAM. To prevent annoying OOM situations # libraries takes enormous amounts of RAM. To prevent annoying OOM situations
# etc., try to prevent linking these in parallel by adding artificial build # etc., try to prevent linking these in parallel by adding artificial build
......
...@@ -853,6 +853,10 @@ define gb_LinkTarget__is_build_tool ...@@ -853,6 +853,10 @@ define gb_LinkTarget__is_build_tool
$(if $(filter $(call gb_LinkTarget__get_workdir_linktargetname,$(1)),$(call gb_BUILD_HELPER_TOOLS)),$(true),$(false)) $(if $(filter $(call gb_LinkTarget__get_workdir_linktargetname,$(1)),$(call gb_BUILD_HELPER_TOOLS)),$(true),$(false))
endef 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 # call gb_LinkTarget_use_libraries,linktarget,libs
define gb_LinkTarget_use_libraries define gb_LinkTarget_use_libraries
ifneq (,$$(filter-out $(gb_Library_KNOWNLIBS),$(2))) ifneq (,$$(filter-out $(gb_Library_KNOWNLIBS),$(2)))
...@@ -865,7 +869,7 @@ $(call gb_LinkTarget__use_libraries,$(1),$(2),$(2),$(4)) ...@@ -865,7 +869,7 @@ $(call gb_LinkTarget__use_libraries,$(1),$(2),$(2),$(4))
else else
$(call gb_LinkTarget__use_libraries,$(1),$(2),$(strip \ $(call gb_LinkTarget__use_libraries,$(1),$(2),$(strip \
$(if $(filter $(gb_MERGEDLIBS),$(2)), \ $(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)) \ $(filter $(gb_MERGEDLIBS),$(2)), merged)) \
$(if $(filter $(gb_URELIBS),$(2)), \ $(if $(filter $(gb_URELIBS),$(2)), \
$(if $(filter $(1),$(foreach lib,$(gb_URELIBS),$(call gb_Library_get_linktarget,$(lib)))), \ $(if $(filter $(1),$(foreach lib,$(gb_URELIBS),$(call gb_Library_get_linktarget,$(lib)))), \
...@@ -1328,11 +1332,15 @@ $(call gb_LinkTarget_get_target,$(1)) :| \ ...@@ -1328,11 +1332,15 @@ $(call gb_LinkTarget_get_target,$(1)) :| \
endef endef
# this forwards to functions that must be defined in RepositoryExternal.mk. # 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 define gb_LinkTarget_use_external
$(if $(filter undefined,$(origin gb_LinkTarget__use_$(2))),\ $(if $(filter undefined,$(origin gb_LinkTarget__use_$(2))),\
$(error gb_LinkTarget_use_external: unknown external: $(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 endef
# $(call gb_LinkTarget_use_externals,library,externals) # $(call gb_LinkTarget_use_externals,library,externals)
......
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