summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorZolnai Tamás <zolnaitamas2000@gmail.com>2012-11-01 13:39:43 +0100
committerZolnai Tamás <zolnaitamas2000@gmail.com>2012-11-03 23:40:30 +0100
commit0fd7f81ec6765133bc2a964afd832631cd1bbf31 (patch)
tree5766461871b043c8e4ffab58f133f7fc42feee42 /solenv
parentef941c6e78cbab5d9d25b1fe57e483deead03a32 (diff)
Implement new treex executable
Which localize and update help tree files instead of update_tree.pl. Use it to update extensions' help. Next step: use it with general help. Change-Id: Ife9696bdd8b973ef3cf30626533e38720408179b
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/ExtensionTarget.mk37
1 files changed, 20 insertions, 17 deletions
diff --git a/solenv/gbuild/ExtensionTarget.mk b/solenv/gbuild/ExtensionTarget.mk
index 7c94e15d4e3d..bc00c11a8c2f 100644
--- a/solenv/gbuild/ExtensionTarget.mk
+++ b/solenv/gbuild/ExtensionTarget.mk
@@ -39,11 +39,9 @@ gb_ExtensionTarget_PROPMERGETARGET := $(call gb_Executable_get_target_for_build,
gb_ExtensionTarget_PROPMERGECOMMAND := \
$(gb_Helper_set_ld_path) $(gb_ExtensionTarget_PROPMERGETARGET)
-gb_ExtensionTarget_UPDATETREETARGET := $(SRCDIR)/l10ntools/scripts/update_tree.pl
-gb_ExtensionTarget_UPDATETREECOMMAND := \
- $(gb_Helper_set_ld_path) $(PERL) $(gb_ExtensionTarget_UPDATETREETARGET)
- # update_tree.pl calls xmllint, which needs $(gb_Helper_set_ld_path) if it
- # is the internal one
+gb_ExtensionTarget_TREEXTARGET := $(call gb_Executable_get_target_for_build,treex)
+gb_ExtensionTarget_TREEXCOMMAND := \
+ $(gb_Helper_set_ld_path) $(gb_ExtensionTarget_TREEXTARGET)
gb_ExtensionTarget_HELPEXTARGET := $(call gb_Executable_get_target_for_build,helpex)
gb_ExtensionTarget_HELPEXCOMMAND := \
@@ -261,9 +259,8 @@ endef
# suffix
# $(3): relative path of (target) help.tree file (e.g.,
# com.sun.wiki-publisher/help.tree)
-# $(4): optional relative path of source help.tree file, when it differs from $(3)
-# (i.e., if $(4) is empty the en-US source file is $(2)/$(3), otherwise it
-# is $(2)/$(4))
+# $(4): relative path of source help.tree file
+# $(5): relative path of localized xhp files (PlatformID included)
define gb_ExtensionTarget_add_helptreefile
$(foreach lang,$(gb_ExtensionTarget_ALL_LANGS), \
$(call gb_ExtensionTarget__localize_helptreefile_onelang,$(1),$(2),$(3),$(4),$(lang),$(5)) \
@@ -322,38 +319,44 @@ $(call gb_ExtensionTarget_get_workdir,$(1))/help/$(5)/$(3) : \
endef
# localize one help.tree for one language; the result is stored as
-# help/$(4)/$(3) in the extension's workdir; as a special case, if $(4) is
-# "en-US", the source file is just copied, not passed through update_tree.pl
+# help/$(4)/$(3) in the extension's workdir;
# $(1): extension identifier
# $(2): absolute path prefix of en-US source file without $(3) (resp. $(4))
# suffix
# $(3): relative path of (target) help.tree file (see
# gb_ExtensionTarget_add_helptreefile)
-# $(4): optional relative path of source help.tree file (see
+# $(4): relative path of source help.tree file (see
# gb_ExtensionTarget_add_helptreefile)
# $(5): language
+# $(6): relative path of localized xhp files (PlatformID included)
define gb_ExtensionTarget__localize_helptreefile_onelang
$(call gb_ExtensionTarget_get_rootdir,$(1))/help/$(5).done : \
$(call gb_ExtensionTarget_get_rootdir,$(1))/help/$(5)/$(3)
ifneq ($(strip $(gb_WITH_LANG)),)
ifneq ($(filter-out en-US,$(5)),)
$(call gb_ExtensionTarget_get_rootdir,$(1))/help/$(5)/$(3) : \
- POFILE := $(gb_POLOCATION)/$(5)$(subst $(SRCDIR),,$(2))$(patsubst %/,/%.po,$(patsubst ./,.po,$(dir $(or $(4),$(3)))))
+ POFILE := $(gb_POLOCATION)/$(5)$(subst $(SRCDIR),,$(2))$(patsubst %/,/%.po,$(patsubst ./,.po,$(dir $(4))))
$(call gb_ExtensionTarget_get_rootdir,$(1))/help/$(5)/$(3) : \
- $(gb_POLOCATION)/$(5)$(subst $(SRCDIR),,$(2))$(patsubst %/,/%.po,$(patsubst ./,.po,$(dir $(or $(4),$(3)))))
+ $(gb_POLOCATION)/$(5)$(subst $(SRCDIR),,$(2))$(patsubst %/,/%.po,$(patsubst ./,.po,$(dir $(4))))
endif
endif
$(call gb_ExtensionTarget_get_rootdir,$(1))/help/$(5)/$(3) : \
- $(if $(filter-out en-US,$(5)),$(gb_ExtensionTarget_UPDATETREETARGET)) | \
+ $(gb_ExtensionTarget_TREEXTARGET) | \
$(2)/$(4)
$(call gb_ExtensionTarget_get_rootdir,$(1))/help/$(5)/$(3) : \
$(2)/$(or $(4),$(3))
$$(call gb_Output_announce,$(1) $(3) $(5),$(true),TRE,3)
$$(call gb_Helper_abbreviate_dirs, \
- mkdir -p $$(dir $$@) && \
+ mkdir -p $$(dir $$@) && \
$(if $(filter-out en-US,$(5)), \
- cp $$< $$@,\
- cp $$< $$@))
+ MERGEINPUT=`$(gb_MKTEMP)` && \
+ echo $$(POFILE) > $$$${MERGEINPUT} && \
+ $(gb_ExtensionTarget_TREEXCOMMAND) -i $$< -o $$@ -l $(5) \
+ -m $$$${MERGEINPUT} \
+ -r $$(call gb_ExtensionTarget_get_workdir,$(1))/help/$(5)/$(6) && \
+ rm -rf $$$${MERGEINPUT}, \
+ $(gb_ExtensionTarget_TREEXCOMMAND) -i $$< -o $$@ -l $(5) \
+ -r $$(call gb_ExtensionTarget_get_workdir,$(1))/help/$(5)/$(6) ))
endef