diff options
author | Michael Stahl <mstahl@redhat.com> | 2011-10-18 17:27:32 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2011-10-18 17:39:10 +0200 |
commit | 86a2270f856244e85b3fb91792fd936d793852ff (patch) | |
tree | 8825ef122aafdc76267cc06b62fc98c51c55962b /solenv | |
parent | 72acea9f28f1d4975c2e7149963e61a3901ec590 (diff) |
gb_Library_set_componentfile: depend from workdir
The dependecy from the outdir lib to the component file is racy, because
we preserve timestamps when delivering: if the component file and the
workdir library are built in parallel, and the component file ends up
being newer, then the library will always be delivered because its
timestamp is always older. Work around this by having the workdir
library depend on the component file.
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/gbuild/Library.mk | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk index 10bee87f89a1..39afc5aa42ab 100644 --- a/solenv/gbuild/Library.mk +++ b/solenv/gbuild/Library.mk @@ -80,7 +80,9 @@ endef define gb_Library_set_componentfile $(call gb_ComponentTarget_ComponentTarget,$(or $(strip $(3)),$(strip $(2))),$(call gb_Library__get_componentprefix,$(1)),\ $(call gb_Library_get_runtime_filename,$(if $(MERGELIBS),$(if $(filter $(gb_MERGED_LIBS),$(1)),merged,$(1)),$(1))),$(2)) -$(call gb_Library_get_target,$(1)) : $(call gb_ComponentTarget_get_outdir_target,$(2)) $(call gb_ComponentTarget_get_outdir_inbuild_target,$(2)) +$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktargetname,$(1))) : \ + $(call gb_ComponentTarget_get_outdir_target,$(2)) \ + $(call gb_ComponentTarget_get_outdir_inbuild_target,$(2)) $(call gb_Library_get_clean_target,$(1)) : $(call gb_ComponentTarget_get_clean_target,$(or $(strip $(3)),$(strip $(2)))) endef |