diff mbox

Install libm.a as linker script [BZ #20539]

Message ID CAMXFM3utwitJ-k-=D2N3j5MqZzee8Uy5eBnSGYU1XzMop1NOMw@mail.gmail.com
State New
Headers show

Commit Message

Andrew Senkevich Dec. 9, 2016, 5:41 p.m. UTC
2016-12-09 18:38 GMT+03:00 Andreas Schwab <schwab@suse.de>:
> On Dez 07 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:
>
>> +$(inst_libdir)/libm.a: $(common-objpfx)format.lds \
>> +                    $(libm) \
>> +                    $(libmvec) \
>> +                    $(+force)
>> +     (echo '/* GNU ld script'; echo '*/';\
>> +      cat $<; \
>> +      echo 'GROUP ( $(libdir)/libm-$(lib-version).a $(libdir)/libmvec.a )' \
>> +     ) > $@.new
>> +     cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
>
> A rule should only create the target, nothing else.

Is the following update Ok?

 before-compile += $(objpfx)libm-test.c
@@ -208,6 +207,10 @@ $(objpfx)libm-test.stmp: $(ulps-file)
libm-test.inc gen-libm-test.pl \
  $(PERL) gen-libm-test.pl -u $< -o "$(objpfx)"
  $(SHELL) gen-libm-have-vector-test.sh > $(objpfx)libm-have-vector-test.h
  @echo > $@
+
+$(objpfx)copy-libm.a.stmp: $(objpfx)libm.a
+ cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
+ @echo > $@
 endif

 libm-test-fast-math-cflags = -fno-builtin -D__FAST_MATH__ -DTEST_FAST_MATH



--
WBR,
Andrew

Comments

Andreas Schwab Dec. 9, 2016, 6:23 p.m. UTC | #1
On Dez 09 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:

> 2016-12-09 18:38 GMT+03:00 Andreas Schwab <schwab@suse.de>:
>> On Dez 07 2016, Andrew Senkevich <andrew.n.senkevich@gmail.com> wrote:
>>
>>> +$(inst_libdir)/libm.a: $(common-objpfx)format.lds \
>>> +                    $(libm) \
>>> +                    $(libmvec) \
>>> +                    $(+force)
>>> +     (echo '/* GNU ld script'; echo '*/';\
>>> +      cat $<; \
>>> +      echo 'GROUP ( $(libdir)/libm-$(lib-version).a $(libdir)/libmvec.a )' \
>>> +     ) > $@.new
>>> +     cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
>>
>> A rule should only create the target, nothing else.
>
> Is the following update Ok?

There is no neeed to go through a stamp file, just depend on
$(inst_libdir)/libm-$(lib-version).a, and add a rule which copies
$(objpfx)libm.a there.

Andreas.
diff mbox

Patch

diff --git a/math/Makefile b/math/Makefile
index 49556f6..ebbb8ee 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -144,14 +144,13 @@  $(inst_libdir)/libm.so: $(common-objpfx)format.lds \
  mv -f $@.new $@

 $(inst_libdir)/libm.a: $(common-objpfx)format.lds \
-       $(libm) \
-       $(libmvec) \
+       $(objpfx)copy-libm.a.stmp \
+       $(objpfx)../mathvec/libmvec.a \
        $(+force)
  (echo '/* GNU ld script'; echo '*/';\
  cat $<; \
  echo 'GROUP ( $(libdir)/libm-$(lib-version).a $(libdir)/libmvec.a )' \
  ) > $@.new
- cp $(objpfx)libm.a $(inst_libdir)/libm-$(lib-version).a
  mv -f $@.new $@
 endif

@@ -193,7 +192,7 @@  libm-vec-test-wrappers = $(addsuffix -wrappers,
$(libm-vec-tests))
 test-extras += $(libm-vec-test-wrappers)
 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
+generated += $(libm-tests-generated) libm-test.stmp copy-libm.a.stmp

 # This is needed for dependencies