This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Remove before-compile setting in math/Makefile [committed]
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Mon, 6 Feb 2017 17:48:58 +0000
- Subject: Remove before-compile setting in math/Makefile [committed]
- Authentication-results: sourceware.org; auth=none
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:
# This must come after the inclusion of sysdeps Makefiles via Rules.
$(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. Committed.
2017-02-06 Joseph Myers <joseph@codesourcery.com>
* math/Makefile (before-compile): Remove.
diff --git a/math/Makefile b/math/Makefile
index 0ee4648..dd3b05a 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
--
Joseph S. Myers
joseph@codesourcery.com