[Libreoffice-commits] .: 3 commits - solenv/gbuild

Stephan Bergmann sbergmann at kemper.freedesktop.org
Wed Nov 2 01:07:32 PDT 2011


 solenv/gbuild/ComponentsTarget.mk |   77 ++++++++++++++++++++++++++++++++++++++
 solenv/gbuild/Jar.mk              |    3 -
 solenv/gbuild/TargetLocations.mk  |    2 
 solenv/gbuild/UnoApiTarget.mk     |    4 -
 solenv/gbuild/gbuild.mk           |    3 +
 5 files changed, 84 insertions(+), 5 deletions(-)

New commits:
commit ea5021e2d7db54be402c99ee551b470b95f1e92b
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Nov 2 09:05:57 2011 +0100

    Add gbuild support for .components files.

diff --git a/solenv/gbuild/ComponentsTarget.mk b/solenv/gbuild/ComponentsTarget.mk
new file mode 100644
index 0000000..686a7ee
--- /dev/null
+++ b/solenv/gbuild/ComponentsTarget.mk
@@ -0,0 +1,77 @@
+#
+# 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 Stephan Bergmann, Red Hat <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_Output_announce,$*,$(true),CPS,1)
+	$(call gb_Helper_abbreviate_dirs_native, \
+            mkdir -p $(dir $@))
+	$(call gb_Helper_abbreviate_dirs_native, \
+            $(gb_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_native, \
+            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_native, \
+            mkdir -p $(dir $@))
+	$(call gb_Helper_abbreviate_dirs_native, \
+            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_native, \
+            rm -f $(call gb_ComponentsTarget_get_target,$*).input)
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 9205d44..fe907b1 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -72,6 +72,7 @@ gb_CObject_get_target = $(WORKDIR)/CObject/$(1).o
 gb_GenCObject_get_target = $(WORKDIR)/GenCObject/$(1).o
 gb_ComponentTarget_get_target = $(WORKDIR)/ComponentTarget/$(1).component
 gb_ComponentTarget_get_inbuild_target = $(WORKDIR)/ComponentTarget/$(1).inbuild.component
+gb_ComponentsTarget_get_target = $(WORKDIR)/ComponentsTarget/$(1).components
 gb_CppunitTest_get_target = $(WORKDIR)/CppunitTest/$(1).test
 gb_CustomTarget_get_repo_target = $(WORKDIR)/CustomTarget/$(2)_$(1).done
 gb_CustomTarget_get_target = $(WORKDIR)/CustomTarget/$(1).done
@@ -155,6 +156,7 @@ endef
 $(eval $(call gb_Helper_make_clean_targets,\
 	AllLangResTarget \
 	ComponentTarget \
+	ComponentsTarget \
 	Extension \
 	JavaClassSet \
 	Jar \
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 7daaa91..530fd9f 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -309,6 +309,7 @@ include $(SOLARENV)/inc/minor.mk
 
 include $(foreach class, \
 	ComponentTarget \
+	ComponentsTarget \
 	AllLangResTarget \
 	WinResTarget \
 	LinkTarget \
commit 20528637ef3f9517cf73f71fdcf701e945642989
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Nov 2 09:04:37 2011 +0100

    Add gbuild support for .jar in .oxt.

diff --git a/solenv/gbuild/Jar.mk b/solenv/gbuild/Jar.mk
index 9d410ba..54d6a23 100644
--- a/solenv/gbuild/Jar.mk
+++ b/solenv/gbuild/Jar.mk
@@ -166,9 +166,10 @@ endef
 gb_Jar_COMPONENTPREFIXES := \
     OOO:vnd.sun.star.expand:\dBRAND_BASE_DIR/program/classes/ \
     URE:vnd.sun.star.expand:\dURE_INTERNAL_JAVA_DIR/ \
+    OXT:./ \
     INTERN:vnd.sun.star.expand:\dOOO_INBUILD_JAVA_DIR/
 
-# get component prefix from layer name ("OOO", "URE", "INTERN")
+# get component prefix from layer name ("OOO", "URE", "OXT", "INTERN")
 gb_Jar__get_componentprefix = \
     $(patsubst $(1):%,%,$(or \
         $(filter $(1):%,$(gb_Jar_COMPONENTPREFIXES)), \
commit 79b26e3a113f86237dc787bdb5edb238d8a1ad70
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Wed Nov 2 08:48:34 2011 +0100

    .DELETE_ON_ERROR is a global flag (that should always be set).

diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk
index 35c05c2..de2dc74 100644
--- a/solenv/gbuild/UnoApiTarget.mk
+++ b/solenv/gbuild/UnoApiTarget.mk
@@ -53,10 +53,6 @@ $(call gb_UnoApiOutTarget_get_clean_target,$(1)) : $(call gb_UnoApiTarget_get_cl
 gb_UnoApiTarget_HPPFILES_$(1) :=
 gb_UnoApiTarget_IDLFILES_$(1) :=
 
-.DELETE_ON_ERROR : \
-    $(call gb_UnoApiTarget_get_clean_target,$(1)) \
-    $(call gb_UnoApiTarget_get_target,$(1))
-
 endef
 
 define gb_UnoApiTarget_add_idlfiles
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 4ff643a..7daaa91 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -46,6 +46,8 @@
 # SYSTEM_JPEG (Linux)
 # SYSTEM_LIBXML (Linux)
 
+.DELETE_ON_ERROR:
+
 SHELL := /bin/sh
 MAKEFLAGS+=-r
 true := T


More information about the Libreoffice-commits mailing list