summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2013-05-07 16:05:48 +0100
committerMichael Meeks <michael.meeks@suse.com>2013-05-15 09:37:37 +0100
commit2941e5b354080a8e744676d88ad2849306c3d229 (patch)
treee78e997bf389db6c323e7f062d10f4087dedeea4 /solenv
parent4a816a816e8b4e213394898bd0e307dd90fcbb64 (diff)
start of dynamic gallery building.
Change-Id: I488def80e855624ffd85a0b6c4cc19819c39ed01
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/Gallery.mk111
-rw-r--r--solenv/gbuild/TargetLocations.mk2
-rw-r--r--solenv/gbuild/gbuild.help.txt1
-rw-r--r--solenv/gbuild/gbuild.mk1
4 files changed, 115 insertions, 0 deletions
diff --git a/solenv/gbuild/Gallery.mk b/solenv/gbuild/Gallery.mk
new file mode 100644
index 000000000000..58477bf968fd
--- /dev/null
+++ b/solenv/gbuild/Gallery.mk
@@ -0,0 +1,111 @@
+.PHONY : $(call gb_Gallery_get_clean_target,%)
+$(call gb_Gallery_get_clean_target,%) :
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_Gallery_get_target,$*) $(call gb_Gallery_get_target,$*).log)
+
+.PHONY : $(call gb_Gallery_get_target,%)
+$(call gb_Gallery_get_target,%) :| $(call gb_Gallery_get_target,$(1))/$(2).thm
+ @echo "foo"
+
+
+define gb_Gallery_Gallery
+
+$(call gb_Gallery_get_target,$(1)) : CONFIGURATION_LAYERS :=
+$(call gb_Gallery_get_target,$(1)) : URE := $(false)
+$(call gb_Gallery_get_target,$(1)) : UNO_SERVICES :=
+$(call gb_Gallery_get_target,$(1)) : UNO_TYPES :=
+$(call gb_Gallery_get_target,$(1)) : IMAGE_FILES :=
+
+$(call gb_Gallery_get_target,$(1)) :| $(dir $(call gb_Gallery_get_target,$(1))).dir
+
+$(dir $(call gb_Gallery_get_target,$(1))).dir :
+ mkdir -p $(dir $(call gb_Gallery_get_target,$(1)))
+ touch $(dir $(call gb_Gallery_get_target,$(1))).dir
+
+$(eval $(call gb_Module_register_target,$(call gb_Gallery_get_target,$(1)),$(call gb_Gallery_get_clean_target,$(1))))
+$(call gb_Helper_make_userfriendly_targets,$(1),Gallery)
+
+$(eval $(call gb_Gallery_use_components,$(1), \
+ comphelper/util/comphelp \
+ configmgr/source/configmgr \
+ fileaccess/source/fileacc \
+ i18npool/util/i18npool \
+ package/source/xstor/xstor \
+ package/util/package2 \
+ sfx2/util/sfx \
+ svx/util/svx \
+ svx/util/svxcore \
+ ucb/source/core/ucb1 \
+ ucb/source/ucp/file/ucpfile1 \
+ unoxml/source/service/unoxml \
+))
+
+# setup URE
+$(eval $(call gb_Gallery__use_configuration,$(1),xcsxcu,$(gb_Configuration_registry)))
+$(eval $(call gb_Gallery__use_configuration,$(1),module,$(gb_Configuration_registry)/spool))
+$(eval $(call gb_Gallery__use_configuration,$(1)/,xcsxcu,$(OUTDIR)/unittest/registry))
+$(eval $(call gb_Gallery__use_api,$(1),udkapi))
+$(eval $(call gb_Gallery__use_api,$(1),offapi))
+
+$(call gb_Gallery_get_target,$(1)) : \
+ $(call gb_Gallery_get_target,$(1))/$(2).thm
+
+# main gallery build rule
+$(call gb_Gallery_get_target,$(1))/$(2).thm : \
+ $(call gb_Executable_get_runtime_dependencies,gengal)
+ $(call gb_Output_announce,building gallery: $*,$(true),MOD,1)
+ $(call gb_Helper_abbreviate_dirs, \
+ $(call gb_Executable_get_command,gengal) \
+ $(call gb_Gallery_make_args) \
+ --name "$(3)" \
+ --path $(call gb_Gallery_get_target,$(1))) \
+ $(foreach item,$(IMAGE_FILES),$(item)) && \
+ mv -f $(call gb_Gallery_get_target,$(1))/001.thm $(call gb_Gallery_get_target,$(1))/$(2).thm
+
+endef
+
+# horrendous cut/paste from CppunitTest
+
+define gb_Gallery_use_component
+$(call gb_Gallery_get_target,$(1)) : \
+ $(call gb_ComponentTarget_get_outdir_target,$(2))
+$(call gb_Gallery_get_target,$(1)) : \
+ UNO_SERVICES += $(call gb_ComponentTarget_get_outdir_target,$(2))
+
+endef
+
+define gb_Gallery__use_api
+$(call gb_Gallery_get_target,$(1)) : $(call gb_UnoApi_get_target,$(2))
+$(call gb_Gallery_get_target,$(1)) : UNO_TYPES += $(call gb_UnoApi_get_target,$(2))
+
+endef
+
+define gb_Gallery__use_configuration
+$(call gb_Gallery_get_target,$(1)) : CONFIGURATION_LAYERS += $(2):$(call gb_Helper_make_url,$(3))
+
+endef
+
+define gb_Gallery_use_components
+$(foreach component,$(call gb_CppunitTest__filter_not_built_components,$(2)),$(call gb_Gallery_use_component,$(1),$(component)))
+
+endef
+
+define gb_Gallery_make_args
+ --build-tree \
+ $(if $(strip $(UNO_SERVICES)),\
+ "-env:UNO_SERVICES=$(foreach item,$(UNO_SERVICES),$(call gb_Helper_make_url,$(item)))") \
+ $(if $(strip $(CONFIGURATION_LAYERS)),\
+ "-env:CONFIGURATION_LAYERS=$(strip $(CONFIGURATION_LAYERS))") \
+ $(if $(strip $(UNO_TYPES)),\
+ "-env:UNO_TYPES=$(foreach item,$(UNO_TYPES),$(call gb_Helper_make_url,$(item)))") \
+ $(foreach dir,URE_INTERNAL_LIB_DIR LO_LIB_DIR,\
+ -env:$(dir)=$(call gb_Helper_make_url,$(gb_Helper_OUTDIRLIBDIR)))
+endef
+
+define gb_Gallery_add_file
+$(call gb_Gallery_get_target,$(1)) : IMAGE_FILES += $(call gb_Helper_make_url,$(2))
+endef
+
+define gb_Gallery_add_files
+$(foreach fname,$(2),$(call gb_Gallery__add_file,$(1),$(fname)))
+endef
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index ff0ae8ff321c..5497d57f7f7c 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -118,6 +118,7 @@ gb_ExternalProject_get_statedir = $(WORKDIR)/ExternalProject/$(1)
gb_ExternalProject_get_preparation_target = $(WORKDIR)/ExternalProject/$(1).prepare
gb_ExternalProject_get_state_target = $(WORKDIR)/ExternalProject/$(1)/$(2)
gb_ExternalProject_get_target = $(WORKDIR)/ExternalProject/$(1).done
+gb_Gallery_get_target = $(WORKDIR)/Gallery/$(1).done
gb_GeneratedPackage_get_target = $(WORKDIR)/GeneratedPackage/$(1).filelist
gb_HelpIndexTarget_get_target = $(WORKDIR)/HelpIndexTarget/$(1).done
gb_HelpJarTarget_get_target = $(WORKDIR)/HelpJarTarget/$(1).done
@@ -272,6 +273,7 @@ $(eval $(call gb_Helper_make_clean_targets,\
Dictionary \
ExternalPackage \
ExtensionTarget \
+ Gallery \
GeneratedPackage \
HelpTarget \
HelpIndexTarget \
diff --git a/solenv/gbuild/gbuild.help.txt b/solenv/gbuild/gbuild.help.txt
index 730b34eb5433..8830b694776e 100644
--- a/solenv/gbuild/gbuild.help.txt
+++ b/solenv/gbuild/gbuild.help.txt
@@ -62,6 +62,7 @@ AVAILABLE TARGETS
o Extension
o ExternalPackage
o ExternalProject
+ o Gallery
o Helper
o InstallModule
o InstallScript
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index a72591a788a8..866434d7e4d8 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -313,6 +313,7 @@ include $(foreach class, \
ExternalPackage \
CustomTarget \
ExternalProject \
+ Gallery \
Pagein \
PrecompiledHeaders \
Pyuno \