summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2011-09-07 15:53:31 +0200
committerCaolán McNamara <caolanm@redhat.com>2011-09-07 17:19:00 +0100
commit2e444660c25d82dfa52f0232e2d97a5d8d1b0f60 (patch)
tree427c609236f65b3b47e931389ba16f30d55e4295 /solenv
parent02df624709e9ead4bb46b66e43581990b30332c8 (diff)
add support for UNO components in Python
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/Pyuno.mk65
-rw-r--r--solenv/gbuild/TargetLocations.mk3
-rw-r--r--solenv/gbuild/gbuild.mk1
3 files changed, 69 insertions, 0 deletions
diff --git a/solenv/gbuild/Pyuno.mk b/solenv/gbuild/Pyuno.mk
new file mode 100644
index 000000000000..d7533f3428fa
--- /dev/null
+++ b/solenv/gbuild/Pyuno.mk
@@ -0,0 +1,65 @@
+# 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 David Tardon, Red Hat Inc. <dtardon@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.
+
+gb_Pyuno__get_outdir_path = lib/pyuno/$(1)
+
+$(call gb_Pyuno_get_target,%) :
+ $(call gb_Output_announce,$*,$(true),PYU,3)
+ mkdir -p $(dir $@) && touch $@
+
+.PHONY : $(call gb_Pyuno_get_clean_target,%)
+$(call gb_Pyuno_get_clean_target,%) :
+ $(call gb_Output_announce,$*,$(false),PYU,3)
+ rm -f $@
+
+define gb_Pyuno_Pyuno
+$(call gb_Package_Package,$(1)_pyuno,$(2))
+$$(eval $$(call gb_Module_register_target,$(call gb_Pyuno_get_target,$(1)),$(call gb_Pyuno_get_clean_target,$(1))))
+$(call gb_Pyuno_get_target,$(1)) : $(call gb_Package_get_target,$(1)_pyuno)
+$(call gb_Pyuno_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(1)_pyuno)
+
+endef
+
+define gb_Pyuno_add_file
+$(call gb_Package_add_file,$(1)_pyuno,$(call gb_Pyuno__get_outdir_path,$(2)),$(2))
+
+endef
+
+define gb_Pyuno_add_files
+$(foreach file,$(2),$(call gb_Pyuno_add_file,$(1),$(file)))
+
+endef
+
+# TODO: is it necessary to have variable componentprefix?
+gb_Pyuno__COMPONENTPREFIX := vnd.sun.star.expand:\dOOO_BASE_DIR/program/
+
+define gb_Pyuno_set_componentfile
+$(call gb_ComponentTarget_ComponentTarget,$(2),$(gb_Pyuno__COMPONENTPREFIX),$(1))
+$(call gb_Pyuno_get_target,$(1)) : $(call gb_ComponentTarget_get_outdir_target,$(2))
+$(call gb_Pyuno_get_clean_target,$(1)) : $(call gb_ComponentTarget_get_clean_target,$(2))
+
+endef
+
+# vim:set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index a740cb9ccb5f..2949a3a84e53 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -38,6 +38,7 @@ gb_PackagePart_get_destinations = \
$(OUTDIR)/inc \
$(OUTDIR)/idl \
$(OUTDIR)/bin \
+ $(OUTDIR)/lib \
gb_PackagePart_get_target = $(OUTDIR)/$(1)
gb_RdbTarget_get_outdir_target = $(OUTDIR)/xml/$(1).rdb
@@ -101,6 +102,7 @@ gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1)
gb_Package_get_target = $(WORKDIR)/Package/$(1)
gb_PrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.pch.d
gb_PrecompiledHeader_get_target = $(WORKDIR)/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.pch
+gb_Pyuno_get_target = $(WORKDIR)/Pyuno/$(1)
gb_RdbTarget_get_target = $(WORKDIR)/RdbTarget/$(1).rdb
gb_ResTarget_get_imagelist_target = $(WORKDIR)/ResTarget/$(1).ilst
gb_ResTarget_get_target = $(WORKDIR)/ResTarget/$(1).res
@@ -157,6 +159,7 @@ $(eval $(call gb_Helper_make_clean_targets,\
PackagePart \
Package \
PrecompiledHeader \
+ Pyuno \
RdbTarget \
ResTarget \
SdiTarget \
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 329eefaf1639..c05db66a5498 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -297,6 +297,7 @@ include $(foreach class, \
Package \
CustomTarget \
PrecompiledHeaders \
+ Pyuno \
RdbTarget \
CppunitTest \
Jar \