[Libreoffice-commits] .: 6 commits - configure.in i18npool/Library_i18npool.mk solenv/gbuild
Michael Stahl
mst at kemper.freedesktop.org
Wed May 16 15:00:33 PDT 2012
configure.in | 14 ++++++++++++--
i18npool/Library_i18npool.mk | 2 +-
solenv/gbuild/AllLangResTarget.mk | 27 ++++++++++-----------------
solenv/gbuild/ComponentTarget.mk | 3 ++-
solenv/gbuild/Extension.mk | 5 +++--
solenv/gbuild/LinkTarget.mk | 9 ++++-----
solenv/gbuild/SdiTarget.mk | 5 ++---
solenv/gbuild/UnoApi.mk | 8 ++++++++
solenv/gbuild/UnoApiTarget.mk | 25 +++++++++++++++----------
solenv/gbuild/WinResTarget.mk | 7 +------
solenv/gbuild/gbuild.mk | 3 ++-
11 files changed, 60 insertions(+), 48 deletions(-)
New commits:
commit 7175ceede15271299e44b33a8de5d7aa32a15e50
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed May 16 23:29:18 2012 +0200
i18npool: fix spurious re-deliver of i18npool.uno.so:
The target is always older, because it is delivered while preserving
the timestamp of the source, but here order only dependency is enough.
diff --git a/i18npool/Library_i18npool.mk b/i18npool/Library_i18npool.mk
index c2738de..fd85033 100644
--- a/i18npool/Library_i18npool.mk
+++ b/i18npool/Library_i18npool.mk
@@ -162,7 +162,7 @@ $(eval $(call gb_Library_add_generated_cobjects,i18npool,\
# i18npool dlopens localedata_* libraries.
# This is runtime dependency to prevent tests
# to be run sooner then localedata_* exists.
-$(call gb_Library_get_target,i18npool) : \
+$(call gb_Library_get_target,i18npool) : | \
$(call gb_Library_get_target,localedata_en) \
$(call gb_Library_get_target,localedata_es) \
$(call gb_Library_get_target,localedata_euro) \
commit b6076ec3c1b9c384d8229cd079c39f510a9f38f7
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed May 16 20:32:28 2012 +0200
gbuild: fix build executable dependencies:
Rules that invoke generated executables should have dependencies on
those executables.
diff --git a/solenv/gbuild/AllLangResTarget.mk b/solenv/gbuild/AllLangResTarget.mk
index fbbcea5..eb36343 100644
--- a/solenv/gbuild/AllLangResTarget.mk
+++ b/solenv/gbuild/AllLangResTarget.mk
@@ -73,8 +73,8 @@ $(call gb_SrsPartMergeTarget_get_target,%) : $(SRCDIR)/% $(gb_Helper_MISCDUMMY)
# defined by platform
# gb_SrsPartTarget__command_dep
-gb_SrsPartTarget_RSCTARGET := $(OUTDIR_FOR_BUILD)/bin/rsc$(gb_Executable_EXT_for_build)
-gb_SrsPartTarget_RSCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_SrsPartTarget_RSCTARGET)
+gb_ResTarget_RSCTARGET := $(OUTDIR_FOR_BUILD)/bin/rsc$(gb_Executable_EXT_for_build)
+gb_ResTarget_RSCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_ResTarget_RSCTARGET)
define gb_SrsPartTarget__command
$(call gb_Helper_abbreviate_dirs,\
@@ -86,12 +86,13 @@ $(call gb_Helper_abbreviate_dirs,\
$(DEFS) \
-fp=$(1) \
$(if $(MERGEDFILE),$(MERGEDFILE),$<)" > $${RESPONSEFILE} && \
- $(gb_SrsPartTarget_RSCCOMMAND) -presponse @$${RESPONSEFILE} && \
+ $(gb_ResTarget_RSCCOMMAND) -presponse @$${RESPONSEFILE} && \
rm -rf $${RESPONSEFILE})
endef
-$(call gb_SrsPartTarget_get_target,%) : $(SRCDIR)/% $(gb_Helper_MISCDUMMY) | $(gb_SrsPartTarget_RSCTARGET)
+$(call gb_SrsPartTarget_get_target,%) : $(SRCDIR)/% $(gb_Helper_MISCDUMMY) \
+ $(gb_ResTarget_RSCTARGET)
$(call gb_SrsPartTarget__command_dep,$*,$<)
$(call gb_SrsPartTarget__command,$@,$*,$<)
@@ -315,8 +316,6 @@ endef
# ResTarget
-gb_ResTarget_RSCTARGET := $(gb_SrsPartTarget_RSCTARGET)
-gb_ResTarget_RSCCOMMAND := $(gb_SrsPartTarget_RSCCOMMAND)
gb_ResTarget_DEFIMAGESLOCATION := $(SRCDIR)/icon-themes/galaxy/
$(call gb_ResTarget_get_clean_target,%) :
@@ -324,7 +323,8 @@ $(call gb_ResTarget_get_clean_target,%) :
$(call gb_Helper_abbreviate_dirs,\
rm -f $(call gb_ResTarget_get_target,$*) $(call gb_ResTarget_get_imagelist_target,$*) $(call gb_ResTarget_get_outdir_target,$*) $(call gb_ResTarget_get_outdir_imagelist_target,$*))
-$(call gb_ResTarget_get_target,%) : $(gb_Helper_MISCDUMMY) | $(gb_ResTarget_RSCTARGET)
+$(call gb_ResTarget_get_target,%) : $(gb_Helper_MISCDUMMY) \
+ $(gb_ResTarget_RSCTARGET)
$(call gb_Output_announce,$*,$(true),RES,2)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) $(OUTDIR)/bin \
@@ -344,7 +344,8 @@ $(call gb_ResTarget_get_target,%) : $(gb_Helper_MISCDUMMY) | $(gb_ResTarget_RSCT
-subMODULE=$(dir $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)) \
-subGLOBALRES=$(gb_ResTarget_DEFIMAGESLOCATION)res \
-oil=$(dir $(call gb_ResTarget_get_imagelist_target,$*)) \
- $(filter-out $(gb_Helper_MISCDUMMY),$^)" > $${RESPONSEFILE} && \
+ $(filter-out $(gb_Helper_MISCDUMMY) $(gb_ResTarget_RSCTARGET),$^)" \
+ > $${RESPONSEFILE} && \
$(gb_ResTarget_RSCCOMMAND) @$${RESPONSEFILE} && \
rm -f $${RESPONSEFILE})
diff --git a/solenv/gbuild/ComponentTarget.mk b/solenv/gbuild/ComponentTarget.mk
index 89dde76..31dd441 100644
--- a/solenv/gbuild/ComponentTarget.mk
+++ b/solenv/gbuild/ComponentTarget.mk
@@ -51,7 +51,8 @@ $(call gb_ComponentTarget_get_clean_target,%) :
$(call gb_ComponentTarget_get_target,$*) \
-$(call gb_ComponentTarget_get_target,%) : $(call gb_ComponentTarget_get_source,$(SRCDIR),%) | $(gb_XSLTPROCTARGET)
+$(call gb_ComponentTarget_get_target,%) : \
+ $(call gb_ComponentTarget_get_source,$(SRCDIR),%) $(gb_XSLTPROCTARGET)
$(call gb_ComponentTarget__command,$@,$<,$*)
$(call gb_ComponentTarget_get_target,%) :
diff --git a/solenv/gbuild/Extension.mk b/solenv/gbuild/Extension.mk
index 912018c..5029a20 100644
--- a/solenv/gbuild/Extension.mk
+++ b/solenv/gbuild/Extension.mk
@@ -166,7 +166,8 @@ $(call gb_Extension_get_rootdir,$(1))/$(2) : SDF := $(gb_SDFLOCATION)$(subst $(S
$(call gb_Extension_get_rootdir,$(1))/$(2) : $$(SDF)
endif
$(call gb_Extension_get_target,$(1)) : $(call gb_Extension_get_rootdir,$(1))/$(2)
-$(call gb_Extension_get_rootdir,$(1))/$(2) : $(3)
+$(call gb_Extension_get_rootdir,$(1))/$(2) : $(3) \
+ $(gb_Extension_PROPMERGETARGET)
$$(call gb_Output_announce,$(2),$(true),PRP,3)
mkdir -p $$(dir $$@) && \
cp -f $$< $$@ \
@@ -188,7 +189,7 @@ $(call gb_Extension_get_target,$(1)) : $(call gb_Extension_get_rootdir,$(1))/$(2
$(call gb_Extension_get_rootdir,$(1))/$(2) : SDF := $(gb_SDFLOCATION)$(subst $(SRCDIR),,$(subst $(WORKDIR)/CustomTarget,,$(dir $(3))))localize.sdf
$(call gb_Extension_get_rootdir,$(1))/$(2) : $$(SDF)
$(call gb_Extension_get_rootdir,$(1))/$(2) : $(gb_Extension_HELPEXTARGET)
-$(call gb_Extension_get_rootdir,$(1))/$(2) : $(3)
+$(call gb_Extension_get_rootdir,$(1))/$(2) : $(3) $(gb_Extension_HELPEXTARGET)
$$(call gb_Output_announce,$(2),$(true),XHP,3)
mkdir -p $$(dir $$@) && \
$(gb_Extension_HELPEXCOMMAND) -i $$< -o $$@ -l $(4) -m $$(SDF)
diff --git a/solenv/gbuild/SdiTarget.mk b/solenv/gbuild/SdiTarget.mk
index c71c2d6..d911856 100644
--- a/solenv/gbuild/SdiTarget.mk
+++ b/solenv/gbuild/SdiTarget.mk
@@ -35,7 +35,7 @@ gb_SdiTarget_SVIDLTARGET := $(call gb_Executable_get_target_for_build,svidl)
gb_SdiTarget_SVIDLCOMMAND := \
$(gb_Helper_set_ld_path) $(gb_SdiTarget_SVIDLTARGET)
-$(call gb_SdiTarget_get_target,%) : $(SRCDIR)/%.sdi | $(gb_SdiTarget_SVIDLTARGET)
+$(call gb_SdiTarget_get_target,%) : $(SRCDIR)/%.sdi $(gb_SdiTarget_SVIDLTARGET)
$(call gb_Output_announce,$*,$(true),SDI,1)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) $(dir $(call gb_SdiTarget_get_dep_target,$*)))
diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk
index 03f350c..42584ce 100644
--- a/solenv/gbuild/UnoApiTarget.mk
+++ b/solenv/gbuild/UnoApiTarget.mk
@@ -66,8 +66,9 @@ define gb_UnoApiPartTarget__command
endef
-$(call gb_UnoApiPartTarget_get_target,%.done) :
- $(call gb_UnoApiPartTarget__command,$@,$*,$?)
+$(call gb_UnoApiPartTarget_get_target,%.done) : \
+ $(gb_UnoApiPartTarget_IDLCTARGET)
+ $(call gb_UnoApiPartTarget__command,$@,$*,$(filter-out $(gb_UnoApiPartTarget_IDLCTARGET),$?))
ifeq ($(gb_FULLDEPS),$(true))
@@ -133,9 +134,12 @@ $(if $(or $(and $(1),$(2),$(3)),$(and $(1),$(2)),$(and $(2),$(3)),$(and $(1),$(3
$(if $(4),,$(error No root has been set for the rdb file))
endef
-$(call gb_UnoApiTarget_get_target,%):
+# FIXME cannot have a dependency on $(gb_UnoApiTarget_RDBMAKERTARGET) here
+# because that leads to dependency cycle because rdbmaker depends on offapi
+$(call gb_UnoApiTarget_get_target,%) : $(gb_UnoApiTarget_XML2CMPTARGET) \
+ $(gb_UnoApiTarget_REGCOMPARETARGET) $(gb_UnoApiTarget_REGMERGETARGET)
$(call gb_UnoApiTarget__check_mode,$(UNOAPI_FILES),$(UNOAPI_MERGE),$(UNOAPI_XML),$(UNOAPI_ROOT))
- $(call gb_UnoApiTarget__command,$@,$*,$<,$?)
+ $(call gb_UnoApiTarget__command,$@,$*)
.PHONY : $(call gb_UnoApiTarget_get_clean_target,%)
$(call gb_UnoApiTarget_get_clean_target,%) :
@@ -281,15 +285,18 @@ touch $(1)
endef
-$(call gb_UnoApiHeadersTarget_get_bootstrap_target,%) :
+$(call gb_UnoApiHeadersTarget_get_bootstrap_target,%) : \
+ $(gb_UnoApiHeadersTarget_CPPUMAKERTARGET)
$(call gb_Output_announce,$*,$(true),HPB,3)
$(call gb_UnoApiHeadersTarget__command,$@,$*,$(call gb_UnoApiHeadersTarget_get_bootstrap_dir,$*))
-$(call gb_UnoApiHeadersTarget_get_comprehensive_target,%) :
+$(call gb_UnoApiHeadersTarget_get_comprehensive_target,%) : \
+ $(gb_UnoApiHeadersTarget_CPPUMAKERTARGET)
$(call gb_Output_announce,$*,$(true),HPC,3)
$(call gb_UnoApiHeadersTarget__command,$@,$*,$(call gb_UnoApiHeadersTarget_get_comprehensive_dir,$*),-C)
-$(call gb_UnoApiHeadersTarget_get_target,%) :
+$(call gb_UnoApiHeadersTarget_get_target,%) : \
+ $(gb_UnoApiHeadersTarget_CPPUMAKERTARGET)
$(call gb_Output_announce,$*,$(true),HPP,3)
$(call gb_UnoApiHeadersTarget__command,$@,$*,$(call gb_UnoApiHeadersTarget_get_dir,$*),-L)
commit 236055746ffe92ce3b2a7a9316b1083da046deb9
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed May 16 19:55:09 2012 +0200
further spurious dep-file rebuild fixes:
With the way dep-file generation was changed for LinkTargets in
8b5a984d45005d3df1c89eae897d6e04612625d8, it is necessary to change all
other dep-file generation the same way, because the LinkTarget dep-files
are outdated wrt. the object dep-files after an initial make run, and
hence if any other dep-file depends in any way (even build-order) on a
generated Executable, say by depending on the corresponding target file,
then the PHONY entries in the outdated LinkTarget dep-files for the
executable and its linked libraries cause all these objects to be
recompiled.
It is not a problem that there is a rule with the dep-file as target,
and another rule for the corresponding actual target that writes the
dep-file as a side-effect, without dependecy between the targets:
because make does processing in 2 phases, first building all included
makefiles, second all other targets, it is guaranteed that the 2
commands don't race to overwrite the dep-file because (when there is no
dependency between them) they will not be executed in the same phase.
The only problem here is that this will probably make IDL processing a
lot slower on Windows, writing all those dummy dep-files.
diff --git a/solenv/gbuild/AllLangResTarget.mk b/solenv/gbuild/AllLangResTarget.mk
index 10a4bcb..fbbcea5 100644
--- a/solenv/gbuild/AllLangResTarget.mk
+++ b/solenv/gbuild/AllLangResTarget.mk
@@ -100,9 +100,6 @@ $(call gb_SrsPartTarget_get_dep_target,%) : $(SRCDIR)/% $(gb_Helper_MISCDUMMY)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) && \
echo '$(call gb_SrsPartTarget_get_target,$*) : $(gb_Helper_PHONY)' > $@)
-
-$(call gb_SrsPartTarget_get_dep_target,%) :
- $(eval $(call gb_Output_error,Unable to find resource definition file $* in repositories: $(gb_SrsPartTarget_REPOS)))
endif
@@ -237,7 +234,6 @@ $(call gb_SrsTarget_get_external_headers_target,%) :
mkdir -p $(dir $@) && touch $@)
$(call gb_SrsTarget_get_target,%) :
- $(call gb_SrsTarget__command_dep,$(call gb_SrsTarget_get_dep_target,$*),$*,$(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_dep_target,$(part))))
$(call gb_Output_announce,$*,$(true),SRS,1)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $@) && \
@@ -257,11 +253,7 @@ $(call gb_SrsTarget_get_target,$(1)) : PARTS :=
$(call gb_SrsTarget_get_target,$(1)) : $(call gb_SrsTemplateTarget_get_target,$(1))
$(call gb_SrsTarget_get_clean_target,$(1)) : $(call gb_SrsTemplateTarget_get_clean_target,$(1))
ifeq ($(gb_FULLDEPS),$(true))
-ifneq ($(wildcard $(call gb_SrsTarget_get_dep_target,$(1))),)
-include $(call gb_SrsTarget_get_dep_target,$(1))
-else
-$(firstword $(MAKEFILE_LIST)) : $(call gb_SrsTarget_get_dep_target,$(1))
-endif
+-include $(call gb_SrsTarget_get_dep_target,$(1))
endif
endef
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 05b947e..1854aa4 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -253,7 +253,7 @@ $(call gb_ObjCxxObject_get_target,%) : $(call gb_ObjCxxObject_get_source,$(SRCDI
$(call gb_ObjCxxObject__command,$@,$*,$<,$(call gb_ObjCxxObject_get_dep_target,$*))
ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_ObjCxxObject_get_dep_target,%) : $(call gb_ObjCxxObject_get_target,%)
+$(call gb_ObjCxxObject_get_dep_target,%) :
$(if $(wildcard $@),touch $@,\
$(call gb_Object__command_dep,$@,$(call gb_ObjCxxObject_get_target,$*)))
@@ -271,7 +271,7 @@ $(call gb_ObjCObject_get_target,%) : $(call gb_ObjCObject_get_source,$(SRCDIR),%
$(call gb_ObjCObject__command,$@,$*,$<,$(call gb_ObjCObject_get_dep_target,$*))
ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_ObjCObject_get_dep_target,%) : $(call gb_ObjCObject_get_target,%)
+$(call gb_ObjCObject_get_dep_target,%) :
$(if $(wildcard $@),touch $@,\
$(call gb_Object__command_dep,$@,$(call gb_ObjCObject_get_target,$*)))
@@ -374,7 +374,6 @@ $(call gb_LinkTarget_get_target,%) : $(call gb_LinkTarget_get_headers_target,%)
$(call gb_LinkTarget__command_objectlist,$@,$*)
ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_target,%) : | $(call gb_LinkTarget_get_dep_target,%)
$(call gb_LinkTarget_get_dep_target,%) :
$(call gb_LinkTarget__command_dep,$@,$*,$(COBJECTS),$(CXXOBJECTS),$(OBJCOBJECTS),$(OBJCXXOBJECTS),$(ASMOBJECTS),$(GENCOBJECTS),$(GENCXXOBJECTS))
endif
diff --git a/solenv/gbuild/SdiTarget.mk b/solenv/gbuild/SdiTarget.mk
index 7f41436..c71c2d6 100644
--- a/solenv/gbuild/SdiTarget.mk
+++ b/solenv/gbuild/SdiTarget.mk
@@ -53,10 +53,9 @@ $(call gb_SdiTarget_get_target,%) : $(SRCDIR)/%.sdi | $(gb_SdiTarget_SVIDLTARGET
$<)
ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_SdiTarget_get_dep_target,%) : $(call gb_SdiTarget_get_target,%)
+$(call gb_SdiTarget_get_dep_target,%) :
$(if $(wildcard $@),touch $@,\
$(call gb_Object__command_dep,$@,$(call gb_SdiTarget_get_target,$*)))
-
endif
.PHONY : $(call gb_SdiTarget_get_clean_target,%)
diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk
index 5742f94..03f350c 100644
--- a/solenv/gbuild/UnoApiTarget.mk
+++ b/solenv/gbuild/UnoApiTarget.mk
@@ -160,7 +160,7 @@ endef
ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_UnoApiTarget_get_dep_target,%) : $(call gb_UnoApiTarget_get_target,%)
+$(call gb_UnoApiTarget_get_dep_target,%) :
$(call gb_UnoApiTarget__command_dep,$@,$*,$(UNOAPI_IDLFILES))
endif
@@ -197,8 +197,6 @@ ifeq ($(gb_FULLDEPS),$(true))
$(call gb_UnoApiTarget_get_dep_target,$(1)) : UNOAPI_IDLFILES += $(2)/$(3).idl
$(call gb_UnoApiTarget_get_dep_target,$(1)) : \
$(call gb_UnoApiPartTarget_get_dep_target,$(2)/$(3))
-$(call gb_UnoApiPartTarget_get_dep_target,$(2)/$(3)) : \
- $(call gb_UnoApiPartTarget_get_target,$(2)/idl.done)
endif
endef
diff --git a/solenv/gbuild/WinResTarget.mk b/solenv/gbuild/WinResTarget.mk
index 563a74f..b3c5b68 100644
--- a/solenv/gbuild/WinResTarget.mk
+++ b/solenv/gbuild/WinResTarget.mk
@@ -16,12 +16,7 @@ $(call gb_WinResTarget_get_target,$(1)) : INCLUDE := $(SOLARINC)
$(call gb_WinResTarget_get_clean_target,$(1)) : RCFILE :=
$(call gb_WinResTarget_get_target,$(1)) : RCFILE :=
ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_WinResTarget_get_target,$(1)) : $(call gb_WinResTarget_get_dep_target,$(1))
-ifneq ($(wildcard $(call gb_WinResTarget_get_dep_target,$(1))),)
-include $(call gb_WinResTarget_get_dep_target,$(1))
-else
-$(firstword $(MAKEFILE_LIST)) : $(call gb_WinResTarget_get_dep_target,$(1))
-endif
+-include $(call gb_WinResTarget_get_dep_target,$(1))
$(call gb_WinResTarget_get_dep_target,$(1)) : DEFS := $$(gb_WinResTarget_DEFAULTDEFS)
$(call gb_WinResTarget_get_dep_target,$(1)) : INCLUDE := $$(gb_WinResTarget_INCLUDE)
$(call gb_WinResTarget_get_dep_target,$(1)) : RCFILE :=
commit 6cdc3b9ceb13954f82026d851ab4ca88a706cb84
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed May 16 13:51:05 2012 +0200
fix LinkTarget dep-target dependencies:
The LinkTarget dep-target depends on the LinkTarget headers target,
which appears unnecessary and harmful because since commit
8b5a984d45005d3df1c89eae897d6e04612625d8 the initial dep files always
contain PHONY deps anyway; also the PHONY deps cause spurious re-builds
here because e.g. the tools library depends on a tools package that
depends on a tools custom target that depends on some executable
that depends on libuno_sal that depends on its objects which depend on
this PHONY thing so all that stuff is spuriously re-compiled in make
subsequentcheck after a build from scratch, breaking tests because
being subsequent they don't expect libraries to change under them.
Also, link target shouldn't depend on its dep target.
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 4e78ce5..05b947e 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -102,7 +102,7 @@ endef
# In the dep file rule just touch it so it's newer than the object.
# The gb_Object__command_dep generates an "always rebuild" dep file;
-# It is _only_ used in case the user deletes the object dep file.
+# It is used on first build and in case the user deletes the object dep file.
ifeq ($(gb_FULLDEPS),$(true))
define gb_Object__command_dep
mkdir -p $(dir $(1)) && \
@@ -374,8 +374,8 @@ $(call gb_LinkTarget_get_target,%) : $(call gb_LinkTarget_get_headers_target,%)
$(call gb_LinkTarget__command_objectlist,$@,$*)
ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_target,%) : $(call gb_LinkTarget_get_dep_target,%)
-$(call gb_LinkTarget_get_dep_target,%) : | $(call gb_LinkTarget_get_headers_target,%)
+$(call gb_LinkTarget_get_target,%) : | $(call gb_LinkTarget_get_dep_target,%)
+$(call gb_LinkTarget_get_dep_target,%) :
$(call gb_LinkTarget__command_dep,$@,$*,$(COBJECTS),$(CXXOBJECTS),$(OBJCOBJECTS),$(OBJCXXOBJECTS),$(ASMOBJECTS),$(GENCOBJECTS),$(GENCXXOBJECTS))
endif
commit 07c0b800d9d70857882238204820f75b8dc98b26
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed May 16 13:48:37 2012 +0200
fix spurious re-delivery of RDB files:
The OUTDIR RDB depends on Packages for IDL and headers, the latter of
which depends on the WORKDIR RDB, hence preserving timestamps here leads
to spurious re-delivery because the OUTDIR RDB always has older
timestamp than the headers Package.
diff --git a/solenv/gbuild/UnoApi.mk b/solenv/gbuild/UnoApi.mk
index 9ecf1ed..41bfc9f 100644
--- a/solenv/gbuild/UnoApi.mk
+++ b/solenv/gbuild/UnoApi.mk
@@ -30,6 +30,14 @@ $(call gb_UnoApi_get_clean_target,%) :
$(call gb_Helper_abbreviate_dirs,\
rm -f $(call gb_UnoApi_get_target,$*))
+# override the rule from Package.mk:44:
+# preserving timestamps is not desirable here, because the OUTDIR target
+# depends on package targets _inc and _idl, and those depend on the WORKDIR
+# target, so with timestamps preserved the RDB always gets delivered again
+$(call gb_UnoApi_get_target,%) : $(call gb_UnoApiTarget_get_target,%)
+ $(gb_Deliver_GNUCOPY) $(if $(gb_Deliver_CLEARONDELIVER),--remove-destination) --no-dereference --force $< $@
+
+
define gb_UnoApi_UnoApi
$(call gb_UnoApiTarget_UnoApiTarget,$(1))
$(call gb_UnoApiHeadersTarget_UnoApiHeadersTarget,$(1))
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 8d35ab3..b570cec 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -285,6 +285,7 @@ include $(SOLARENV)/inc/minor.mk
# For example:
# $(OUTDIR)/bin/% for executables collides
# with $(OUTDIR)/bin/%.res for resources on unix
+# with $(OUTDIR)/bin/%.rdb for UnoApi
# $(OUTDIR)/lib/%.lib collides
# on windows (static and dynamic libs)
# $(OUTDIR)/xml/% for packageparts collides
@@ -303,6 +304,7 @@ include $(foreach class, \
StaticLibrary \
Executable \
SdiTarget \
+ UnoApi \
Package \
CustomTarget \
ExternalLib \
@@ -315,7 +317,6 @@ include $(foreach class, \
JunitTest \
Module \
UnoApiTarget \
- UnoApi \
UnoApiMerge \
InternalUnoApi \
Zip \
commit 0b1e380e02e1b480648d5101d68c7e1e47520bc9
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed May 16 15:45:36 2012 +0200
try to fix --with-solver-and-workdir-root on Windows
idlc breaks because sal considers X:\\foo an invalid system path
diff --git a/configure.in b/configure.in
index 4c82f39..9c23d8a 100644
--- a/configure.in
+++ b/configure.in
@@ -2206,7 +2206,12 @@ if test -n "${with_solver_and_workdir_root}"; then
AC_MSG_ERROR([directory does not exist: ${with_solver_and_workdir_root}])
fi
PathFormat "${with_solver_and_workdir_root}"
- SOLARVER=${formatted_path}/solver
+ # IsValidFilePath in /sal/osl/w32/file_url.cxx rejects "X:\\" breaking idlc
+ if echo ${formatted_path} | $GREP -q '/$'; then
+ SOLARVER=${formatted_path}solver
+ else
+ SOLARVER=${formatted_path}/solver
+ fi
else
SOLARVER=${SRC_ROOT}/solver
fi
@@ -3396,7 +3401,12 @@ fi
INPATH="${OUTPATH}${PROEXT}"
if test -n "${with_solver_and_workdir_root}"; then
PathFormat "${with_solver_and_workdir_root}"
- WORKDIR=${formatted_path}/workdir/${INPATH}
+ # IsValidFilePath in /sal/osl/w32/file_url.cxx rejects "X:\\" breaking idlc
+ if echo ${formatted_path} | $GREP -q '/$'; then
+ WORKDIR=${formatted_path}workdir/${INPATH}
+ else
+ WORKDIR=${formatted_path}/workdir/${INPATH}
+ fi
else
WORKDIR=${SRC_ROOT}/workdir/${INPATH}
fi
More information about the Libreoffice-commits
mailing list