about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-02-06 17:48:02 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-02-06 17:48:02 +0000
commit95b2e07fafddc57d818dd408e5ab1e0eb26cd9f1 (patch)
tree5ec22e0a4105e26cd5e8e5bf71d98286210a3a28
parent0b20e02c976ddd89a4adaa3a0c26baec3e275161 (diff)
downloadglibc-95b2e07fafddc57d818dd408e5ab1e0eb26cd9f1.tar.gz
glibc-95b2e07fafddc57d818dd408e5ab1e0eb26cd9f1.tar.xz
glibc-95b2e07fafddc57d818dd408e5ab1e0eb26cd9f1.zip
Remove before-compile setting in math/Makefile.
In <https://sourceware.org/ml/libc-alpha/2015-12/msg00543.html>,
Florian noted highly parallel builds being slowed down by
gen-libm-test.pl running during the build, when it should only run for
testing, not for building glibc itself.

This is a consequence of libm-test.c being listed in before-compile.
That listing in before-compile arose from the error reported in
<https://sourceware.org/ml/libc-hacker/1999-10/msg00054.html> when
building dependencies: at that time, dependencies were generated
separation from compilation, so if a source file included a generated
file it wasn't enough for the dependencies for the .o file to be
correct, the generated file needed to be listed in before-compile.

Since <https://sourceware.org/ml/libc-hacker/2003-05/msg00001.html>,
dependencies are generated as a side-effect of compilation.  This
means that having the right dependencies for the .o files for the
tests fully suffices to ensure that libm-test.c is generated by the
time it's needed; no entry in before-compile is needed.  And we indeed
have such a dependency for all the tests using libm-test.c:

$(addprefix $(objpfx), $(libm-tests.o)): $(objpfx)libm-test.stmp

Thus, the before-compile definition is unnecessary, and this patch
removes it.  (This may of course move serialization from the glibc
build to glibc testing, but I intend to split up libm-test.inc so that
tests for each (floating-point type, libm function) pair are built and
run separately, which should reduce that serialization.)

Tested for x86_64.

	* math/Makefile (before-compile): Remove.
-rw-r--r--ChangeLog4
-rw-r--r--math/Makefile3
2 files changed, 4 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index fa2fbf0903..433261a85e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2017-02-06  Joseph Myers  <joseph@codesourcery.com>
+
+	* math/Makefile (before-compile): Remove.
+
 2017-02-06  Ivo Raisr <ivo.raisr@oracle.com>
 
 	[BZ #21075]
diff --git a/math/Makefile b/math/Makefile
index 0ee46480e2..dd3b05ab48 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -210,9 +210,6 @@ extra-test-objs += $(addsuffix .o, $(libm-vec-test-wrappers))
 libm-tests-generated = libm-test-ulps.h libm-have-vector-test.h libm-test.c
 generated += $(libm-tests-generated) libm-test.stmp
 
-# This is needed for dependencies
-before-compile += $(objpfx)libm-test.c
-
 ulps-file = $(firstword $(wildcard $(sysdirs:%=%/libm-test-ulps)))
 
 $(addprefix $(objpfx), $(libm-tests-generated)): $(objpfx)libm-test.stmp