Hello,
Wildcard on $WORKDIR is wrong because generated files don't need to
exist when parsing makefile.
With
http://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-3-5&id=af67f5f6438bde777c0cbb4d90c7f6bdcd831bf3
this problem is now visible in i18npool. I fixed it in master as part of
http://cgit.freedesktop.org/libreoffice/core/commit/?id=15bd35e4f2646ef0bba0cc24d171989c9e3ac6e4
Attached patch is aimed to solve this problem for 3-5 branch.
Best,
Matúš
From 5909440231c6657d82d6b585267ac3a989f03b70 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mat=C3=BA=C5=A1=20Kukan?= <matus.kukan@gmail.com>
Date: Mon, 26 Mar 2012 20:51:45 +0200
Subject: [PATCH] i18npool: fix dependency problem
When parsing makefiles, there is no guarantee that all files
are already generated, so we can't use $(wildcard $(WORKDIR)/..).
---
i18npool/Library_collator_data.mk | 3 ++-
i18npool/Library_i18npool.mk | 5 ++---
i18npool/Library_index_data.mk | 3 ++-
i18npool/Library_textconv_dict.mk | 3 ++-
4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/i18npool/Library_collator_data.mk b/i18npool/Library_collator_data.mk
index 7f00e8b..bfc38ce 100644
--- a/i18npool/Library_collator_data.mk
+++ b/i18npool/Library_collator_data.mk
@@ -31,7 +31,8 @@ $(eval $(call gb_Library_Library,collator_data))
$(eval $(call gb_Library_add_package_headers,collator_data,i18npool_generated))
$(eval $(call gb_Library_add_generated_exception_objects,collator_data,\
- $(subst $(WORKDIR)/,,$(basename $(wildcard
$(WORKDIR)/CustomTarget/i18npool/source/collator/collator_*.cxx))) \
+ $(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/collator/data/*.txt),\
+ CustomTarget/i18npool/source/collator/collator_$(notdir $(basename $(txt)))) \
))
# vim: set noet sw=4 ts=4:
diff --git a/i18npool/Library_i18npool.mk b/i18npool/Library_i18npool.mk
index 3faaa6a..57875c9 100644
--- a/i18npool/Library_i18npool.mk
+++ b/i18npool/Library_i18npool.mk
@@ -139,11 +139,10 @@ $(eval $(call gb_Library_add_exception_objects,i18npool,\
i18npool/source/transliteration/transliteration_OneToOne \
))
-BRKFILES := $(subst $(WORKDIR)/,,$(basename $(wildcard
$(WORKDIR)/CustomTarget/i18npool/source/breakiterator/*_brk.c))) \
-
$(eval $(call gb_Library_add_generated_cobjects,i18npool,\
CustomTarget/i18npool/source/breakiterator/OpenOffice_dat \
- $(BRKFILES) \
+ $(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/breakiterator/data/*.txt),\
+ CustomTarget/i18npool/source/breakiterator/$(notdir $(basename $(txt)))_brk) \
))
# vim: set noet sw=4 ts=4:
diff --git a/i18npool/Library_index_data.mk b/i18npool/Library_index_data.mk
index 43d4c52..68eaa58 100644
--- a/i18npool/Library_index_data.mk
+++ b/i18npool/Library_index_data.mk
@@ -31,7 +31,8 @@ $(eval $(call gb_Library_Library,index_data))
$(eval $(call gb_Library_add_package_headers,index_data,i18npool_generated))
$(eval $(call gb_Library_add_generated_exception_objects,index_data,\
- $(subst $(WORKDIR)/,,$(basename $(wildcard
$(WORKDIR)/CustomTarget/i18npool/source/indexentry/*.cxx))) \
+ $(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/indexentry/data/*.txt),\
+ CustomTarget/i18npool/source/indexentry/$(notdir $(basename $(txt)))) \
))
# vim: set noet sw=4 ts=4:
diff --git a/i18npool/Library_textconv_dict.mk b/i18npool/Library_textconv_dict.mk
index 3b9213c..8df4a29 100644
--- a/i18npool/Library_textconv_dict.mk
+++ b/i18npool/Library_textconv_dict.mk
@@ -41,7 +41,8 @@ $(eval $(call gb_Library_add_api,textconv_dict,\
))
$(eval $(call gb_Library_add_generated_exception_objects,textconv_dict,\
- $(subst $(WORKDIR)/,,$(basename $(wildcard
$(WORKDIR)/CustomTarget/i18npool/source/textconversion/*.cxx))) \
+ $(foreach txt,$(wildcard $(SRCDIR)/i18npool/source/textconversion/data/*.dic),\
+ CustomTarget/i18npool/source/textconversion/$(notdir $(basename $(txt)))) \
))
# vim: set noet sw=4 ts=4:
--
1.7.1
Context
- [REVIEW-3-5] fix dependency problem in i18npool · Matúš Kukan
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.