[Libreoffice-commits] .: 2 commits - extras/CustomTarget_autocorr.mk filter/Configuration_filter.mk filter/CustomTarget_svg.mk i18npool/CustomTarget_localedata.mk officecfg/CustomTarget_registry.mk readlicense_oo/CustomTarget_readme.mk RepositoryExternal.mk Repository.mk solenv/gbuild writerfilter/CustomTarget_source.mk

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sun Dec 2 02:01:03 PST 2012


 Repository.mk                         |    8 ++
 RepositoryExternal.mk                 |   81 +++++++++++++++++++++
 extras/CustomTarget_autocorr.mk       |    5 -
 filter/Configuration_filter.mk        |    9 +-
 filter/CustomTarget_svg.mk            |    4 -
 i18npool/CustomTarget_localedata.mk   |    5 -
 officecfg/CustomTarget_registry.mk    |    5 -
 readlicense_oo/CustomTarget_readme.mk |    5 -
 solenv/gbuild/ComponentTarget.mk      |    5 -
 solenv/gbuild/ComponentsTarget.mk     |   78 --------------------
 solenv/gbuild/Configuration.mk        |   29 ++++---
 solenv/gbuild/ExternalExecutable.mk   |  127 ++++++++++++++++++++++++++++++++++
 solenv/gbuild/Rdb.mk                  |    4 -
 solenv/gbuild/TargetLocations.mk      |    2 
 solenv/gbuild/UnoApiTarget.mk         |    2 
 solenv/gbuild/gbuild.mk               |   49 -------------
 writerfilter/CustomTarget_source.mk   |   42 +++++------
 17 files changed, 283 insertions(+), 177 deletions(-)

New commits:
commit 9ef9bba9fe1d7a5b86f3287064fbf7023771f0a4
Author: David Tardon <dtardon at redhat.com>
Date:   Sun Dec 2 10:59:10 2012 +0100

    ditch unused makefile
    
    Change-Id: If859e46758c622f4841b8b0389abe2485f4af85a

diff --git a/solenv/gbuild/ComponentsTarget.mk b/solenv/gbuild/ComponentsTarget.mk
deleted file mode 100644
index 94ecfff..0000000
--- a/solenv/gbuild/ComponentsTarget.mk
+++ /dev/null
@@ -1,79 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-# Version: MPL 1.1 / GPLv3+ / LGPLv3+
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License or as specified alternatively below. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# Major Contributor(s):
-# Copyright (C) 2011 Red Hat, Inc., Stephan Bergmann <sbergman at redhat.com>
-#  (initial developer)
-#
-# All Rights Reserved.
-#
-# For minor contributions see the git repository.
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
-# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
-# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
-# instead of those above.
-
-# Create a .components file bundling multiple .component files:
-
-# $(1): ID of this components entity (a relative pathname without ".components"
-#  extension)
-define gb_ComponentsTarget_ComponentsTarget
-$(call gb_ComponentsTarget_get_target,$(1)): \
-    $(call gb_ComponentsTarget_get_target,$(1)).input
-$(call gb_ComponentsTarget_get_target,$(1)).input: COMPONENTFILES :=
-$(eval $(call gb_Module_register_target,$(call gb_ComponentsTarget_get_target,$(1)),$(call gb_ComponentsTarget_get_clean_target,$(1))))
-
-endef
-
-# $(1): ID of this components entity
-# $(2): absolute .component pathname (must be underneath $(WORKDIR) due to the
-#  --stringparam prefix approach of $(SOLARENV)/bin/packcomponents.xslt)
-define gb_ComponentsTarget_add_componentfile
-$(call gb_ComponentsTarget_get_target,$(1)): $(2)
-$(call gb_ComponentsTarget_get_target,$(1)).input: COMPONENTFILES += $(2)
-
-endef
-
-$(call gb_ComponentsTarget_get_target,%): \
-            $(call gb_ComponentsTarget_get_target,%).input \
-            | $(call gb_ExternalExecutable_get_deps,xsltproc)
-	$(call gb_Output_announce,$*,$(true),CPS,1)
-	$(call gb_Helper_abbreviate_dirs, \
-            mkdir -p $(dir $@))
-	$(call gb_Helper_abbreviate_dirs, \
-            $(call gb_ExternalExecutable_get_command,xsltproc) --nonet --stringparam prefix $(WORKDIR) -o $@ \
-            $(SOLARENV)/bin/packcomponents.xslt $@.input)
-
-$(call gb_ComponentsTarget_get_clean_target,%): \
-            $(call gb_ComponentsTarget_get_clean_target,%).input
-	$(call gb_Output_announce,$*,$(false),CPS,1)
-	$(call gb_Helper_abbreviate_dirs, \
-            rm -f $(call gb_ComponentsTarget_get_target,$*))
-
-$(call gb_ComponentsTarget_get_target,%).input:
-	$(call gb_Output_announce,$*,$(true),CPI,1)
-	$(call gb_Helper_abbreviate_dirs, \
-            mkdir -p $(dir $@))
-	$(call gb_Helper_abbreviate_dirs, \
-            printf '<list>%s</list>' \
-            "$(foreach i,$(COMPONENTFILES),<filename>$(subst $(WORKDIR),,$i)</filename>)" \
-            > $@)
-
-$(call gb_ComponentsTarget_get_clean_target,%).input:
-	$(call gb_Output_announce,$*,$(false),CPI,1)
-	$(call gb_Helper_abbreviate_dirs, \
-            rm -f $(call gb_ComponentsTarget_get_target,$*).input)
-
-# vim: set noet sw=4:
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 0692954..32887be 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -92,7 +92,6 @@ gb_CliNativeLibraryTarget_get_external_target = $(WORKDIR)/CliNativeLibraryTarge
 gb_CliNativeLibraryTarget_get_target = $(WORKDIR)/CliNativeLibraryTarget/$(1)$(gb_CliNativeLibraryTarget_EXT)
 gb_CliUnoApiTarget_get_target = $(WORKDIR)/CliUnoApiTarget/$(1)$(gb_CliUnoApiTarget_EXT)
 gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component
-gb_ComponentsTarget_get_target = $(WORKDIR)/ComponentsTarget/$(1).components
 gb_Configuration_get_preparation_target = $(WORKDIR)/Configuration/$(1).prepared
 gb_CppunitTest_get_target = $(WORKDIR)/CppunitTest/$(1).test
 gb_CppunitTestFakeExecutable_get_target = \
@@ -234,7 +233,6 @@ $(eval $(call gb_Helper_make_clean_targets,\
 	CliNativeLibraryTarget \
 	CliUnoApiTarget \
 	ComponentTarget \
-	ComponentsTarget \
 	ExternalPackage \
 	ExtensionTarget \
 	InstallModule \
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 40372e1..06a9dca 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -285,7 +285,6 @@ include $(SOLARENV)/inc/minor.mk
 
 include $(foreach class, \
 	ComponentTarget \
-	ComponentsTarget \
 	AllLangResTarget \
 	WinResTarget \
 	LinkTarget \
commit c2eca359af3eb88ebde341df5b87c24e178f5d5c
Author: David Tardon <dtardon at redhat.com>
Date:   Sun Dec 2 10:51:37 2012 +0100

    move setting up of ext. executables out of gbuild.mk
    
    Change-Id: Icacd44abfa5bf5f75f0ee719b39fba6821976a8a

diff --git a/Repository.mk b/Repository.mk
index 61d3ce9..d4e4308 100755
--- a/Repository.mk
+++ b/Repository.mk
@@ -759,4 +759,12 @@ $(eval $(call gb_Helper_register_jars,OXT, \
 	sun-report-builder \
 ))
 
+# External executables
+$(eval $(call gb_ExternalExecutable_register_executables,\
+	python \
+	ucpp \
+	xmllint \
+	xsltproc \
+))
+
 # vim: set noet sw=4 ts=4:
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 5f02c49..bec2abd 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -2398,4 +2398,85 @@ endef
 
 endif # SYSTEM_JFREEREPORT
 
+
+# Executables
+
+ifneq ($(SYSTEM_LIBXML_FOR_BUILD),YES)
+
+gb_ExternalExecutable__register_xmllint :=
+
+else # ! SYSTEM_LIBXML_FOR_BUILD
+
+define gb_ExternalExecutable__register_xmllint
+gb_ExternalExecutable__xmllint_TARGET := $(call gb_Executable_get_target_for_build,xmllint)
+gb_ExternalExecutable__xmllint_COMMAND := $(gb_Helper_set_ld_path) $(ICECREAM_RUN) $(gb_ExternalExecutable__xmllint_TARGET)
+
+endef
+
+endif # SYSTEM_LIBXML_FOR_BUILD
+
+ifeq ($(SYSTEM_LIBXSLT_FOR_BUILD),YES)
+
+gb_ExternalExecutable__register_xsltproc :=
+
+else # ! SYSTEM_LIBXSLT_FOR_BUILD
+
+define gb_ExternalExecutable__register_xsltproc
+gb_ExternalExecutable__xsltproc_TARGET := $(call gb_Executable_get_target_for_build,xsltproc)
+gb_ExternalExecutable__xsltproc_COMMAND := $(gb_Helper_set_ld_path) $(ICECREAM_RUN) $(gb_ExternalExecutable__xsltproc_TARGET)
+
+endef
+
+endif # SYSTEM_LIBXSLT_FOR_BUILD
+
+ifneq (,$(SYSTEM_UCPP))
+
+gb_ExternalExecutable__register_ucpp :=
+
+else # ! SYSTEM_UCPP
+
+define gb_ExternalExecutable__register_ucpp
+gb_ExternalExecutable__ucpp_TARGET := $(call gb_Executable_get_target_for_build,ucpp)
+
+endef
+
+endif # SYSTEM_UCPP
+
+# TODO what do do with gb_PYTHON_PRECOMMAND? Move here?
+ifeq ($(SYSTEM_PYTHON),YES)
+
+define gb_ExternalExecutable__register_python
+gb_ExternalExecutable__python_COMMAND := $(ICECREAM_RUN) $(PYTHON)
+
+endef
+
+else ifeq ($(OS),MACOSX)
+
+#fixme: remove this MACOSX ifeq branch by filling in gb_PYTHON_PRECOMMAND in
+#gbuild/platform/macosx.mk correctly for mac, e.g. PYTHONPATH and PYTHONHOME
+#dirs for in-tree internal python
+define gb_ExternalExecutable__register_python
+gb_ExternalExecutable__python_COMMAND := $(ICECREAM_RUN) $(PYTHON)
+
+endef
+
+else ifeq ($(DISABLE_PYTHON),TRUE)
+
+# Build-time python
+gb_ExternalExecutable__register_python :=
+
+else # ! SYSTEM_PYTHON
+
+# internal python
+define gb_ExternalExecutable__register_python
+gb_ExternalExecutable__python_TARGET := $(call gb_Executable_get_target_for_build,python)
+gb_ExternalExecutable__python_PRECOMMAND := $(gb_PYTHON_PRECOMMAND)
+gb_ExternalExecutable__python_DEPS := \
+	$(call gb_Executable_get_target_for_build,python) \
+	$(call gb_Package_get_target,python3)
+
+endef
+
+endif # SYSTEM_PYTHON
+
 # vim: set noet sw=4 ts=4:
diff --git a/extras/CustomTarget_autocorr.mk b/extras/CustomTarget_autocorr.mk
index e621b34..0c6809b 100644
--- a/extras/CustomTarget_autocorr.mk
+++ b/extras/CustomTarget_autocorr.mk
@@ -281,9 +281,10 @@ $(call gb_CustomTarget_get_workdir,extras/source/autotext)/%/mimetype : $(SRCDIR
 	$(call gb_Output_announce,$*/mimetype,$(true),CPY,1)
 	cp $< $@
 
-$(call gb_CustomTarget_get_workdir,extras/source/autotext)/%.xml : $(SRCDIR)/extras/source/autotext/lang/%.xml
+$(call gb_CustomTarget_get_workdir,extras/source/autotext)/%.xml : $(SRCDIR)/extras/source/autotext/lang/%.xml \
+		| $(call gb_ExternalExecutable_get_deps,xsltproc)
 	$(call gb_Output_announce,$*.xml,$(true),XSL,1)
-	$(gb_XSLTPROC) -o $@ $(SRCDIR)/extras/util/compact.xsl $<
+	$(call gb_ExternalExecutable_get_command,xsltproc) -o $@ $(SRCDIR)/extras/util/compact.xsl $<
 
 $(call gb_CustomTarget_get_workdir,extras/source/autotext)/%.dat :
 	$(call gb_Output_announce,$*.dat,$(true),ZIP,2)
diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk
index dd4a09d..d7fbe1e 100644
--- a/filter/Configuration_filter.mk
+++ b/filter/Configuration_filter.mk
@@ -22,9 +22,9 @@
 # semi-integrated with the stuff from Configuration.mk; not exactly pretty...
 
 ifeq ($(SOLAR_JAVA),)
-filter_MERGE_TARGET := $(gb_PYTHONTARGET) \
+filter_MERGE_TARGET := $(call gb_ExternalExecutable_get_deps,python) \
 	$(SRCDIR)/filter/source/config/tools/merge/pyAltFCFGMerge
-filter_MERGE := $(gb_PYTHON) \
+filter_MERGE := $(call gb_ExternalExecutable_get_command,python) \
 	$(SRCDIR)/filter/source/config/tools/merge/pyAltFCFGMerge
 else # SOLAR_JAVA
 filter_MERGE_TARGET := $(OUTDIR_FOR_BUILD)/bin/FCFGMerge.jar
@@ -229,11 +229,12 @@ $(call gb_Configuration_get_clean_target,fcfg_langpack) : \
 # so generate non-pattern rules which have higher priority even in GNUmake 3.81
 define filter_XcuResTarget__rule
 $$(call filter_XcuResTarget_get_target,$(1)) : \
-		$(filter_XSLT_langfilter) $(filter_XcuFilterUiTarget)
+		$(filter_XSLT_langfilter) $(filter_XcuFilterUiTarget) \
+		| $(call gb_ExternalExecutable_get_deps,xsltproc)
 	$$(call gb_Output_announce,$(1),$(true),XCU,1)
 	$$(call gb_Helper_abbreviate_dirs,\
 		mkdir -p $$(dir $$@) && \
-		$(gb_XSLTPROC) --nonet --stringparam lang $(1) \
+		$(call gb_ExternalExecutable_get_command,xsltproc) --nonet --stringparam lang $(1) \
 			$(filter_XSLT_langfilter) \
 			$(filter_XcuFilterUiTarget) > $$@)
 endef
diff --git a/filter/CustomTarget_svg.mk b/filter/CustomTarget_svg.mk
index 1b374ff..461907e 100644
--- a/filter/CustomTarget_svg.mk
+++ b/filter/CustomTarget_svg.mk
@@ -59,12 +59,12 @@ $(filter_GEN_svg_Tokens_cxx) : $(filter_GEN_svg_Tokens_gperf)
 			 > $(filter_GEN_svg_Tokens_cxx))
 
 $(filter_GEN_svg_Script_hxx) : \
-			$(gb_PYTHONTARGET) \
+			$(call gb_ExternalExecutable_get_deps,python) \
 			$(filter_SRC_svg_PresentationEngine) $(filter_SRC_svg_Js2Hxx) \
 			| $(filter_SVGWORK)/.dir
 	$(call gb_Output_announce,$@,build,PY ,1)
 	$(call gb_Helper_abbreviate_dirs, \
-		$(gb_PYTHON) $(filter_SRC_svg_Js2Hxx) \
+		$(call gb_ExternalExecutable_get_command,python) $(filter_SRC_svg_Js2Hxx) \
 			$(filter_SRC_svg_PresentationEngine) \
 			$(filter_GEN_svg_Script_hxx))
 
diff --git a/i18npool/CustomTarget_localedata.mk b/i18npool/CustomTarget_localedata.mk
index 9210142..f7dbcd2 100644
--- a/i18npool/CustomTarget_localedata.mk
+++ b/i18npool/CustomTarget_localedata.mk
@@ -53,10 +53,11 @@ $(i18npool_LDDIR)/localedata_%.cxx : \
 		rm $@.tmp)
 
 $(i18npool_LDDIR)/saxparser.rdb : $(i18npool_LDDIR)/saxparser.input \
-		$(gb_XSLTPROCTARGET) $(SOLARENV)/bin/packcomponents.xslt
+		$(SOLARENV)/bin/packcomponents.xslt \
+		| $(call gb_ExternalExecutable_get_deps,xsltproc)
 	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),RDB,1)
 	$(call gb_Helper_abbreviate_dirs, \
-		$(gb_XSLTPROC) --nonet --stringparam prefix $(OUTDIR_FOR_BUILD)/xml/ \
+		$(call gb_ExternalExecutable_get_command,xsltproc) --nonet --stringparam prefix $(OUTDIR_FOR_BUILD)/xml/ \
 			-o $@ $(SOLARENV)/bin/packcomponents.xslt $<)
 
 $(i18npool_LDDIR)/saxparser.input : $(call gb_ComponentTarget_get_outdir_target,sax/source/expatwrap/expwrap) | $(i18npool_LDDIR)/.dir
diff --git a/officecfg/CustomTarget_registry.mk b/officecfg/CustomTarget_registry.mk
index c655ff3..c947aa6 100644
--- a/officecfg/CustomTarget_registry.mk
+++ b/officecfg/CustomTarget_registry.mk
@@ -46,9 +46,10 @@ officecfg_xsltparams=$(if $(filter-out $(lastword $1),$1),$(call officecfg_xsltp
 
 $(call gb_CustomTarget_get_workdir,officecfg/registry)/%.hxx: \
             $(SRCDIR)/officecfg/registry/schema/org/openoffice/%.xcs \
-            $(SRCDIR)/officecfg/registry/cppheader.xsl | $(gb_XSLTPROCTARGET)
+            $(SRCDIR)/officecfg/registry/cppheader.xsl\
+	    | $(call gb_ExternalExecutable_get_deps,xsltproc)
 	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),XSL,1)
 	$(call gb_Helper_abbreviate_dirs, \
 	mkdir -p $(dir $@) && \
-	$(gb_XSLTPROC) --nonet $(call officecfg_xsltparams,$(subst /, ,$*)) \
+	$(call gb_ExternalExecutable_get_command,xsltproc) --nonet $(call officecfg_xsltparams,$(subst /, ,$*)) \
 	    -o $@ $(SRCDIR)/officecfg/registry/cppheader.xsl $<)
diff --git a/readlicense_oo/CustomTarget_readme.mk b/readlicense_oo/CustomTarget_readme.mk
index 50c2b09..2f2ddda 100644
--- a/readlicense_oo/CustomTarget_readme.mk
+++ b/readlicense_oo/CustomTarget_readme.mk
@@ -55,10 +55,11 @@ endif
 $(readlicense_oo_README_PATTERN) : \
 		$(SRCDIR)/readlicense_oo/docs/readme.xsl \
 		$(readlicense_oo_README_XRM) \
-		| $(readlicense_oo_DIR)/.dir
+		| $(readlicense_oo_DIR)/.dir \
+		  $(call gb_ExternalExecutable_get_deps,xsltproc)
 	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),XSL,1)
 	$(call gb_Helper_abbreviate_dirs, \
-		$(gb_XSLTPROC) --nonet --novalid -o $@.out \
+		$(call gb_ExternalExecutable_get_command,xsltproc) --nonet --novalid -o $@.out \
 			--stringparam com1 $(COM) \
 			--stringparam cp1 $(CPUNAME) \
 			--stringparam gui1 $(GUI) \
diff --git a/solenv/gbuild/ComponentTarget.mk b/solenv/gbuild/ComponentTarget.mk
index e99ffab..1b77e0e 100644
--- a/solenv/gbuild/ComponentTarget.mk
+++ b/solenv/gbuild/ComponentTarget.mk
@@ -39,7 +39,7 @@ $(call gb_Output_announce,$(3),$(true),CMP,1)
 $(if $(LIBFILENAME),,$(call gb_Output_error,No LIBFILENAME set at component target: $(1)))
 $(call gb_Helper_abbreviate_dirs,\
 	mkdir -p $(dir $(1)) && \
-	$(gb_XSLTPROC) --nonet --stringparam uri \
+	$(call gb_ExternalExecutable_get_command,xsltproc) --nonet --stringparam uri \
 		'$(if $(filter TRUE,$(DISABLE_DYNLOADING)),,$(subst \d,$$,$(COMPONENTPREFIX)))$(LIBFILENAME)' -o $(1) \
 		$(gb_ComponentTarget_XSLTCOMMANDFILE) $(2))
 endef
@@ -52,7 +52,8 @@ $(call gb_ComponentTarget_get_clean_target,%) :
 
 
 $(call gb_ComponentTarget_get_target,%) : \
-		$(call gb_ComponentTarget_get_source,%) $(gb_XSLTPROCTARGET)
+		$(call gb_ComponentTarget_get_source,%) \
+		| $(call gb_ExternalExecutable_get_deps,xsltproc)
 	$(call gb_ComponentTarget__command,$@,$<,$*)
 
 # the .dir is for make 3.81, which ignores trailing /
diff --git a/solenv/gbuild/ComponentsTarget.mk b/solenv/gbuild/ComponentsTarget.mk
index b211488..94ecfff 100644
--- a/solenv/gbuild/ComponentsTarget.mk
+++ b/solenv/gbuild/ComponentsTarget.mk
@@ -47,12 +47,13 @@ $(call gb_ComponentsTarget_get_target,$(1)).input: COMPONENTFILES += $(2)
 endef
 
 $(call gb_ComponentsTarget_get_target,%): \
-            $(call gb_ComponentsTarget_get_target,%).input
+            $(call gb_ComponentsTarget_get_target,%).input \
+            | $(call gb_ExternalExecutable_get_deps,xsltproc)
 	$(call gb_Output_announce,$*,$(true),CPS,1)
 	$(call gb_Helper_abbreviate_dirs, \
             mkdir -p $(dir $@))
 	$(call gb_Helper_abbreviate_dirs, \
-            $(gb_XSLTPROC) --nonet --stringparam prefix $(WORKDIR) -o $@ \
+            $(call gb_ExternalExecutable_get_command,xsltproc) --nonet --stringparam prefix $(WORKDIR) -o $@ \
             $(SOLARENV)/bin/packcomponents.xslt $@.input)
 
 $(call gb_ComponentsTarget_get_clean_target,%): \
diff --git a/solenv/gbuild/Configuration.mk b/solenv/gbuild/Configuration.mk
index 1de28ad..05a096f 100644
--- a/solenv/gbuild/Configuration.mk
+++ b/solenv/gbuild/Configuration.mk
@@ -57,6 +57,9 @@ gb_Configuration__get_source = $(SRCDIR)/$(2)
 # The main LibreOffice registry
 gb_Configuration_PRIMARY_REGISTRY_NAME := registry
 
+gb_Configuration_XSLTCOMMAND = $(call gb_ExternalExecutable_get_command,xsltproc)
+gb_Configuration_XSLTCOMMAND_DEPS = $(call gb_ExternalExecutable_get_deps,xsltproc)
+
 # XcsTarget class
 
 # need to locate a schema file corresponding to some XCU file in the outdir
@@ -75,18 +78,18 @@ define gb_XcsTarget__command
 $(call gb_Output_announce,$(2),$(true),XCS,1)
 $(call gb_Helper_abbreviate_dirs,\
 	mkdir -p $(dir $(1)) && \
-	$(gb_XSLTPROC) --nonet \
+	$(gb_Configuration_XSLTCOMMAND) --nonet \
 		--noout \
 		--stringparam componentName $(subst /,.,$(basename $(XCSFILE))) \
 		--stringparam root $(subst $(XCSFILE),,$(3)) \
 		$(if $(PRIMARY_REGISTRY),,--stringparam schemaRoot $(call gb_XcsTarget_get_outdir_target,)) \
 		$(gb_XcsTarget_XSLT_SchemaVal) \
 		$(3) && \
-	$(gb_XSLTPROC) --nonet \
+	$(gb_Configuration_XSLTCOMMAND) --nonet \
 		--noout \
 		$(gb_XcsTarget_XSLT_Sanity) \
 		$(3) && \
-	$(gb_XSLTPROC) --nonet \
+	$(gb_Configuration_XSLTCOMMAND) --nonet \
 		-o $(1) \
 		$(gb_XcsTarget_XSLT_SchemaTrim) \
 		$(3))
@@ -94,7 +97,8 @@ endef
 
 $(call gb_XcsTarget_get_target,%) : \
 	    $(gb_XcsTarget_XSLT_SchemaVal) $(gb_XcsTarget_XSLT_Sanity) \
-		$(gb_XcsTarget_XSLT_SchemaTrim) $(gb_XcsTarget_DTD_Schema)
+		$(gb_XcsTarget_XSLT_SchemaTrim) $(gb_XcsTarget_DTD_Schema) \
+		| $(gb_Configuration_XSLTCOMMAND_DEPS)
 	$(call gb_XcsTarget__command,$@,$*,$(filter %.xcs,$^))
 
 $(call gb_XcsTarget_get_clean_target,%) :
@@ -124,14 +128,14 @@ define gb_XcuDataTarget__command
 $(call gb_Output_announce,$(2),$(true),XCU,2)
 $(call gb_Helper_abbreviate_dirs,\
 	mkdir -p $(dir $(1)) && \
-	$(gb_XSLTPROC) --nonet \
+	$(gb_Configuration_XSLTCOMMAND) --nonet \
 		--noout \
 		--stringparam xcs $(call gb_XcsTarget_for_XcuTarget,$(XCUFILE)) \
 		--stringparam schemaRoot $(call gb_XcsTarget_get_outdir_target,) \
 		--path $(gb_Configuration_registry) \
 		$(gb_XcuDataTarget_XSLT_DataVal) \
 		$(3) && \
-	$(gb_XSLTPROC) --nonet \
+	$(gb_Configuration_XSLTCOMMAND) --nonet \
 		-o $(1) \
 		--stringparam xcs $(call gb_XcsTarget_for_XcuTarget,$(XCUFILE)) \
 		--stringparam schemaRoot $(call gb_XcsTarget_get_outdir_target,) \
@@ -141,7 +145,8 @@ $(call gb_Helper_abbreviate_dirs,\
 endef
 
 $(call gb_XcuDataTarget_get_target,%) : $(gb_XcuDataTarget_XSLT_DataVal) \
-		$(gb_XcuTarget_XSLT_AllLang) $(gb_XcuDataTarget_DTD_ComponentUpdate)
+		$(gb_XcuTarget_XSLT_AllLang) $(gb_XcuDataTarget_DTD_ComponentUpdate) \
+		| $(gb_Configuration_XSLTCOMMAND_DEPS)
 	$(call gb_XcuDataTarget__command,$@,$*,$(filter %.xcu,$^))
 
 $(call gb_XcuDataTarget_get_clean_target,%) :
@@ -175,7 +180,7 @@ define gb_XcuModuleTarget__command
 $(call gb_Output_announce,$(2),$(true),XCU,3)
 $(call gb_Helper_abbreviate_dirs,\
 	mkdir -p $(dir $(1)) && \
-	$(gb_XSLTPROC) --nonet \
+	$(gb_Configuration_XSLTCOMMAND) --nonet \
 		-o $(1) \
 		--stringparam xcs $(4) \
 		--stringparam schemaRoot $(call gb_XcsTarget_get_outdir_target,) \
@@ -184,7 +189,8 @@ $(call gb_Helper_abbreviate_dirs,\
 		$(3))
 endef
 
-$(call gb_XcuModuleTarget_get_target,%) : $(gb_XcuTarget_XSLT_AllLang)
+$(call gb_XcuModuleTarget_get_target,%) : $(gb_XcuTarget_XSLT_AllLang) \
+		| $(gb_Configuration_XSLTCOMMAND_DEPS)
 	$(call gb_XcuModuleTarget__command,$@,$*,$(filter %.xcu,$^),$(filter %.xcs,$^))
 
 $(call gb_XcuModuleTarget_get_clean_target,%) :
@@ -294,7 +300,7 @@ define gb_XcuResTarget__command
 $(call gb_Output_announce,$(2),$(true),XCU,6)
 $(call gb_Helper_abbreviate_dirs,\
 	mkdir -p $(dir $(1)) && \
-	$(gb_XSLTPROC) --nonet \
+	$(gb_Configuration_XSLTCOMMAND) --nonet \
 		-o $(1) \
 		--stringparam xcs $(call gb_XcsTarget_for_XcuTarget,$(XCUFILE)) \
 		--stringparam schemaRoot $(call gb_XcsTarget_get_outdir_target,) \
@@ -304,7 +310,8 @@ $(call gb_Helper_abbreviate_dirs,\
 		$(3))
 endef
 
-$(call gb_XcuResTarget_get_target,%) : $(gb_XcuTarget_XSLT_AllLang)
+$(call gb_XcuResTarget_get_target,%) : $(gb_XcuTarget_XSLT_AllLang) \
+		| $(gb_Configuration_XSLTCOMMAND_DEPS)
 	$(call gb_XcuResTarget__command,$@,$*,$(filter %.xcu,$^))
 
 $(call gb_XcuResTarget_get_clean_target,%) :
diff --git a/solenv/gbuild/ExternalExecutable.mk b/solenv/gbuild/ExternalExecutable.mk
new file mode 100644
index 0000000..bbdc190
--- /dev/null
+++ b/solenv/gbuild/ExternalExecutable.mk
@@ -0,0 +1,127 @@
+# -*- 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/.
+#
+
+# class ExternalExecutable
+
+# ExternalExecutable is a little helper for using executables that might
+# either come from system or be built internally.
+#
+# The configuration for an external executable is done in
+# RepositoryExternal.mk by defining function
+# gb_ExternalExecutable__register_EXECUTABLE, which should set up to 4
+# variables. The variables are (presuming the executable is named foo):
+
+# * gb_ExternalExecutable__foo_COMMAND
+#   Defines the complete command for the executable. This must include
+#   shell variables, if required. Defaults to
+#   $(gb_ExternalExecutable__foo_PRECOMMAND) $(ICECREAM_RUN) $(gb_ExternalExecutable__foo_TARGET)
+#   (if gb_ExternalExecutable__foo_TARGET is not defined, plain "foo" is substituted).
+#
+# * gb_ExternalExecutable__foo_DEPS
+#   The complete dependencies needed for running the executable. Only
+#   useful for internally built executables to make sure all data,
+#   config. files etc. are present. Defaults to
+#   $(gb_ExternalExecutable__foo_TARGET).
+#
+# * gb_ExternalExecutable__foo_PRECOMMAND
+#   Any variables that need to be set for running the executable.
+#   Typical example is use of $(gb_Helper_set_ld_path) for internally
+#   built executables.
+#
+# * gb_ExternalExecutable__foo_TARGET
+#   A full path to the executable. Typical definition for internally built
+#   executable is $(call gb_Executable_get_target_for_build,foo).
+#
+# Because of the particular choice of the defaults, there is typically
+# nothing that needs to be set for a system executable. 
+#
+# All external executables must be registered (by listing the executable
+# name in gb_ExternalExecutable_register_executables call). This is done in
+# Repository.mk .
+
+# The list of registered executables.
+gb_ExternalExecutable_REGISTERED_EXECUTABLES :=
+
+define gb_ExternalExecutable__add_executable
+$(if $(filter $(executable),$(gb_ExternalExecutable_REGISTERED_EXECUTABLES)),\
+    $(call gb_Output_error,external executable $(executable) has already been registered) \
+)
+gb_ExternalExecutable_REGISTERED_EXECUTABLES += $(1)
+
+endef
+
+# Register one or more external executables.
+#
+# gb_ExternalExecutable_register_executables executable(s)
+define gb_ExternalExecutable_register_executables
+$(foreach executable,$(1),$(call gb_ExternalExecutable__add_executable,$(executable)))
+
+endef
+
+define gb_ExternalExecutable__process_registration
+$(if $(filter undefined,$(origin gb_ExternalExecutable__register_$(executable))),\
+    $(call gb_Output_error,there is no definition for external executable $(executable)) \
+)
+$(call gb_ExternalExecutable__register_$(executable))
+
+endef
+
+# Collect definitions for registered executables.
+#
+# The registration functions will be run.
+#
+# gb_ExternalExecutable_collect_registrations
+define gb_ExternalExecutable_collect_registrations
+$(foreach executable,$(gb_ExternalExecutable_REGISTERED_EXECUTABLES),$(call gb_ExternalExecutable__process_registration,$(executable)))
+
+endef
+
+define gb_ExternalExecutale__check_registration
+$(if $(filter $(1),$(gb_ExternalExecutable_REGISTERED_EXECUTABLES)),,\
+	$(call gb_Output_error,external executable $(1) has not been registered) \
+)
+
+endef
+
+define gb_ExternalExecutable__get_command
+$(call gb_ExternalExecutale__check_registration,$(1))
+$(if $(filter undefined,$(origin gb_ExternalExecutable__$(1)_COMMAND)) \
+    ,$(gb_ExternalExecutable__$(1)_PRECOMMAND) $(ICECREAM_RUN) \
+    	$(if $(gb_ExternalExecutable__$(1)_TARGET),$(gb_ExternalExecutable__$(1)_TARGET),$(1)) \
+    ,$(gb_ExternalExecutable__$(1)_COMMAND) \
+)
+endef
+
+# Return the command for running an external executable.
+#
+# The command includes the required shell variables, if any (e.g.,
+# LD_LIBRARY_PATH for internally built executables), and icerun wrapper
+# for limiting the maximum number of processes, if available.
+#
+# gb_ExternalExecutable_get_command executable
+define gb_ExternalExecutable_get_command
+$(strip $(call gb_ExternalExecutable__get_command,$(1)))
+endef
+
+define gb_ExternalExecutable__get_deps
+$(call gb_ExternalExecutale__check_registration,$(1))
+$(if $(filter undefined,$(origin gb_ExternalExecutable__$(1)_DEPS)) \
+    ,$(gb_ExternalExecutable__$(1)_TARGET) \
+    ,$(gb_ExternalExecutable__$(1)_DEPS) \
+)
+endef
+
+# Return the deps needed for running an external executable.
+#
+# gb_ExternalExecutable_get_deps executable
+define gb_ExternalExecutable_get_deps
+$(strip $(call gb_ExternalExecutable__get_deps,$(1)))
+endef
+
+# vim: set noet sw=4 ts=4:
diff --git a/solenv/gbuild/Rdb.mk b/solenv/gbuild/Rdb.mk
index 0328156..ad4562d 100644
--- a/solenv/gbuild/Rdb.mk
+++ b/solenv/gbuild/Rdb.mk
@@ -33,11 +33,11 @@ $(call gb_Helper_abbreviate_dirs,\
 		$(foreach component,$(COMPONENTS),echo "<filename>$(call gb_ComponentTarget_get_outdir_target,$(component))</filename>" &&) \
 		echo '</list>' \
 	) > $(1).input && \
-	$(gb_XSLTPROC) --nonet -o $(1) $(SOLARENV)/bin/packcomponents.xslt $(1).input && \
+	$(call gb_ExternalExecutable_get_command,xsltproc) --nonet -o $(1) $(SOLARENV)/bin/packcomponents.xslt $(1).input && \
 	rm $(1).input)
 endef
 
-$(call gb_Rdb_get_target,%) :
+$(call gb_Rdb_get_target,%) :| $(call gb_ExternalExecutable_get_deps,xsltproc)
 	$(call gb_Output_announce,$*,$(true),RDB,1)
 	$(call gb_Rdb__command,$@,$*,$?,$^)
 
diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk
index 9246938..12e592d 100644
--- a/solenv/gbuild/UnoApiTarget.mk
+++ b/solenv/gbuild/UnoApiTarget.mk
@@ -72,7 +72,7 @@ endef
 # idlc as well so their dummy rule fires if that changes.
 $(call gb_UnoApiPartTarget_get_target,%.done) : \
 		$(gb_UnoApiPartTarget_IDLCTARGET) \
-		| $(gb_UCPPTARGET)
+		| $(call gb_ExternalExecutable_get_deps,ucpp)
 	$(call gb_UnoApiPartTarget__command,$@,$*,$(filter-out $(gb_UnoApiPartTarget_IDLCTARGET),$(if $(filter $(gb_UnoApiPartTarget_IDLCTARGET),$?),$^,$?)))
 
 ifeq ($(gb_FULLDEPS),$(true))
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 1d1e304..40372e1 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -159,6 +159,7 @@ ifneq ($(strip $(ENVCFLAGSCXX)),)
 gb__ENV_CXXFLAGS := $(ENVCFLAGSCXX)
 endif
 
+include $(GBUILDDIR)/ExternalExecutable.mk
 include $(GBUILDDIR)/Helper.mk
 include $(GBUILDDIR)/TargetLocations.mk
 include $(GBUILDDIR)/Tempfile.mk
@@ -167,6 +168,7 @@ $(eval $(call gb_Helper_init_registries))
 include $(SRCDIR)/Repository.mk
 include $(SRCDIR)/RepositoryExternal.mk
 $(eval $(call gb_Helper_collect_knownlibs))
+$(eval $(call gb_ExternalExecutable_collect_registrations))
 
 gb_Library_DLLPOSTFIX := lo
 
@@ -175,52 +177,6 @@ include $(GBUILDDIR)/platform/$(OS)_$(CPUNAME)_$(COM).mk
 
 include $(SRCDIR)/RepositoryFixes.mk
 
-# Set up build tools that can be either internal or system. It is
-# necessary to do it before we start including gbuild class makefiles,
-# so the classes can add dependencies on them.
-#
-# TODO: As more external modules are converted, we would need more of
-# these (e.g., ICU tools). Maybe the definitions should be moved to
-# RepositoryExternal.mk ?
-ifeq ($(SYSTEM_LIBXSLT_FOR_BUILD),YES)
-gb_XSLTPROCTARGET :=
-gb_XSLTPROC := $(ICECREAM_RUN) xsltproc
-else
-gb_XSLTPROCTARGET := $(call gb_Executable_get_target_for_build,xsltproc)
-gb_XSLTPROC := $(gb_Helper_set_ld_path) $(ICECREAM_RUN) $(gb_XSLTPROCTARGET)
-endif
-
-ifeq ($(SYSTEM_LIBXML_FOR_BUILD),YES)
-gb_XMLLINTTARGET :=
-gb_XMLLINT := $(ICECREAM_RUN) xsltproc
-else
-gb_XMLLINTTARGET := $(call gb_Executable_get_target_for_build,xsltproc)
-gb_XMLLINT := $(gb_Helper_set_ld_path) $(ICECREAM_RUN) $(gb_XMLLINTTARGET)
-endif
-
-ifeq ($(SYSTEM_PYTHON),YES)
-gb_PYTHONTARGET :=
-gb_PYTHON := $(PYTHON)
-else ifeq ($(OS),MACOSX)
-#fixme: remove this MACOSX ifeq branch by filling in gb_PYTHON_PRECOMMAND in
-#gbuild/platform/macosx.mk correctly for mac, e.g. PYTHONPATH and PYTHONHOME
-#dirs for in-tree internal python
-gb_PYTHONTARGET :=
-gb_PYTHON := $(PYTHON)
-else ifeq ($(DISABLE_PYTHON),TRUE)
-# Build-time python
-gb_PYTHON := python
-else
-gb_PYTHONTARGET := $(call gb_Executable_get_target_for_build,python)
-gb_PYTHON := $(gb_PYTHON_PRECOMMAND) $(gb_PYTHONTARGET)
-endif
-
-ifneq (,$(SYSTEM_UCPP))
-gb_UCPPTARGET :=
-else
-gb_UCPPTARGET := $(call gb_Executable_get_target_for_build,ucpp)
-endif
-
 # add user-supplied flags
 ifneq ($(strip gb__ENV_CFLAGS),)
 gb_LinkTarget_CFLAGS += $(gb__ENV_CFLAGS)
diff --git a/writerfilter/CustomTarget_source.mk b/writerfilter/CustomTarget_source.mk
index 5ee3041..bc0c3bf 100644
--- a/writerfilter/CustomTarget_source.mk
+++ b/writerfilter/CustomTarget_source.mk
@@ -12,6 +12,8 @@ $(eval $(call gb_CustomTarget_CustomTarget,writerfilter/source))
 writerfilter_WORK := $(call gb_CustomTarget_get_workdir,writerfilter/source)
 writerfilter_SRC := $(SRCDIR)/writerfilter/source
 
+writerfilter_XSLTCOMMAND := $(call gb_ExternalExecutable_get_command,xsltproc)
+
 writerfilter_OOXMLNAMESPACES= \
 	dml-baseStylesheet \
 	dml-baseTypes \
@@ -103,23 +105,23 @@ writerfilter_SRC_ooxml_ResourceIds_xsl=$(writerfilter_SRC)/ooxml/resourceids.xsl
 
 $(writerfilter_GEN_doctok_QNameToStr_cxx): $(writerfilter_SRC_doctok_QNameToStr_xsl) $(writerfilter_SRC_doctok_Model) $(writerfilter_SRC_doctok_ResourceTools_xsl) | $(writerfilter_WORK)/.dir
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_doctok_QNameToStr_xsl) $(writerfilter_SRC_doctok_Model)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_doctok_QNameToStr_xsl) $(writerfilter_SRC_doctok_Model)) > $@
 
 $(writerfilter_GEN_doctok_ResourceIds_hxx) : $(writerfilter_SRC_doctok_Model) $(writerfilter_SRC_doctok_ResourceIds_xsl)  | $(writerfilter_WORK)/doctok/.dir
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_doctok_ResourceIds_xsl) $(writerfilter_SRC_doctok_Model)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_doctok_ResourceIds_xsl) $(writerfilter_SRC_doctok_Model)) > $@
 
 $(writerfilter_GEN_doctok_Resources_cxx) : $(writerfilter_SRC_doctok_Model) $(writerfilter_SRC_doctok_ResourcesImpl_xsl)  $(writerfilter_SRC_doctok_ResourceTools_xsl) | $(writerfilter_WORK)/doctok/.dir
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_doctok_ResourcesImpl_xsl) $(writerfilter_SRC_doctok_Model)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_doctok_ResourcesImpl_xsl) $(writerfilter_SRC_doctok_Model)) > $@
 
 $(writerfilter_GEN_doctok_Resources_hxx) : $(writerfilter_SRC_doctok_Model) $(writerfilter_SRC_doctok_Resources_xsl) | $(writerfilter_WORK)/doctok/.dir
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_doctok_Resources_xsl) $(writerfilter_SRC_doctok_Model)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_doctok_Resources_xsl) $(writerfilter_SRC_doctok_Model)) > $@
 
 $(writerfilter_GEN_doctok_SprmIds_hxx) : $(writerfilter_SRC_doctok_Model) $(writerfilter_SRC_doctok_SprmIds_xsl) | $(writerfilter_WORK)/doctok/.dir
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_doctok_SprmIds_xsl) $(writerfilter_SRC_doctok_Model)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_doctok_SprmIds_xsl) $(writerfilter_SRC_doctok_Model)) > $@
 
 $(writerfilter_GEN_model_SprmCodeToStr_cxx): $(writerfilter_SRC)/resourcemodel/sprmcodetostrheader $(writerfilter_GEN_model_SprmCodeToStr_tmp) $(writerfilter_SRC)/resourcemodel/sprmcodetostrfooter
 	$(call gb_Output_announce,$@,build,CAT,1)
@@ -127,44 +129,44 @@ $(writerfilter_GEN_model_SprmCodeToStr_cxx): $(writerfilter_SRC)/resourcemodel/s
 
 $(writerfilter_GEN_model_SprmCodeToStr_tmp) : $(writerfilter_SRC_doctok_SprmCodeToStr_xsl) $(writerfilter_SRC_doctok_Model) | $(writerfilter_WORK)/.dir
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_doctok_SprmCodeToStr_xsl) $(writerfilter_SRC_doctok_Model)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_doctok_SprmCodeToStr_xsl) $(writerfilter_SRC_doctok_Model)) > $@
 
 $(writerfilter_GEN_ooxml_Factory_cxx) : $(writerfilter_SRC)/ooxml/factoryimpl.xsl $(writerfilter_GEN_ooxml_Model_processed)
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $< $(writerfilter_GEN_ooxml_Model_processed)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $< $(writerfilter_GEN_ooxml_Model_processed)) > $@
 
 $(writerfilter_GEN_ooxml_Factory_hxx) : $(writerfilter_SRC)/ooxml/factoryinc.xsl $(writerfilter_GEN_ooxml_Model_processed)
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $< $(writerfilter_GEN_ooxml_Model_processed)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $< $(writerfilter_GEN_ooxml_Model_processed)) > $@
 
 $(writerfilter_GEN_ooxml_FactoryValues_cxx) : $(writerfilter_SRC_ooxml_FactoryValuesImpl_xsl) $(writerfilter_GEN_ooxml_Model_processed)
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_ooxml_FactoryValuesImpl_xsl) $(writerfilter_GEN_ooxml_Model_processed)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_ooxml_FactoryValuesImpl_xsl) $(writerfilter_GEN_ooxml_Model_processed)) > $@
 
 $(writerfilter_GEN_ooxml_FactoryValues_hxx) : $(writerfilter_SRC_ooxml_FactoryValues_xsl) $(writerfilter_GEN_ooxml_Model_processed)
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_ooxml_FactoryValues_xsl) $(writerfilter_GEN_ooxml_Model_processed)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_ooxml_FactoryValues_xsl) $(writerfilter_GEN_ooxml_Model_processed)) > $@
 
 $(writerfilter_GEN_ooxml_FastTokens_hxx) : $(writerfilter_SRC_ooxml_FastTokens_xsl) $(writerfilter_GEN_ooxml_Token_xml) | $(writerfilter_WORK)/ooxml/.dir
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_ooxml_FastTokens_xsl) $(writerfilter_GEN_ooxml_Token_xml)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_ooxml_FastTokens_xsl) $(writerfilter_GEN_ooxml_Token_xml)) > $@
 
 $(writerfilter_GEN_ooxml_GperfFastToken_hxx) : $(writerfilter_SRC_ooxml_GperfFastTokenHandler_xsl) $(writerfilter_GEN_ooxml_Token_xml)
 	$(call gb_Output_announce,$@,build,GPF,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_ooxml_GperfFastTokenHandler_xsl) $(writerfilter_GEN_ooxml_Token_xml)) \
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_ooxml_GperfFastTokenHandler_xsl) $(writerfilter_GEN_ooxml_Token_xml)) \
 	| tr -d '\r' | $(GPERF) -c -E -G -I  -LC++ -S1 -t  > $@
 
 $(writerfilter_GEN_ooxml_Model_analyzed) : $(writerfilter_SRC_ooxml_Analyze_model_xsl) $(writerfilter_SRC_ooxml_Model) | $(writerfilter_WORK)/ooxml/.dir
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $^) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $^) > $@
 
 $(writerfilter_GEN_ooxml_Model_processed) : $(writerfilter_GEN_ooxml_Namespacesmap_xsl) $(writerfilter_GEN_ooxml_Preprocess_xsl) $(writerfilter_SRC_ooxml_Model)
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_GEN_ooxml_Namespacesmap_xsl) $(writerfilter_SRC_ooxml_Model)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_GEN_ooxml_Namespacesmap_xsl) $(writerfilter_SRC_ooxml_Model)) > $@
 
 $(writerfilter_GEN_ooxml_NamespaceIds_hxx) : $(writerfilter_SRC_ooxml_NamespaceIds_xsl) $(writerfilter_GEN_ooxml_Model_processed) | $(writerfilter_WORK)/ooxml/.dir
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_ooxml_NamespaceIds_xsl) $(writerfilter_GEN_ooxml_Model_processed)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_ooxml_NamespaceIds_xsl) $(writerfilter_GEN_ooxml_Model_processed)) > $@
 
 $(writerfilter_GEN_ooxml_Namespacesmap_xsl) : $(writerfilter_SRC_ooxml_Model) $(writerfilter_DEP_ooxml_Namespaces_txt) \
 		$(writerfilter_SRC_model_NamespacePreprocess) | $(writerfilter_WORK)/.dir
@@ -177,11 +179,11 @@ $(writerfilter_GEN_ooxml_Preprocess_xsl) : $(writerfilter_SRC_ooxml_Preprocess_x
 
 $(writerfilter_GEN_ooxml_QNameToStr_cxx): $(writerfilter_SRC_ooxml_QNameToStr_xsl) $(writerfilter_SRC_ooxml_FactoryTools_xsl) $(writerfilter_GEN_ooxml_Model_processed)
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_ooxml_QNameToStr_xsl) $(writerfilter_GEN_ooxml_Model_processed)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_ooxml_QNameToStr_xsl) $(writerfilter_GEN_ooxml_Model_processed)) > $@
 
 $(writerfilter_GEN_ooxml_ResourceIds_hxx) : $(writerfilter_SRC_ooxml_ResourceIds_xsl) $(writerfilter_GEN_ooxml_Model_processed) | $(writerfilter_WORK)/ooxml/.dir
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) $(writerfilter_SRC_ooxml_ResourceIds_xsl) $(writerfilter_GEN_ooxml_Model_processed)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) $(writerfilter_SRC_ooxml_ResourceIds_xsl) $(writerfilter_GEN_ooxml_Model_processed)) > $@
 
 $(writerfilter_GEN_ooxml_Token_tmp) : $(OUTDIR)/inc/oox/tokens.txt | $(writerfilter_WORK)/.dir
 	$(call gb_Output_announce,$@,build,CAT,1)
@@ -193,15 +195,15 @@ $(writerfilter_GEN_ooxml_Token_xml) : $(writerfilter_SRC)/ooxml/tokenxmlheader $
 
 $(writerfilter_WORK)/OOXMLFactory%.cxx : $(writerfilter_SRC)/ooxml/factoryimpl_ns.xsl $(writerfilter_GEN_ooxml_Model_processed)
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) --stringparam file $@ $< $(writerfilter_GEN_ooxml_Model_processed)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) --stringparam file $@ $< $(writerfilter_GEN_ooxml_Model_processed)) > $@
 
 $(writerfilter_WORK)/OOXMLFactory%.hxx : $(writerfilter_SRC)/ooxml/factory_ns.xsl $(writerfilter_GEN_ooxml_Model_processed)
 	$(call gb_Output_announce,$@,build,XSL,1)
-	$(call gb_Helper_abbreviate_dirs, $(gb_XSLTPROC) --stringparam file $@ $< $(writerfilter_GEN_ooxml_Model_processed)) > $@
+	$(call gb_Helper_abbreviate_dirs, $(writerfilter_XSLTCOMMAND) --stringparam file $@ $< $(writerfilter_GEN_ooxml_Model_processed)) > $@
 
 
 $(call gb_CustomTarget_get_target,writerfilter/source) : $(writerfilter_ALL)
 
-$(writerfilter_ALL) :| $(gb_XSLTPROCTARGET) $(writerfilter_WORK)/.dir
+$(writerfilter_ALL) :| $(call gb_ExternalExecutable_get_deps,xsltproc) $(writerfilter_WORK)/.dir
 
 # vim: set noet sw=4 ts=4:


More information about the Libreoffice-commits mailing list