summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2021-12-06 17:41:30 +0000
committerJan-Marek Glogowski <glogow@fbihome.de>2021-12-15 21:19:49 +0100
commit8a008416c7c72321964c219f9979c4730e6e1a63 (patch)
treee6271caea6e9693778d8e98701b0cae99c573b5a
parentadd support for macOS SDK 12.1 (diff)
downloadcore-8a008416c7c72321964c219f9979c4730e6e1a63.tar.gz
core-8a008416c7c72321964c219f9979c4730e6e1a63.zip
lockfile: use a single build condition
... and introduce solenv/gbuild/Conditions.mk The Conditions.mk is included just after the Helpers.mk, which should make its content available basically everywhere. Change-Id: Ie4498e12b3d0f676ed0c9abf4b3bb4899d6a1c03 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126787 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
-rw-r--r--Repository.mk2
-rw-r--r--solenv/Module_solenv.mk2
-rw-r--r--solenv/gbuild/Conditions.mk14
-rw-r--r--solenv/gbuild/extensions/pre_BuildTools.mk2
-rw-r--r--solenv/gbuild/gbuild.mk2
-rw-r--r--solenv/gbuild/platform/unxgcc.mk15
6 files changed, 31 insertions, 6 deletions
diff --git a/Repository.mk b/Repository.mk
index ae2804c6ebcc..91e8780a01ba 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -44,7 +44,7 @@ $(eval $(call gb_Helper_register_executables,NONE, \
$(if $(filter iOS,$(OS)),LibreOffice) \
lngconvex \
localize \
- $(if $(filter-out ANDROID MACOSX iOS WNT,$(OS)),lockfile) \
+ $(call gb_CondBuildLockfile,lockfile) \
makedepend \
mbsdiff \
osl_process_child \
diff --git a/solenv/Module_solenv.mk b/solenv/Module_solenv.mk
index 62433c30da72..1c2793c104bf 100644
--- a/solenv/Module_solenv.mk
+++ b/solenv/Module_solenv.mk
@@ -16,7 +16,7 @@ $(eval $(call gb_Module_add_targets_for_build,solenv,\
ifeq (,$(LOCKFILE))
$(eval $(call gb_Module_add_targets_for_build,solenv,\
- $(if $(filter-out ANDROID MACOSX iOS WNT,$(OS)),Executable_lockfile) \
+ $(call gb_CondBuildLockfile,Executable_lockfile) \
))
endif
diff --git a/solenv/gbuild/Conditions.mk b/solenv/gbuild/Conditions.mk
new file mode 100644
index 000000000000..bf81215f25eb
--- /dev/null
+++ b/solenv/gbuild/Conditions.mk
@@ -0,0 +1,14 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+define gb_CondBuildLockfile
+$(if $(and $(filter-out ANDROID MACOSX iOS WNT,$(OS))),$(1),$(2))
+endef
+
+# vim: set noet sw=4 ts=4:
diff --git a/solenv/gbuild/extensions/pre_BuildTools.mk b/solenv/gbuild/extensions/pre_BuildTools.mk
index 8481a3785637..e7602c2d7089 100644
--- a/solenv/gbuild/extensions/pre_BuildTools.mk
+++ b/solenv/gbuild/extensions/pre_BuildTools.mk
@@ -24,7 +24,7 @@ gb_BUILD_TOOLS_executables = \
helpex \
idxdict \
javamaker \
- $(if $(filter-out ANDROID MACOSX iOS WNT,$(OS)),lockfile) \
+ $(call gb_CondBuildLockfile,lockfile) \
makedepend \
propex \
saxparser \
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 6d074400748d..e2c6b9aee6a2 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -68,6 +68,8 @@ gb_VERBOSE := $(verbose)
include $(GBUILDDIR)/Helper.mk
+include $(GBUILDDIR)/Conditions.mk
+
# optional extensions that should never be essential
ifneq ($(wildcard $(GBUILDDIR)/extensions/pre_*.mk),)
include $(wildcard $(GBUILDDIR)/extensions/pre_*.mk)
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index fe935a5e8a1a..2aba54f2bca1 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -101,7 +101,16 @@ gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS)
gb_LinkTarget__cmd_lockfile = $(if $(LOCKFILE),$(LOCKFILE),$(call gb_Executable_get_command,lockfile))
gb_LinkTarget__Lock := $(WORKDIR)/LinkTarget/link.lock
-gb_LinkTarget__WantLock = $(if $(and $(filter-out ANDROID MACOSX iOS WNT,$(OS)),$(filter TRUE,$(DISABLE_DYNLOADING)),$(filter CppunitTest Executable,$(TARGETTYPE))),$(true))
+
+# No newline or space before endef!
+define gb_LinkTarget__WantLock
+$(if $(strip $(and \
+ $(call gb_CondBuildLockfile,$(true)), \
+ $(filter-out Executable/lockfile,$(1)), \
+ $(DISABLE_DYNLOADING), \
+ $(filter CppunitTest Executable,$(TARGETTYPE)) \
+ )),$(true))
+endef
gb_LinkTarget__NeedsCxxLinker = $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTLISTS)$(filter-out XTRUE,X$(ENABLE_RUNTIME_OPTIMIZATIONS)),$(true))
@@ -113,7 +122,7 @@ gb_LinkTarget__NeedsCxxLinker = $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTL
# libclang_rt.ubsan_cxx-x86_64.a, and oosplash links against sal but itself only
# contains .c sources:
define gb_LinkTarget__command_dynamiclink
-$(if $(gb_LinkTarget__WantLock),$(gb_LinkTarget__cmd_lockfile) -r -1 $(gb_LinkTarget__Lock))
+$(if $(call gb_LinkTarget__WantLock,$2),$(gb_LinkTarget__cmd_lockfile) -r -1 $(gb_LinkTarget__Lock))
$(call gb_Helper_abbreviate_dirs,\
$(if $(call gb_LinkTarget__NeedsCxxLinker),$(or $(T_CXX),$(gb_CXX)) $(gb_CXX_LINKFLAGS),$(or $(T_CC),$(gb_CC))) \
$(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
@@ -147,7 +156,7 @@ $(call gb_Helper_abbreviate_dirs,\
) \
-o $(1) \
$(if $(SOVERSIONSCRIPT),&& ln -sf ../../program/$(notdir $(1)) $(ILIBTARGET)) \
- $(if $(gb_LinkTarget__WantLock),; RC=$$? ; rm -f $(gb_LinkTarget__Lock); if test $$RC -ne 0; then exit $$RC; fi))
+ $(if $(call gb_LinkTarget__WantLock,$(2)),; RC=$$? ; rm -f $(gb_LinkTarget__Lock); if test $$RC -ne 0; then exit $$RC; fi))
$(if $(filter Library,$(TARGETTYPE)), $(call gb_Helper_abbreviate_dirs,\
$(READELF) -d $(1) | grep SONAME > $(WORKDIR)/LinkTarget/$(2).exports.tmp; \