diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-10-21 09:28:00 (GMT) |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-10-21 09:34:16 (GMT) |
commit | ee8769ddaff1b69bfd1a959c3c58a96416736890 (patch) | |
tree | 0f5aa2ab82056b5363c996342099a51eb251f8c0 | |
parent | 4b678fe08ec8de5a34d8b2ec2d9ec44276424636 (diff) | |
download | Qt-ee8769ddaff1b69bfd1a959c3c58a96416736890.zip Qt-ee8769ddaff1b69bfd1a959c3c58a96416736890.tar.gz Qt-ee8769ddaff1b69bfd1a959c3c58a96416736890.tar.bz2 |
Fixed .make.cache write collision on symbian-sbsv2 builds
If a project was built for more than one target with single sbs
command, .make.cache generation could sometime fail because multiple
jobs attempted to write into it simultaneously. Now only one of the
specified targets will be used to generate .make.cache, making
collisions impossible.
Reviewed-by: Janne Anttila
-rw-r--r-- | mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm index 7fada1e..634fafa 100644 --- a/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm +++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm @@ -9,6 +9,14 @@ include $(FLMHOME)/metaflm.mk +SINGLETON:=$(call sanitise,TSTORE_SINGLETON_$(EXTENSION_ROOT)) + +ifeq ($($(SINGLETON)),) +# Prevent duplicate targets from being created, as that can lead to build breaks +# in multiprocessor systems if two or more targets try to write to .make.cache at +# the same time. +$(SINGLETON):=1 + STORE_BUILD_TARGET:=$(call sanitise,TSTORE_BUILD_$(PLATFORM_PATH)_$(CFG_PATH)_$(EXTENSION_ROOT)) CACHE_FILENAME:=$(EXTENSION_ROOT)/.make.cache @@ -37,4 +45,5 @@ endef $(eval $(qmake_store_build)) $(eval $(call GenerateStandardCleanTarget,$(CACHE_FILENAME),'')) +endif |