Bug in /Developer/Makefiles/CoreOS/ReleaseControl/GNUSource.make using parallel jobs
Bug in /Developer/Makefiles/CoreOS/ReleaseControl/GNUSource.make using parallel jobs
- Subject: Bug in /Developer/Makefiles/CoreOS/ReleaseControl/GNUSource.make using parallel jobs
- From: Ludovic Rousseau <email@hidden>
- Date: Tue, 12 Jan 2010 15:06:36 +0100
Hello,
I hope this list is a good place to file a bug against a file provided
by Xcode. I can also open a bug in bugreport.apple.com if needed.
I am using MAKEFLAGS=-j3 to run as much as 3 make jobs in parallel. I
want to use my bi-core CPU :-)
The problem with this configuration is that "many" makefiles are broken.
In particular the construction:
target: step1 step2
does not work if it is expected that step1 is done _before_ step2.
This is what happens when make does things sequentially . But what the
makefile expresses is that target depends on step1 _and_ step2, not
step1 _then_ step2.
In multi-job make will then run step1 and step2 in parallel and bad
things can happen.
Now the bug. In
/Developer/Makefiles/CoreOS/ReleaseControl/GNUSource.make we have a
line:
configure:: lazy_install_source $(ConfigStamp)
but $(ConfigStamp) should not start before lazy_install_source has finised.
Proposed patch (works for me):
--- GNUSource.make.orig 2010-01-12 14:31:53.000000000 +0100
+++ GNUSource.make 2010-01-12 14:32:07.000000000 +0100
@@ -141,13 +141,13 @@
$(_v) $(MAKE) -C $(BuildDirectory) $(Make_Flags)
endif
-configure:: lazy_install_source $(ConfigStamp)
+configure:: $(ConfigStamp)
reconfigure::
$(_v) $(RM) $(ConfigStamp)
$(_v) $(MAKE) configure
-$(ConfigStamp):
+$(ConfigStamp): lazy_install_source
ifneq ($(GnuNoConfigure),YES)
@echo "Configuring $(Project)..."
$(_v) $(MKDIR) $(BuildDirectory)
--
Dr. Ludovic Rousseau
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden