Sun Jun 16 03:22:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
authorRoland McGrath <roland@gnu.org>
Sun, 16 Jun 1996 08:46:47 +0000 (08:46 +0000)
committerRoland McGrath <roland@gnu.org>
Sun, 16 Jun 1996 08:46:47 +0000 (08:46 +0000)
* sysdeps/unix/sysv/Makefile (sysdep_headers): Make append of termio.h
and rule for it conditional on termio.h not already being in
sysdep_headers.

* rpm/Makefile (install-others) [libc.so-version]: Get libc.so from
$(libdir), only the versioned named from $(slibdir).
(instfiles): New variable.
(glibc-$(version).$(config).rpm): New target.  Run rpm -bb.
* rpm/rpmrc: New file.  A third of the options controlling rpm can
only be given here (another third is on the command line, and a third
cannot be specified in any way shape or form).

ChangeLog
rpm/Makefile
rpm/rpmrc [new file with mode: 0644]
sysdeps/unix/sysv/Makefile

index d5c1a48..941a62d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Sun Jun 16 03:22:49 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
+
+       * sysdeps/unix/sysv/Makefile (sysdep_headers): Make append of termio.h
+       and rule for it conditional on termio.h not already being in
+       sysdep_headers.
+
+       * rpm/Makefile (install-others) [libc.so-version]: Get libc.so from
+       $(libdir), only the versioned named from $(slibdir).
+       (instfiles): New variable.
+       (glibc-$(version).$(config).rpm): New target.  Run rpm -bb.
+       * rpm/rpmrc: New file.  A third of the options controlling rpm can
+       only be given here (another third is on the command line, and a third
+       cannot be specified in any way shape or form).
+
 Sun Jun 16 02:44:22 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
 
        * rpm/template: New file.
index a4e7969..5ffa19a 100644 (file)
@@ -39,21 +39,24 @@ install-lib += $(foreach lib,$(versioned),\
                         $(lib)$($(lib)-version) $(lib))
 
 # Add libc.so itself, which is a special case in Makerules.
+ifndef libc.so-version
 install-others += $(slibdir)/libc.so
-ifdef libc.so-version
-install-others += $(slibdir)/libc-$(version).so \
+else
+install-others += $(libdir)/libc.so \
+                 $(slibdir)/libc-$(version).so \
                  $(slibdir)/libc.so$(libc.so-version)
 endif
 \f
 
-glibc-$(version).$(config).rpm: $(config)
+all: glibc-$(version).$(config).rpm
 
-all: $(config)
+instvars = include lib bin sbin data others
 
+# Generate the rpm spec file for this configuration.
 $(config): template $(distinfo) Makefile
        rm -f $@.new
        (sed -e 's%@VERSION@%$(version)%g' $<; \
-        ($(foreach var,include lib bin sbin data others,\
+        ($(foreach var,$(instvars),\
          for f in $(install-$(var)); do \
            echo $(filter-out /,$($(var)dir)/)$$f; \
          done;\
@@ -65,3 +68,19 @@ $(config): template $(distinfo) Makefile
 
 install-include = $(headers)
 
+instfiles := $(sort $(foreach x,$(instvars),\
+                             $(addprefix $(filter-out /,$($xdir)/),\
+                                         $(install-$x))))
+
+# Build the binary rpm for this configuration.
+glibc-$(version).$(config).rpm: $(config) rpmrc $(instfiles)
+# rpm is really lame.  You cannot tell it the name of the output file,
+# and you can only guess at what the name will turn out to be!
+       arch=`uname -m | sed -e 's/i.86/i386/' -e 's/alpha/axp/'`; \
+       rm -f $$arch; ln -s . $$arch; \
+       rpm --rcfile rpmrc -bb $<; \
+       rm -f $$arch; \
+       mv -f glibc-$(version)-1.$${arch}.rpm $@
+
+# Avoid time-consuming implicit rule search.
+$(instfiles) : ;
diff --git a/rpm/rpmrc b/rpm/rpmrc
new file mode 100644 (file)
index 0000000..e4d66e9
--- /dev/null
+++ b/rpm/rpmrc
@@ -0,0 +1,4 @@
+builddir: .
+rpmdir: .
+srcrpmdir: .
+specdir: .
index 2854237..bc691e3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1996 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
@@ -16,7 +16,9 @@
 # not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 # Cambridge, MA 02139, USA.
 
-ifeq ($(subdir), misc)
+ifeq ($(subdir), termios)
+
+ifeq (,$(filter termio.h,$(sysdep_headers)))
 
 sysdep_headers := $(sysdep_headers) termio.h
 generated := $(generated) termio.h
@@ -34,6 +36,7 @@ $(objpfx)termio.h: $(..)sysdeps/unix/sysv/sysv_termio.h
        mv $@-tmp $@
 
 endif
+endif
 
 # In SYSV style archives the symbol table member has an empty name.
 ar-symtab-name =