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 <mst...@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 <mst...@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 <mst...@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 <mst...@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 <mst...@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 <mst...@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 _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits