* sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h [__ASSEMBLER__]: Don't
authorRoland McGrath <roland@gnu.org>
Thu, 19 Jan 2006 07:29:40 +0000 (07:29 +0000)
committerRoland McGrath <roland@gnu.org>
Thu, 19 Jan 2006 07:29:40 +0000 (07:29 +0000)
include problematic headers for assembler.

* Makerules ($(+sysdir_pfx)sysd-rules): Don't emit m_%.c rules,
instead emit m_%.o compilation rules from s_%.? source files.
* math/Makefile ($(objpfx)m_%$o: s_%.c): New rule using o-iterator.

ChangeLog
Makerules
math/Makefile

index 53225a3..58779e1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-01-18  Roland McGrath  <roland@redhat.com>
+
+       * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h [__ASSEMBLER__]: Don't
+       include problematic headers for assembler.
+
+       * Makerules ($(+sysdir_pfx)sysd-rules): Don't emit m_%.c rules,
+       instead emit m_%.o compilation rules from s_%.? source files.
+       * math/Makefile ($(objpfx)m_%$o: s_%.c): New rule using o-iterator.
+
 2006-01-18  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/unix/sysv/linux/fxstatat.c [STAT_IS_KERNEL_STAT]
index e376dab..a96a03e 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -257,6 +257,10 @@ $(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \
                  \$$(compile-command.S)";                                    \
             echo "\$$(objpfx)ptw-%$$o: $$dir/%.s \$$(before-compile); \
                  \$$(compile-command.s)";                                    \
+            echo "\$$(objpfx)m_%$$o: $$dir/s_%.S \$$(before-compile); \
+                 \$$(compile-command.S)";                                    \
+            echo "\$$(objpfx)m_%$$o: $$dir/s_%.s \$$(before-compile); \
+                 \$$(compile-command.s)";                                    \
             $(close-check-inhibit-asm) \
             echo "\$$(objpfx)%$$o: $$dir/%.c \$$(before-compile); \
                  \$$(compile-command.c)";                                    \
@@ -264,13 +268,12 @@ $(+sysdir_pfx)sysd-rules: $(+sysdir_pfx)config.make $(..)Makerules \
                  \$$(compile-command.c)";                                    \
             echo "\$$(objpfx)ptw-%$$o: $$dir/%.c \$$(before-compile); \
                  \$$(compile-command.c)";                                    \
+            echo "\$$(objpfx)m_%$$o: $$dir/s_%.c \$$(before-compile); \
+                 \$$(compile-command.c)";                                    \
           done; \
-          echo "\$$(objpfx)m_%.S: $$dir/s_%.S; \$$(+make-include-of-dep)";   \
-          echo "\$$(objpfx)m_%.c: $$dir/s_%.c; \$$(+make-include-of-dep)";   \
           echo "\$$(inst_includedir)/%.h: $$dir/%.h \$$(+force); \
                        \$$(do-install)";                                     \
         done;                                                                \
-        echo "\$$(objpfx)m_%.c: s_%.c; \$$(+make-include-of-dep)";   \
         echo 'sysd-rules-done = t') > $@T
        mv -f $@T $@
 
@@ -279,12 +282,6 @@ ifndef sysd-rules-done
 no_deps=t
 endif
 
-# This is used by the m_%.[Sc] pattern rules in sysd-rules.
-define +make-include-of-dep
-echo '#include <$<>' > $@T
-mv -f $@T $@
-endef
-
 define o-iterator-doit
 $(objpfx)%$o: %.S $(before-compile); $$(compile-command.S)
 endef
index 8e5c788..b45283d 100644 (file)
@@ -1,4 +1,5 @@
-# Copyright (C) 1996-2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1996-2001,2002,2003,2004,2005,2006
+#      Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -149,6 +150,15 @@ distribute += ieee-math.c
 include ../Rules
 
 
+# The generated sysd-rules file defines rules like this for sources
+# coming from sysdeps/ directories.  These rules find the generic sources.
+define o-iterator-doit
+$(objpfx)m_%$o: s_%.c $(before-compile); $$(compile-command.c)
+endef
+object-suffixes-left := $(all-object-suffixes)
+include $(o-iterator)
+
+
 # This file defines the default _LIB_VERSION variable that controls
 # the error return conventions for the math functions.
 CPPFLAGS-s_lib_version.c := -D_POSIX_MODE