On Mon, Dec 26, 2005 at 12:25:54PM -0600, Steve Peters wrote:
> >From my quick and dirty test, it appears that the cd's in a GNU make are in
> effect for the current command, but you are implicitly returned to your
> start directory after the completed command. BSD doesn't return you back to
> your starting directory. Looking at the OpenBSD make(1) manpage, I got a
> hint to the fix.
>
> -j max_jobs
> Specify the maximum number of jobs that make may have running at
> any one time. Turns compatibility mode off, unless the -B flag
> is also specified.
>
> So, after running "make -j2 -B disttest" everything compiled just fine. Check
> the FreeBSD make manpage to see if there is a similar "-B" flag. That
> might be the fix you're looking for.
There is a -B flag.
However, I found that the following change stops the nested make thinking
that it should be running with -j, and everything passes:
Change 26499 by [EMAIL PROTECTED] on 2005/12/27 00:29:33
Removing MAKE_JOBS_FIFO from %ENV causes FreeBSD make to forget about
any -j flags. (And their implied disabling of backwards compatibility,
which is the real cause of the make disttest failure).
Affected files ...
... //depot/perl/lib/ExtUtils/t/basic.t#20 edit
Differences ...
==== //depot/perl/lib/ExtUtils/t/basic.t#20 (text) ====
@@ -25,7 +25,7 @@
# 'make disttest' sets a bunch of environment variables which interfere
# with our testing.
-delete @ENV{qw(PREFIX LIB MAKEFLAGS)};
+delete @ENV{qw(PREFIX LIB MAKEFLAGS MAKE_JOBS_FIFO)};
my $perl = which_perl();
my $Is_VMS = $^O eq 'VMS';
I hope that this also helps other *BSD makes.
Nicholas Clark