diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-02-06 18:20:15 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-02-06 18:21:06 +0000 |
commit | 7e1e68b45c4f2e048213cffa8ccd42a1e5c4fec6 (patch) | |
tree | dceee261b2661a361f8a96920c0adb4354e3ab53 /math/Makefile | |
parent | c7a37ad352c90d798d138b9f83e0333c78d08410 (diff) | |
download | glibc-7e1e68b45c4f2e048213cffa8ccd42a1e5c4fec6.tar glibc-7e1e68b45c4f2e048213cffa8ccd42a1e5c4fec6.tar.gz glibc-7e1e68b45c4f2e048213cffa8ccd42a1e5c4fec6.tar.bz2 glibc-7e1e68b45c4f2e048213cffa8ccd42a1e5c4fec6.zip |
Rework gen-libm-test.pl input/output handling.
This patch reworks how input and output files are specified for
gen-libm-test.pl.
Previously, the script had names of various inputs and outputs
hardcoded, with a -o option to specify an output directory. This
patch replaces this with all inputs and outputs being specified
explicitly as the arguments of options passed to the script. Outputs
are only generated if the relevant option is passed, and only the
processing required for the indicated outputs is done. The Makefile
is made to pass options for generating libm-test-ulps.h in a separate
invocation of gen-libm-test.pl from that generating libm-test.c.
This is all in preparation for splitting up libm-test.inc and
auto-libm-test-out and running tests separately for each function,
when gen-libm-test.pl will be run separately for each function to
generate the .c file but only once to generate libm-test-ulps.h (and
those runs will be able to be in parallel).
Tested for x86_64. The generated libm-test.c and libm-test-ulps.h are
identical before and after the patch. Also tested the "make
regen-ulps" case.
* math/gen-libm-test.pl ($output_dir): Remove variable.
($srcdir): Likewise.
($opt_a): New variable.
($opt_c): Likewise.
($opt_C): Likewise.
($opt_H): Likewise.
(-n): Make option take argument and use it as NewUlps output.
(-a): New option. Use its argument for auto-libm-test-out input.
(-c): New option. Use its argument for libm-test.inc input.
(-C): New option. Use its argument for libm-test.c output.
(-H): New option. Use its argument for libm-test-ulps.h output.
(top level): Only process inputs needed to generate outputs
specified by command-line options. Only generate outputs
specified by command-line options.
* math/README.libm-test: Update example gen-libm-test.pl command.
* math/Makefile ($(objpfx)libm-test.stmp): Update gen-libm-test.pl
commands.
(regen-ulps): Likewise.
Diffstat (limited to 'math/Makefile')
-rw-r--r-- | math/Makefile | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/math/Makefile b/math/Makefile index dd3b05ab48..bbee8f3c58 100644 --- a/math/Makefile +++ b/math/Makefile @@ -217,7 +217,9 @@ $(addprefix $(objpfx), $(libm-tests-generated)): $(objpfx)libm-test.stmp $(objpfx)libm-test.stmp: $(ulps-file) libm-test.inc gen-libm-test.pl \ gen-libm-have-vector-test.sh auto-libm-test-out $(make-target-directory) - $(PERL) gen-libm-test.pl -u $< -o "$(objpfx)" + $(PERL) gen-libm-test.pl -u $< -H "$(objpfx)libm-test-ulps.h" + $(PERL) gen-libm-test.pl -c libm-test.inc -a auto-libm-test-out \ + -C "$(objpfx)libm-test.c" $(SHELL) gen-libm-have-vector-test.sh > $(objpfx)libm-have-vector-test.h @echo > $@ endif @@ -353,7 +355,8 @@ regen-ulps: $(addprefix $(objpfx),$(libm-tests)) cat $(objpfx)ULPs >> $(objpfx)libm-test-ulps; \ rm $(objpfx)ULPs; \ done; \ - $(PERL) gen-libm-test.pl -o $(objpfx) -n -u $(objpfx)libm-test-ulps; \ + $(PERL) gen-libm-test.pl -n $(objpfx)NewUlps \ + -u $(objpfx)libm-test-ulps; \ echo "Automatic regeneration of ULPs complete."; \ echo "Difference between the current baseline and the new baseline is:";\ diff -urN $(ulps-file) $(objpfx)NewUlps; \ |