[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
PSPP-BUG: [bug #60192] make -j4 routinely has issues
From: |
Friedrich Beckmann |
Subject: |
PSPP-BUG: [bug #60192] make -j4 routinely has issues |
Date: |
Sat, 9 Apr 2022 12:47:28 -0400 (EDT) |
Follow-up Comment #10, bug #60192 (project pspp):
Removing the SUBDIRS variable results in replacing "all-recursive" with
"all-am", so already better. But for us this only means that the po directory
will not be build recursively. I had a look at the automake source here:
https://git.savannah.gnu.org/cgit/automake.git/tree/bin/automake.in
===SNIP===
++++
my @local_headers = ();
push @local_headers, '$(BUILT_SOURCES)'
if var ('BUILT_SOURCES');
foreach my $spec (@config_headers)
{
my ($out, @ins) = split_config_file_spec ($spec);
push @local_headers, basename ($out)
if dirname ($out) eq $relative_dir;
}
if (@local_headers)
{
# We need to make sure config.h is built before we recurse.
# We also want to make sure that built sources are built
# before any ordinary 'all' targets are run. We can't do this
# by changing the order of dependencies to the "all" because
# that breaks when using parallel makes. Instead we handle
# things explicitly.
$output_all .= ("all: @local_headers"
. "\n\t"
. '$(MAKE) $(AM_MAKEFLAGS) '
. (var ('SUBDIRS') ? 'all-recursive' : 'all-am')
. "\n\n");
depend ('.MAKE', 'all');
}
else
{
$output_all .= "all: " . (var ('SUBDIRS')
? 'all-recursive' : 'all-am') . "\n\n";
}
}
----
which means that we must not have "local-headers". Getting rid of "config.h"
and other "BUILT_SOURCES" will result in a non-recursive setup. Conceptually
those "build sources" could be regular dependencies or am I wrong?
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?60192>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/