From 83d1aec8fc5f4250e6d5f44eeef30c923e140ca4 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 19 Mar 2012 16:23:26 +0000 Subject: Remove common-objdir-compile and related sysdeps/unix/Makefile code. --- sysdeps/unix/Makefile | 240 +------------------------------------------- sysdeps/unix/errnos-tmpl.c | 98 ------------------ sysdeps/unix/errnos.awk | 12 --- sysdeps/unix/ioctls-tmpl.c | 134 ------------------------- sysdeps/unix/ioctls.awk | 10 -- sysdeps/unix/mk-local_lim.c | 125 ----------------------- sysdeps/unix/snarf-ioctls | 48 --------- 7 files changed, 1 insertion(+), 666 deletions(-) delete mode 100644 sysdeps/unix/errnos-tmpl.c delete mode 100644 sysdeps/unix/errnos.awk delete mode 100644 sysdeps/unix/ioctls-tmpl.c delete mode 100644 sysdeps/unix/ioctls.awk delete mode 100644 sysdeps/unix/mk-local_lim.c delete mode 100755 sysdeps/unix/snarf-ioctls (limited to 'sysdeps/unix') diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile index 4b887a7a87..c8ef96d50e 100644 --- a/sysdeps/unix/Makefile +++ b/sysdeps/unix/Makefile @@ -1,5 +1,4 @@ -# Copyright (C) 1991,1992,1993,1994,1995,1996,1997,1998,1999,2003,2006,2008,2009 -# Free Software Foundation, Inc. +# Copyright (C) 1991-2012 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,243 +15,6 @@ # License along with the GNU C Library; if not, see # . -# The unix-specific configure fragment writes `unix-generated' in config.make. -config-generated := $(config-generated) $(unix-generated) - -ifeq (,$(filter-out $(sysdep_dir)/generic/ $(common-objpfx),\ - $(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/bits/local_lim.h)))))) - -ifneq (,$(wildcard $(sysincludedir)/sys/param.h)) -mk-local_lim-CFLAGS += -DHAVE_SYS_PARAM_H -endif -ifneq (,$(wildcard $(sysincludedir)/sys/limits.h)) -mk-local_lim-CFLAGS += -DHAVE_SYS_LIMITS_H -endif -ifneq (,$(wildcard $(sysincludedir)/limits.h)) -mk-local_lim-CFLAGS += -DHAVE_LIMITS_H -endif - -$(common-objpfx)bits/local_lim.h: $(common-objpfx)mk-local_lim - $(dir $<)$(notdir $<) > $@-t - mv -f $@-t $@ -$(common-objpfx)mk-local_lim: $(sysdep_dir)/unix/mk-local_lim.c - $(common-objdir-compile) - -before-compile += $(common-objpfx)bits/local_lim.h -common-generated += bits/local_lim.h mk-local_lim - -endif - -ifeq (,$(filter-out $(sysdep_dir)/generic/ $(common-objpfx),\ - $(patsubst %/sys/param.h,%/,\ - $(firstword $(wildcard $(+sysdep_dirs:%=%/sys/param.h)))))) - -before-compile := $(before-compile) $(common-objpfx)sys/param.h - -$(common-objpfx)sys/param.h: $(sysincludedir)/sys/param.h - $(make-target-directory) - (echo '#ifndef _SYS_PARAM_H'; \ - echo '#define _SYS_PARAM_H 1'; \ - echo '#include '; \ - $(AWK) < $< \ - '/^#define[ ]*NULL/ { print "#ifndef NULL"; \ - print $$0; \ - print "#endif"; \ - was_null = 1 } \ - { if (!was_null) print $$0; \ - was_null = 0 }'; \ - echo '#ifndef MAXHOSTNAMELEN'; \ - echo '#define MAXHOSTNAMELEN 64 /* XXX */'; \ - echo '#endif /* No MAXHOSTNAMELEN. */'; \ - echo '#endif /* sys/param.h */') > $@-tmp - mv $@-tmp $@ - -$(common-objpfx)param.h.c: $(sysincludedir)/sys/param.h - rm -f $@ - cp $< $@ -$(common-objpfx)param.h.dep: $(common-objpfx)param.h.c \ - $(sysdep_dir)/unix/Makefile - $(+mkdep) -I$(sysincludedir) $< \ - | sed > $@-t \ - -e 's@$(sysincludedir)/sys/param.h@@' \ - -e 's@^.*:@@' \ - -e 's@$<@@g' \ - -e 's@$(sysincludedir)/*@@g' \ - -e 's@\\$$@@' \ - -e 's@^@sys/param.h-includes := $$(sys/param.h-includes) @' - mv $@-t $@ - -# Get the generated definition of sys/param.h-includes. -ifndef no_deps --include $(common-objpfx)param.h.dep -endif - -# Don't preempt our own headers. -sys/param.h-includes := \ - $(filter-out $(patsubst $(..)%,%,\ - $(wildcard $(addprefix $(..),\ - $(sys/param.h-includes)))),\ - $(sys/param.h-includes)) - - -.PHONY: sys/param.h-includes -sys/param.h-includes: $(addprefix $(common-objpfx),$(sys/param.h-includes)) - -ifdef sys/param.h-includes -# Copy the system files to $(common-objdir). -$(addprefix $(common-objpfx),$(sys/param.h-includes)): $(common-objpfx)%: \ - $(sysincludedir)/% - $(make-target-directory) -# Some of these files sometimes contain conflicting declarations for htons, -# ntohs, etc. They also often contain definitions of *_ENDIAN and -# BYTE_ORDER, which we define ourselves in . - sed -e '/[ ]*[hn]to[nh][sl][ (]*/d' \ - -e '/^#define[ ]*[A-Z]*_ENDIAN/d' \ - -e '/^#define[ ]*BYTE_ORDER/d' \ - $< > $@-t - mv $@-t $@ -endif - -common-generated := $(common-generated) \ - sys/param.h $(sys/param.h-includes) param.h.c param.h.dep - - -ifeq ($(subdir),misc) - -# Install system headers the system sys/param.h uses. - -sysdep_headers := $(sysdep_headers) $(sys/param.h-includes) - -endif # misc - -endif # No sysdep sys/param.h. - -ifeq (,$(filter-out $(sysdep_dir)/generic/ $(common-objpfx),\ - $(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/bits/errno.h)))))) - -# These need to exist before any compiling is done, -# so cpp doesn't instead find the generic versions. -before-compile := $(before-compile) $(common-objpfx)bits/errno.h - -$(common-objpfx)bits/errno.h: $(common-objpfx)make-errnos - $(dir $<)$(notdir $<) > $@-tmp - mv $@-tmp $@ - -$(common-objpfx)make-errnos: $(common-objpfx)make-errnos.c - $(common-objdir-compile) - -$(common-objpfx)make-errnos.c: $(sysdep_dir)/unix/errnos-tmpl.c \ - $(sysdep_dir)/unix/errnos.awk $(common-objpfx)errnos - $(AWK) -f $(word 2,$^) errnos="`tr '\012' ' ' < $(word 3,$^)`" $< > $@T - mv $@T $@ - -$(common-objpfx)errnos: $(wildcard $(sysincludedir)/errno.h \ - $(sysincludedir)/sys/errno.h) - sed -n 's/^#define[ ]*\(E[A-Z0-9][A-Z0-9]*\)[ ].*$$/\1/p' \ - $^ > $@-tmp - mv $@-tmp $@ - -common-generated := $(common-generated) \ - errnos.h errnos make-errnos make-errnos.c -endif - -ifeq (,$(filter-out $(sysdep_dir)/generic/ $(common-objpfx),\ - $(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/bits/ioctls.h)))))) - -before-compile := $(before-compile) $(common-objpfx)bits/ioctls.h - -$(common-objpfx)bits/ioctls.h: $(common-objpfx)make-ioctls - $(dir $<)$(notdir $<) > $@-tmp - mv $@-tmp $@ - -ioctl-includes := sys/termios.h net/nit.h -ioctl-includes := $(wildcard $(addprefix $(sysincludedir)/,$(ioctl-includes))) -make-ioctls-CFLAGS := $(subst /,_,$(subst .,_,\ - $(patsubst $(sysincludedir)/%,-DHAVE_%,\ - $(ioctl-includes)))) - -$(common-objpfx)make-ioctls: $(common-objpfx)make-ioctls.c - $(common-objdir-compile) - -$(common-objpfx)make-ioctls.c: $(sysdep_dir)/unix/ioctls-tmpl.c \ - $(sysdep_dir)/unix/ioctls.awk \ - $(common-objpfx)ioctls - $(AWK) -f $(word 2,$^) requests="`cat $(word 3,$^)`" $< > $@T - mv $@T $@ - - -bits_termios.h := $(firstword $(wildcard $(+sysdep_dirs:%=%/bits/termios.h))) -ifeq ($(bits_termios.h),$(sysdep_dir)/generic/bits/termios.h) -bits_termios.h := # Ignore the generic version. -endif - -# If there is a system-specific file, we want to omit -# all the symbols it defines from ioctls. Otherwise, both -# and would define them. The -# system-specific file presumably defines them with -# the same values as we find from the system's headers. We also want -# to omit from ioctls the symbols defined in our own -# , to avoid multiple definition conflicts. We use -# snarf-ioctls on these files to find what symbols we want to omit. -# fgrep -xv gives all lines which do not match in their entirety; -# without -x, CSTOP's presence elided TIOCSTOP. - -$(common-objpfx)ioctls: $(sysdep_dir)/unix/snarf-ioctls \ - $(sysincludedir)/sys/ioctl.h $(ioctl-includes) - $(dir $<)$(notdir $<) $(filter-out $<,$^) \ - | fgrep -xv "`($(dir $<)$(notdir $<) $(bits_termios.h) \ - $(..)sysdeps/generic/sys/ttydefaults.h; \ - echo NULL) \ - | sort | uniq`" \ - | sort | uniq | tr '\012' ' ' > $@-tmp - mv $@-tmp $@ - -common-generated := $(common-generated) \ - bits/ioctls.h ioctls make-ioctls make-ioctls.c -endif - -ifeq (,$(filter-out $(sysdep_dir)/generic/ $(common-objpfx),\ - $(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/sys/syscall.h)))))) - -# The syscall code assumes a file that defines macros -# `SYS_call' for syscall `call'. Variations on this I have seen include: -# it's in ; -# it's in ; -# it defines `CALL' instead of `SYS_call'. -# Irix has a which is not what we want, so check for first. - -# Find a file that might have these. NOTE: This list of possibilities is -# repeated in sysdeps/unix/configure and the two should be kept in sync. -syscall.h := $(firstword $(wildcard $(addprefix $(sysincludedir)/, \ - sys.s sys/sys.s \ - sys.S sys/sys.S \ - syscall.h sys/syscall.h \ - ))) -ifdef syscall.h - -# Transmogrify any of several formats of the file into the one we want. -$(common-objpfx)sys/syscall.h: $(syscall.h) - $(make-target-directory) - tr '[A-Z]' '[a-z]' < $< | \ - sed -e 's/[ ]sys_/ /' \ - -e 's/^#define[ ]*\([a-z0-9_]*\)[ ]*/#define SYS_\1 /' \ - -e 's/[ ]sys_/ SYS_/' \ - -e 's/SYS_syscall_basenum/syscall_basenum/g' \ - -e 's/SYS_kerncall_basenum/kerncall_basenum/g' \ - -e 's/SYS_sysvoffset/sysvoffset/g' \ - -e '/^#/!d' \ - -e '/^#ident/d' \ - -e 's-\(/\*[^*]*\)$$-\1\*/-' \ - > $@-tmp - mv $@-tmp $@ - -before-compile += $(common-objpfx)sys/syscall.h -common-generated += sys/syscall.h - -endif - -endif - ifndef inhibit-unix-syscalls # Sysdep dirs unix/... can contain a file syscalls.list, diff --git a/sysdeps/unix/errnos-tmpl.c b/sysdeps/unix/errnos-tmpl.c deleted file mode 100644 index 3a9793ead9..0000000000 --- a/sysdeps/unix/errnos-tmpl.c +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (C) 1991, 1993, 1997 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include - -static char iferrno[] = "#ifdef _ERRNO_H"; -static char endiferrno[] = "#endif /* included. */"; -static char ifEmath[] = "#if !defined(__Emath_defined) && \ - (defined(_ERRNO_H) || defined(__need_Emath))"; -static char endifEmath[] = "#endif /* Emath not defined and \ -included or need Emath. */"; - -static int biggest_value = 0; -static int done_ENOSYS = 0; -static int done_ERANGE = 0, done_EDOM = 0; - -static void -DO(name, value) - char *name; - int value; -{ - int is_ERANGE = !done_ERANGE && !strcmp(name, "ERANGE"); - int is_EDOM = !done_EDOM && !strcmp(name, "EDOM"); - int is_Emath = is_ERANGE || is_EDOM; - - if (is_Emath) - { - puts(endiferrno); - puts(ifEmath); - } - - if (!strcmp (name, "EWOULDBLOCK")) - { - puts ("#define EWOULDBLOCK EAGAIN /* Translated in glibc. */"); - name = "EWOULDBLOCK_sys /* Value actually returned by kernel. */"; - } - - printf ("#define %s %d\n", name, value); - - if (is_Emath) - { - puts(endifEmath); - puts(iferrno); - } - - if (value > biggest_value) - biggest_value = value; - - if (is_ERANGE) - done_ERANGE = 1; - else if (is_EDOM) - done_EDOM = 1; - else if (!done_ENOSYS && !strcmp(name, "ENOSYS")) - done_ENOSYS = 1; -} - -int -main() -{ - puts(iferrno); - - ERRNOS; - - if (!done_EDOM || !done_ERANGE) - { - puts(endiferrno); - puts(ifEmath); - if (!done_EDOM) - printf("#define EDOM %d\n", ++biggest_value); - if (!done_ERANGE) - printf("#define ERANGE %d\n", ++biggest_value); - puts(endifEmath); - } - - if (!done_ENOSYS) - printf("#define ENOSYS %d\n", ++biggest_value); - - puts(endiferrno); - - puts("#undef __need_Emath"); - puts("#ifndef __Emath_defined\n#define __Emath_defined 1\n#endif"); - - exit(0); -} diff --git a/sysdeps/unix/errnos.awk b/sysdeps/unix/errnos.awk deleted file mode 100644 index 8648f41fb2..0000000000 --- a/sysdeps/unix/errnos.awk +++ /dev/null @@ -1,12 +0,0 @@ -BEGIN { special = 0 } - -/ERRNOS/ { nerrnos = split(errnos, errs) - for (i = 1; i <= nerrnos; ++i) - # Some systems define errno codes inside undefined #ifdefs, - # and then never actually use them. - printf "#ifdef %s\n DO(\"%s\", %s);\n#endif\n", \ - errs[i], errs[i], errs[i] - special = 1 } - - -{ if (special == 0) print $0; special = 0 } diff --git a/sysdeps/unix/ioctls-tmpl.c b/sysdeps/unix/ioctls-tmpl.c deleted file mode 100644 index 1c973c945a..0000000000 --- a/sysdeps/unix/ioctls-tmpl.c +++ /dev/null @@ -1,134 +0,0 @@ -/* On SVR4, this #define is necessary to make define - many of the ioctls. */ -#define BSD_COMP - -#include -#include - -/* On SunOS 4.1, and define some symbols - with different values, but defines some ioctl symbols - not in , so we need it. Our should define - them with the values from Sun's , not . - So we include and let redefine things. - This produces some spurious warnings. */ - -#ifdef HAVE_sys_termios_h -#include -#endif - -/* This causes to define some necessary data structure. */ -#ifdef sony_news -#define KANJI -#endif - -#include - -#ifdef SIOCGIFCONF -#include -#include -#include -#include -#if defined(SIOCGARP) && !defined(ARPOP_REQUEST) -#include -#endif -#ifdef SIOCGNIT -#ifdef HAVE_net_nit_h -#include -#else /* No net/nit.h. */ -#undef SIOCGNIT -#undef SIOCSNIT -#endif /* net/nit.h. */ -#endif /* SIOCGNIT. */ -#endif /* SIOCGIFCONF. */ - -/* These exist on Sequents. */ -#ifdef SMIOSTATS -#include -#include -#endif -#ifdef SMIOGETREBOOT0 -#include -#endif -#ifdef ZIOCBCMD -#include -#endif - -/* These exist under Ultrix, but I figured there may be others. */ -#ifdef DIOCGETPT -#include /* for DIOC* */ -#endif -#ifdef DEVGETGEOM -#include -#endif - -#ifdef ultrix -/* Ultrix has a conditional include that brings these in; we have to force - their inclusion when we actually compile them. */ -#undef TCGETA -#undef TCSETA -#undef TCSETAW -#undef TCSETAF -#undef TCGETP -#undef TCSANOW -#undef TCSADRAIN -#undef TCSAFLUSH -#ifdef ELSETPID -#include /* get sockaddr_un for elcsd.h */ -#include -#endif -#ifdef DKIOCDOP -#include -#endif -/* Couldn't find the header where the structures used by these are - defined; it looks like an unbundled LAT package or something. */ -#undef LIOCSOL -#undef LIOCRES -#undef LIOCCMD -#undef LIOCINI -#undef LIOCTTYI -#undef LIOCCONN -/* struct mtop hasn't been in sys/mtio.h since 4.1 */ -#undef MTIOCTOP -#undef MTIOCGET -#endif - -#if defined(__osf__) && defined(__alpha__) -#include /* To get TIOCGETP, etc. */ -#include /* for DIOC* */ -#include /* for MTIOC* */ -/* The binlog_getstatus structure doesn't seem to be defined. */ -#undef BINLOG_GETSTATUS -/* Can't find `struct ifdata' anywhere. */ -#undef SIOCMANREQ -#undef SIOCGETEVENTS -/* OSF/1 smells an awful lot like Ultrix. */ -#undef TCGETA -#undef TCSETA -#undef TCSETAF -#undef TCSETAW -/* This macro looks screwed in sys/devio.h. */ -#undef DEV_DISKPART -/* This is in sys/dkio.h, but we don't need it. */ -#undef DKIOCACC -#undef DKIOCDOP -#undef DKIOCEXCL -#undef DKIOCGET -#undef DKIOCHDR -/* Introduced by OSF/1 2.0. */ -#undef FIOPIPESTAT -#undef SIOCSRREQR -#undef SIOCSRREQW -#undef SRVC_REQUEST -#endif - -#define DEFINE(name, value) \ - printf("#define %s 0x%.8x\n", (name), (value)) - -int -main() -{ - REQUESTS - - exit(0); - return 0; -} diff --git a/sysdeps/unix/ioctls.awk b/sysdeps/unix/ioctls.awk deleted file mode 100644 index b05140af7a..0000000000 --- a/sysdeps/unix/ioctls.awk +++ /dev/null @@ -1,10 +0,0 @@ -BEGIN { special = 0 } - -/REQUESTS/ { nreqs = split(requests, reqs) - for (i = 1; i <= nreqs; ++i) - printf "#ifdef\t%s\n DEFINE(\"%s\", %s);\n#endif\n", \ - reqs[i], reqs[i], reqs[i] - special = 1 } - - -{ if (special == 0) print $0; special = 0 } diff --git a/sysdeps/unix/mk-local_lim.c b/sysdeps/unix/mk-local_lim.c deleted file mode 100644 index 3ed2426a87..0000000000 --- a/sysdeps/unix/mk-local_lim.c +++ /dev/null @@ -1,125 +0,0 @@ -/* Copyright (C) 1993, 1996, 1997 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include -#include - -#ifdef HAVE_SYS_PARAM_H -#include -#endif - -#ifdef HAVE_LIMITS_H -#include -#endif - -#ifdef HAVE_SYS_LIMITS_H -#include -#endif - -/* Generate bits/local_lim.h from the values defined in the system's - headers. */ - -struct param - { - char *name; - int value; - }; - -static struct param params[] = - { - -#if !defined (ARG_MAX) && defined (NCARGS) -#define ARG_MAX NCARGS -#endif -#ifdef ARG_MAX - { "ARG_MAX", ARG_MAX }, -#endif - -#if !defined (CHILD_MAX) && defined (MAXUPRC) -#define CHILD_MAX MAXUPRC -#endif -#ifdef CHILD_MAX - { "CHILD_MAX", CHILD_MAX }, -#endif - -#if !defined (LINK_MAX) && defined (MAXLINK) -#define LINK_MAX MAXLINK -#endif -#ifdef LINK_MAX - { "LINK_MAX", LINK_MAX }, -#endif - -#if !defined (OPEN_MAX) && defined (NOFILE) -#define OPEN_MAX NOFILE -#endif -#ifdef OPEN_MAX - { "OPEN_MAX", OPEN_MAX }, -#endif - -#if !defined (MAX_CANON) && defined (CANBSIZ) -#define MAX_CANON CANBSIZ -#endif -#ifdef MAX_CANON - { "MAX_CANON", MAX_CANON }, -#endif - -#if !defined (NAME_MAX) && defined (MAXNAMLEN) -#define NAME_MAX MAXNAMLEN -#endif -#ifndef NAME_MAX -#define NAME_MAX 255 /* XXX ? */ -#endif - { "NAME_MAX", NAME_MAX }, - -#if !defined (PATH_MAX) && defined (MAXPATHLEN) -#define PATH_MAX MAXPATHLEN -#endif -#ifdef PATH_MAX - { "PATH_MAX", PATH_MAX }, -#endif - -#if !defined (SYMLOOP_MAX) && defined (MAXSYMLINKS) -#define SYMLOOP_MAX MAXSYMLINKS -#endif -#ifdef SYMLOOP_MAX - { "SYMLOOP_MAX", SYMLOOP_MAX }, -#endif - - { NULL, 0 } - }; - -int -main() -{ - extern char *ctime (); - extern time_t time (); - time_t now = time ((time_t *) NULL); - register struct param *p; - - if (! params[0].name) - /* We have no information to give, so let the caller know. */ - exit (1); - - printf ("\ -/* Implementation-specific limits.\n\ - Generated at %.24s. */\n\n", ctime (&now)); - - for (p = params; p->name != NULL; ++p) - printf ("#define %s %d\n", p->name, p->value); - - exit (0); -} diff --git a/sysdeps/unix/snarf-ioctls b/sysdeps/unix/snarf-ioctls deleted file mode 100755 index a2fc023429..0000000000 --- a/sysdeps/unix/snarf-ioctls +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -# Copyright (C) 1991, 1992, 1995, 1997 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 -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, see -# . - -sysincludedir=${sysincludedir-/usr/include} - -if [ ! "$snarfexclude" ]; then - # Filter out some headers which cause trouble. - # Reportedly a bug in sunos4.1.2's sed makes this lose if - # the two cmds are in a single sed invocation. - snarfexclude="`echo !${sysincludedir}/sys/param.h! \ - !${sysincludedir}/sys/time.h! \ - !${sysincludedir}/sys/types.h! \ - | sed 's,/,\\\\/,g' \ - | sed 's,!\\([^!]*\\)!,-e /\\1/d,g'`" -fi - -for file in $*; do - sed -n 's/^#define[ ]*\([A-Z][A-Z0-9_]*\)[ ][ ]*[^ ].*$/\1/p' \ - < $file - - snarfexclude="$snarfexclude \ - `echo $file | sed -e 's,/,\\\\/,g' -e 's,^.*$,-e /&/d,'`" - export snarfexclude - - included="`sed -n < $file \ - -e 's,^#include[ ]*<\(.*\)>.*$,'${sysincludedir}'/\1,p'\ - | sed $snarfexclude`" - if [ "$included" ]; then - $0 $included - fi -done - -exit 0 -- cgit 1.4.1