Changeset 127583 in webkit
- Timestamp:
- Sep 5, 2012 6:11:35 AM (12 years ago)
- Location:
- trunk/Tools
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r127578 r127583 1 2012-09-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> 2 3 [Qt] Fix makefile race condition between derived sources and target 4 5 r121966 removed too much of the old qmake logic, including the rule 6 that ensured that qmake_all would not trigger dual runs of qmake -- 7 one of the derived sources -qmake-all rule, and one for making the 8 derived sources. 9 10 We now follow a similar pattern as before, by introducing a custom 11 target that explicitly depends on the derived sources' qmake-all before 12 doing a manual run of make. That ensures a single qmake run for the derived 13 sources. 14 15 https://bugs.webkit.org/show_bug.cgi?id=93847 16 17 Reviewed by Csaba Osztrogonác. 18 19 * qmake/mkspecs/features/functions.prf: 20 1 21 2012-09-05 Christophe Dumez <christophe.dumez@intel.com> 2 22 -
trunk/Tools/qmake/mkspecs/features/functions.prf
r125411 r127583 138 138 second_base_target = sub-$$replace(secondSubdirFile, [^a-zA-Z0-9_], -) 139 139 140 # Use a custom target for making the derived sources, as the default target 141 # will do 'test -f $(MAKEFILE).DerivedSources || $(QMAKE) ...', which clashes 142 # with the qmake-run of the -qmake_all target, and we end up with a race 143 # and potentially half-written makefiles. The custom target depends explicitly 144 # on -qmake_all, to ensure that we have a makefile, and then calls make. 145 derived_make_for_qmake.target = $${first_base_target}-make_for_qmake 146 derived_make_for_qmake.depends = $${first_base_target}-qmake_all 147 derived_make_for_qmake.commands = $(MAKE) -f $$eval($${firstSubdir}.makefile) 148 QMAKE_EXTRA_TARGETS += derived_make_for_qmake 149 140 150 # This target ensures that running "make qmake_all" will force both qmake and make 141 151 # to be run on the derived sources before running qmake on the target, so that 142 152 # qmake can pick up the right dependencies for the target based on the derived 143 # sources that were generated. Just "make qmake" is non-recursive anyway.153 # sources that were generated. 144 154 target_make_qmake.target = $${second_base_target}-qmake_all 145 target_make_qmake.depends = $${ first_base_target}155 target_make_qmake.depends = $${derived_make_for_qmake.target} 146 156 QMAKE_EXTRA_TARGETS += target_make_qmake 147 157
Note: See TracChangeset
for help on using the changeset viewer.