mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 19:00:07 +00:00
Remove common-objdir-compile and related sysdeps/unix/Makefile code.
This commit is contained in:
parent
bd37f2ee31
commit
83d1aec8fc
61
ChangeLog
61
ChangeLog
@ -1,3 +1,64 @@
|
||||
2012-03-19 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* Makerules (common-objdir-compile): Remove.
|
||||
* sysdeps/unix/Makefile (config-generated): Do not add
|
||||
$(unix-generated) to variable.
|
||||
[generic bits/local_lim.h] (mk-local_lim-CFLAGS): Remove variable.
|
||||
[generic bits/local_lim.h] ($(common-objpfx)bits/local_lim.h):
|
||||
Remove rule.
|
||||
[generic bits/local_lim.h] ($(common-objpfx)mk-local_lim):
|
||||
Likewise.
|
||||
[generic bits/local_lim.h] (before-compile): Do not append to
|
||||
variable.
|
||||
[generic bits/local_lim.h] (common-generated): Likewise.
|
||||
[generic sys/param.h] (before-compile): Do not append to variable.
|
||||
[generic sys/param.h] ($(common-objpfx)sys/param.h): Remove rule.
|
||||
[generic sys/param.h] ($(common-objpfx)param.h.c): Likewise.
|
||||
[generic sys/param.h] ($(common-objpfx)param.h.dep): Likewise.
|
||||
[generic sys/param.h] ($(common-objpfx)param.h.dep): Do not
|
||||
include.
|
||||
[generic sys/param.h] (sys/param.h-includes): Remove variable.
|
||||
[generic sys/param.h] (sys/param.h-includes): Remove rule.
|
||||
[generic sys/param.h] ($(addprefix
|
||||
$(common-objpfx),$(sys/param.h-includes))): Likewise.
|
||||
[generic sys/param.h] (common-generated): Do not append to
|
||||
variable.
|
||||
[generic sys/param.h] (sysdep_headers): Likewise.
|
||||
[generic bits/errno.h] (before-compile): Do not append to
|
||||
variable.
|
||||
[generic bits/errno.h] ($(common-objpfx)bits/errno.h): Remove
|
||||
rule.
|
||||
[generic bits/errno.h] ($(common-objpfx)make-errnos): Likewise.
|
||||
[generic bits/errno.h] ($(common-objpfx)make-errnos.c): Likewise.
|
||||
[generic bits/errno.h] ($(common-objpfx)errnos): Likewise.
|
||||
[generic bits/errno.h] (common-generated): Do not append to
|
||||
variable.
|
||||
[generic bits/ioctls.h] (before-compile): Do not append to
|
||||
variable.
|
||||
[generic bits/ioctls.h] ($(common-objpfx)bits/ioctls.h): Remove
|
||||
rule.
|
||||
[generic bits/ioctls.h] (ioctl-includes): Remove variable.
|
||||
[generic bits/ioctls.h] (make-ioctls-CFLAGS): Likewise.
|
||||
[generic bits/ioctls.h] ($(common-objpfx)make-ioctls): Remove
|
||||
rule.
|
||||
[generic bits/ioctls.h] ($(common-objpfx)make-ioctls.c): Likewise.
|
||||
[generic bits/ioctls.h] (bits_termios.h): Remove variable.
|
||||
[generic bits/ioctls.h] ($(common-objpfx)ioctls): Remove rule.
|
||||
[generic bits/ioctls.h] (common-generated): Do not append to
|
||||
variable.
|
||||
[generic sys/syscall.h] (syscall.h): Remove variable.
|
||||
[generic sys/syscall.h] ($(common-objpfx)sys/syscall.h): Remove
|
||||
rule.
|
||||
[generic sys/syscall.h] (before-compile): Do not append to
|
||||
variable.
|
||||
[generic sys/syscall.h] (common-generated): Likewise.
|
||||
* sysdeps/unix/errnos-tmpl.c: Remove file.
|
||||
* sysdeps/unix/errnos.awk: Likewise.
|
||||
* sysdeps/unix/ioctls-tmpl.c: Likewise.
|
||||
* sysdeps/unix/ioctls.awk: Likewise.
|
||||
* sysdeps/unix/mk-local_lim.c: Likewise.
|
||||
* sysdeps/unix/snarf-ioctls: Likewise.
|
||||
|
||||
2012-03-19 Richard Henderson <rth@twiddle.net>
|
||||
|
||||
* sysdeps/i386/fpu/fenv_private.h: New file.
|
||||
|
@ -1122,14 +1122,6 @@ $(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) \
|
||||
$(firstword $(filter /%,$< $(shell pwd)/$<)) -o $(@F)
|
||||
endef
|
||||
|
||||
# Command to compile $< in $(common-objdir) using the native libraries.
|
||||
# We must cd to $(objdir) anyway so that $(..)config.h is valid.
|
||||
define common-objdir-compile
|
||||
$(patsubst %/,cd % &&,$(objpfx)) \
|
||||
$(BUILD_CC) $($(basename $(<F))-CFLAGS) $(ALL_BUILD_CFLAGS) \
|
||||
$(firstword $(filter /%,$< $(shell pwd)/$<)) -o $(..)$(@F)
|
||||
endef
|
||||
|
||||
# We always want to use configuration definitions.
|
||||
# Note that this is only used for commands running in $(objpfx).
|
||||
ALL_BUILD_CFLAGS = $(BUILD_CFLAGS) -include $(..)config.h
|
||||
|
@ -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
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
# 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 <endian.h>'; \
|
||||
$(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 <endian.h>.
|
||||
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 <bits/termios.h> file, we want to omit
|
||||
# all the symbols it defines from ioctls. Otherwise, both
|
||||
# <bits/ioctls.h> and <bits/termios.h> would define them. The
|
||||
# system-specific <bits/termios.h> 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
|
||||
# <sys/ttydefaults.h>, 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 <sys/syscall.h> that defines macros
|
||||
# `SYS_call' for syscall `call'. Variations on this I have seen include:
|
||||
# it's in <sys/syscall.h>;
|
||||
# it's in <sys.s>;
|
||||
# it defines `CALL' instead of `SYS_call'.
|
||||
# Irix has a <syscall.h> which is not what we want, so check for <sys.s> 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,
|
||||
|
@ -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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
static char iferrno[] = "#ifdef _ERRNO_H";
|
||||
static char endiferrno[] = "#endif /* <errno.h> included. */";
|
||||
static char ifEmath[] = "#if !defined(__Emath_defined) && \
|
||||
(defined(_ERRNO_H) || defined(__need_Emath))";
|
||||
static char endifEmath[] = "#endif /* Emath not defined and <errno.h> \
|
||||
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);
|
||||
}
|
@ -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 }
|
@ -1,134 +0,0 @@
|
||||
/* On SVR4, this #define is necessary to make <sys/ioctl.h> define
|
||||
many of the ioctls. */
|
||||
#define BSD_COMP
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
|
||||
/* On SunOS 4.1, <sys/ioctl.h> and <sys/termios.h> define some symbols
|
||||
with different values, but <sys/termios.h> defines some ioctl symbols
|
||||
not in <sys/ioctl.h>, so we need it. Our <sys/ioctl.h> should define
|
||||
them with the values from Sun's <sys/ioctl.h>, not <sys/termios.h>.
|
||||
So we include <sys/termios.h> and let <sys/ioctl.h> redefine things.
|
||||
This produces some spurious warnings. */
|
||||
|
||||
#ifdef HAVE_sys_termios_h
|
||||
#include <sys/termios.h>
|
||||
#endif
|
||||
|
||||
/* This causes <sys/ioctl.h> to define some necessary data structure. */
|
||||
#ifdef sony_news
|
||||
#define KANJI
|
||||
#endif
|
||||
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#ifdef SIOCGIFCONF
|
||||
#include <sys/socket.h>
|
||||
#include <sys/time.h>
|
||||
#include <net/if.h>
|
||||
#include <net/route.h>
|
||||
#if defined(SIOCGARP) && !defined(ARPOP_REQUEST)
|
||||
#include <net/if_arp.h>
|
||||
#endif
|
||||
#ifdef SIOCGNIT
|
||||
#ifdef HAVE_net_nit_h
|
||||
#include <net/nit.h>
|
||||
#else /* No net/nit.h. */
|
||||
#undef SIOCGNIT
|
||||
#undef SIOCSNIT
|
||||
#endif /* net/nit.h. */
|
||||
#endif /* SIOCGNIT. */
|
||||
#endif /* SIOCGIFCONF. */
|
||||
|
||||
/* These exist on Sequents. */
|
||||
#ifdef SMIOSTATS
|
||||
#include <sec/sec.h>
|
||||
#include <sec/sm.h>
|
||||
#endif
|
||||
#ifdef SMIOGETREBOOT0
|
||||
#include <i386/cfg.h>
|
||||
#endif
|
||||
#ifdef ZIOCBCMD
|
||||
#include <zdc/zdc.h>
|
||||
#endif
|
||||
|
||||
/* These exist under Ultrix, but I figured there may be others. */
|
||||
#ifdef DIOCGETPT
|
||||
#include <ufs/fs.h> /* for DIOC* */
|
||||
#endif
|
||||
#ifdef DEVGETGEOM
|
||||
#include <sys/devio.h>
|
||||
#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 <sys/un.h> /* get sockaddr_un for elcsd.h */
|
||||
#include <elcsd.h>
|
||||
#endif
|
||||
#ifdef DKIOCDOP
|
||||
#include <sys/dkio.h>
|
||||
#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 <sys/ioctl_compat.h> /* To get TIOCGETP, etc. */
|
||||
#include <alpha/pt.h> /* for DIOC* */
|
||||
#include <sys/mtio.h> /* 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;
|
||||
}
|
@ -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 }
|
@ -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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef HAVE_SYS_PARAM_H
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIMITS_H
|
||||
#include <limits.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SYS_LIMITS_H
|
||||
#include <sys/limits.h>
|
||||
#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);
|
||||
}
|
@ -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
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
|
||||
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
|
Loading…
Reference in New Issue
Block a user