mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-02 04:20:28 +08:00
import newlib-2000-02-17 snapshot
This commit is contained in:
parent
1fd5e000ac
commit
8a0efa53e4
6797
newlib/ChangeLog
Normal file
6797
newlib/ChangeLog
Normal file
File diff suppressed because it is too large
Load Diff
191
newlib/Makefile.am
Normal file
191
newlib/Makefile.am
Normal file
@ -0,0 +1,191 @@
|
||||
## Process this file with automake to generate Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
# Multilib support variables.
|
||||
MULTISRCTOP =
|
||||
MULTIBUILDTOP =
|
||||
MULTIDIRS =
|
||||
MULTISUBDIR =
|
||||
MULTIDO = true
|
||||
MULTICLEAN = true
|
||||
|
||||
# Work around what appears to be a GNU make bug handling MAKEFLAGS
|
||||
# values defined in terms of make variables, as is the case for CC and
|
||||
# friends when we are called from the top level Makefile.
|
||||
AM_MAKEFLAGS = \
|
||||
"AR_FLAGS=$(AR_FLAGS)" \
|
||||
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
|
||||
"CFLAGS=$(CFLAGS)" \
|
||||
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
|
||||
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
|
||||
"INSTALL=$(INSTALL)" \
|
||||
"INSTALL_DATA=$(INSTALL_DATA)" \
|
||||
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
||||
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
||||
"LDFLAGS=$(LDFLAGS)" \
|
||||
"LIBCFLAGS=$(LIBCFLAGS)" \
|
||||
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
|
||||
"MAKE=$(MAKE)" \
|
||||
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
|
||||
"PICFLAG=$(PICFLAG)" \
|
||||
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
|
||||
"SHELL=$(SHELL)" \
|
||||
"EXPECT=$(EXPECT)" \
|
||||
"RUNTEST=$(RUNTEST)" \
|
||||
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
|
||||
"exec_prefix=$(exec_prefix)" \
|
||||
"infodir=$(infodir)" \
|
||||
"libdir=$(libdir)" \
|
||||
"prefix=$(prefix)" \
|
||||
"tooldir=$(tooldir)" \
|
||||
"AR=$(AR)" \
|
||||
"AS=$(AS)" \
|
||||
"CC=$(CC)" \
|
||||
"LD=$(LD)" \
|
||||
"LIBCFLAGS=$(LIBCFLAGS)" \
|
||||
"NM=$(NM)" \
|
||||
"PICFLAG=$(PICFLAG)" \
|
||||
"RANLIB=$(RANLIB)" \
|
||||
"DESTDIR=$(DESTDIR)"
|
||||
|
||||
if HAVE_DOC
|
||||
DOCDIR = doc
|
||||
endif
|
||||
|
||||
SUBDIRS = libc libm $(DOCDIR) .
|
||||
|
||||
tooldir = $(exec_prefix)/$(host_alias)
|
||||
toollibdir = $(tooldir)/lib$(MULTISUBDIR)
|
||||
|
||||
AR_FLAGS = rc
|
||||
|
||||
toollib_LIBRARIES = libm.a libc.a
|
||||
toollib_DATA = $(CRT0)
|
||||
noinst_DATA = stmp-targ-include
|
||||
|
||||
# The functions ldexp, frexp and modf are traditionally supplied in
|
||||
# both libc.a and libm.a. We build them in libm.a and copy them over,
|
||||
# along with some required supporting routines.
|
||||
MATHOBJS_IN_LIBC = \
|
||||
s_isinf.o sf_isinf.o \
|
||||
s_isnan.o sf_isnan.o \
|
||||
s_ldexp.o sf_ldexp.o \
|
||||
s_frexp.o sf_frexp.o s_modf.o sf_modf.o \
|
||||
s_scalbn.o sf_scalbn.o s_finite.o sf_finite.o \
|
||||
s_copysign.o sf_copysign.o s_infconst.o
|
||||
|
||||
libc.a: libc/libc.a libm.a
|
||||
rm -rf libc.a libg.a tmp
|
||||
mkdir tmp
|
||||
cd tmp; \
|
||||
$(AR) x ../libm.a $(MATHOBJS_IN_LIBC) ; \
|
||||
$(AR) x ../libc/libc.a ; \
|
||||
$(AR) $(AR_FLAGS) ../$@ *.o
|
||||
$(RANLIB) libc.a
|
||||
ln libc.a libg.a
|
||||
rm -rf tmp
|
||||
|
||||
libc/libc.a: ; @true
|
||||
|
||||
libm.a: libm/libm.a
|
||||
rm -f $@
|
||||
ln libm/libm.a $@ >/dev/null 2>/dev/null || cp libm/libm.a $@
|
||||
|
||||
libm/libm.a: ; @true
|
||||
|
||||
crt0.o: $(CRT0_DIR)/$(CRT0)
|
||||
rm -f $@
|
||||
ln $(CRT0_DIR)/$(CRT0) $@ >/dev/null 2>/dev/null \
|
||||
|| cp $(CRT0_DIR)/$(CRT0) $@
|
||||
|
||||
$(CRT0_DIR)/$(CRT0): ; @true
|
||||
|
||||
all-recursive: stmp-targ-include
|
||||
|
||||
# The targ-include directory just holds the includes files for the
|
||||
# particular system and machine we have been configured for. It is
|
||||
# used while building.
|
||||
stmp-targ-include: config.status
|
||||
-rm -rf targ-include stmp-targ-include
|
||||
mkdir targ-include targ-include/sys targ-include/machine
|
||||
-for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
cp $$i targ-include/machine/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done
|
||||
-for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
cp $$i targ-include/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done
|
||||
-for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
cp $$i targ-include/sys/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done
|
||||
touch $@
|
||||
|
||||
CLEANFILES = targ-include stmp-targ-include
|
||||
|
||||
install-data-local: install-toollibLIBRARIES
|
||||
rm -f $(toollibdir)/libg.a
|
||||
ln $(toollibdir)/libc.a $(toollibdir)/libg.a
|
||||
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
|
||||
-if [ -z "$(MULTISUBDIR)" ]; then \
|
||||
for i in $(srcdir)/libc/include/*.h; do \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/`basename $$i`; \
|
||||
done; \
|
||||
for i in $(srcdir)/libc/include/machine/*.h; do \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/machine/`basename $$i`; \
|
||||
done; \
|
||||
for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/machine/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done; \
|
||||
for i in $(srcdir)/libc/include/sys/*.h; do \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/sys/`basename $$i`; \
|
||||
done; \
|
||||
for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/sys/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done ; \
|
||||
for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done ; \
|
||||
else true; fi
|
||||
|
||||
# Force makedoc to be built before building info files.
|
||||
info-recursive: doc/makedoc
|
||||
dvi-recursive: doc/makedoc
|
||||
doc/makedoc:
|
||||
cd doc && $(MAKE) all
|
||||
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
||||
|
||||
# Multilib support.
|
||||
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
|
||||
maintainer-clean-multi
|
||||
|
||||
all-recursive: all-multi
|
||||
mostlyclean-recursive: mostlyclean-multi
|
||||
clean-recursive: clean-multi
|
||||
distclean-recursive: distclean-multi
|
||||
maintainer-clean-recursive: maintainer-clean-multi
|
||||
|
||||
all-multi:
|
||||
$(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
|
||||
mostlyclean-multi:
|
||||
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
|
||||
clean-multi:
|
||||
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
|
||||
distclean-multi:
|
||||
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
|
||||
maintainer-clean-multi:
|
||||
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
|
||||
|
||||
MAKEOVERRIDES=
|
625
newlib/Makefile.in
Normal file
625
newlib/Makefile.in
Normal file
@ -0,0 +1,625 @@
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = .
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
CC = @CC@
|
||||
CPP = @CPP@
|
||||
CRT0 = @CRT0@
|
||||
CRT0_DIR = @CRT0_DIR@
|
||||
EXEEXT = @EXEEXT@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
machine_dir = @machine_dir@
|
||||
newlib_basedir = @newlib_basedir@
|
||||
sys_dir = @sys_dir@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
# Multilib support variables.
|
||||
MULTISRCTOP =
|
||||
MULTIBUILDTOP =
|
||||
MULTIDIRS =
|
||||
MULTISUBDIR =
|
||||
MULTIDO = true
|
||||
MULTICLEAN = true
|
||||
|
||||
# Work around what appears to be a GNU make bug handling MAKEFLAGS
|
||||
# values defined in terms of make variables, as is the case for CC and
|
||||
# friends when we are called from the top level Makefile.
|
||||
AM_MAKEFLAGS = \
|
||||
"AR_FLAGS=$(AR_FLAGS)" \
|
||||
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
|
||||
"CFLAGS=$(CFLAGS)" \
|
||||
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
|
||||
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
|
||||
"INSTALL=$(INSTALL)" \
|
||||
"INSTALL_DATA=$(INSTALL_DATA)" \
|
||||
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
||||
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
||||
"LDFLAGS=$(LDFLAGS)" \
|
||||
"LIBCFLAGS=$(LIBCFLAGS)" \
|
||||
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
|
||||
"MAKE=$(MAKE)" \
|
||||
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
|
||||
"PICFLAG=$(PICFLAG)" \
|
||||
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
|
||||
"SHELL=$(SHELL)" \
|
||||
"EXPECT=$(EXPECT)" \
|
||||
"RUNTEST=$(RUNTEST)" \
|
||||
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
|
||||
"exec_prefix=$(exec_prefix)" \
|
||||
"infodir=$(infodir)" \
|
||||
"libdir=$(libdir)" \
|
||||
"prefix=$(prefix)" \
|
||||
"tooldir=$(tooldir)" \
|
||||
"AR=$(AR)" \
|
||||
"AS=$(AS)" \
|
||||
"CC=$(CC)" \
|
||||
"LD=$(LD)" \
|
||||
"LIBCFLAGS=$(LIBCFLAGS)" \
|
||||
"NM=$(NM)" \
|
||||
"PICFLAG=$(PICFLAG)" \
|
||||
"RANLIB=$(RANLIB)" \
|
||||
"DESTDIR=$(DESTDIR)"
|
||||
|
||||
|
||||
@HAVE_DOC_TRUE@DOCDIR = \
|
||||
@HAVE_DOC_TRUE@doc
|
||||
|
||||
SUBDIRS = libc libm $(DOCDIR) .
|
||||
|
||||
tooldir = $(exec_prefix)/$(host_alias)
|
||||
toollibdir = $(tooldir)/lib$(MULTISUBDIR)
|
||||
|
||||
AR_FLAGS = rc
|
||||
|
||||
toollib_LIBRARIES = libm.a libc.a
|
||||
toollib_DATA = $(CRT0)
|
||||
noinst_DATA = stmp-targ-include
|
||||
|
||||
# The functions ldexp, frexp and modf are traditionally supplied in
|
||||
# both libc.a and libm.a. We build them in libm.a and copy them over,
|
||||
# along with some required supporting routines.
|
||||
MATHOBJS_IN_LIBC = \
|
||||
s_isinf.o sf_isinf.o \
|
||||
s_isnan.o sf_isnan.o \
|
||||
s_ldexp.o sf_ldexp.o \
|
||||
s_frexp.o sf_frexp.o s_modf.o sf_modf.o \
|
||||
s_scalbn.o sf_scalbn.o s_finite.o sf_finite.o \
|
||||
s_copysign.o sf_copysign.o s_infconst.o
|
||||
|
||||
|
||||
CLEANFILES = targ-include stmp-targ-include
|
||||
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
||||
|
||||
MAKEOVERRIDES =
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
LIBRARIES = $(toollib_LIBRARIES)
|
||||
|
||||
|
||||
DEFS = @DEFS@ -I. -I$(srcdir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
libm_a_LIBADD =
|
||||
libm_a_SOURCES = libm.a.c
|
||||
libm_a_OBJECTS = libm.a.o
|
||||
libc_a_LIBADD =
|
||||
libc_a_SOURCES = libc.a.c
|
||||
libc_a_OBJECTS = libc.a.o
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
DATA = $(noinst_DATA) $(toollib_DATA)
|
||||
|
||||
DIST_COMMON = README ChangeLog Makefile.am Makefile.in NEWS \
|
||||
acinclude.m4 aclocal.m4 configure configure.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
DIST_SUBDIRS = libc libm doc .
|
||||
SOURCES = libm.a.c libc.a.c
|
||||
OBJECTS = libm.a.o libc.a.o
|
||||
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .c .o .s
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
|
||||
cd $(srcdir) && $(ACLOCAL)
|
||||
|
||||
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
mostlyclean-toollibLIBRARIES:
|
||||
|
||||
clean-toollibLIBRARIES:
|
||||
-test -z "$(toollib_LIBRARIES)" || rm -f $(toollib_LIBRARIES)
|
||||
|
||||
distclean-toollibLIBRARIES:
|
||||
|
||||
maintainer-clean-toollibLIBRARIES:
|
||||
|
||||
install-toollibLIBRARIES: $(toollib_LIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(toollibdir)
|
||||
@list='$(toollib_LIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(toollibdir)/$$p"; \
|
||||
$(INSTALL_DATA) $$p $(DESTDIR)$(toollibdir)/$$p; \
|
||||
else :; fi; \
|
||||
done
|
||||
@$(POST_INSTALL)
|
||||
@list='$(toollib_LIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
echo " $(RANLIB) $(DESTDIR)$(toollibdir)/$$p"; \
|
||||
$(RANLIB) $(DESTDIR)$(toollibdir)/$$p; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-toollibLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(toollib_LIBRARIES)'; for p in $$list; do \
|
||||
rm -f $(DESTDIR)$(toollibdir)/$$p; \
|
||||
done
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.s.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.S.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.o core *.core
|
||||
|
||||
clean-compile:
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
maintainer-clean-compile:
|
||||
|
||||
install-toollibDATA: $(toollib_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(toollibdir)
|
||||
@list='$(toollib_DATA)'; for p in $$list; do \
|
||||
if test -f $(srcdir)/$$p; then \
|
||||
echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toollibdir)/$$p"; \
|
||||
$(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(toollibdir)/$$p; \
|
||||
else if test -f $$p; then \
|
||||
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(toollibdir)/$$p"; \
|
||||
$(INSTALL_DATA) $$p $(DESTDIR)$(toollibdir)/$$p; \
|
||||
fi; fi; \
|
||||
done
|
||||
|
||||
uninstall-toollibDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(toollib_DATA)'; for p in $$list; do \
|
||||
rm -f $(DESTDIR)$(toollibdir)/$$p; \
|
||||
done
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
|
||||
check-recursive installcheck-recursive info-recursive dvi-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
dot_seen=no; \
|
||||
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
rev="$$subdir $$rev"; \
|
||||
test "$$subdir" = "." && dot_seen=yes; \
|
||||
done; \
|
||||
test "$$dot_seen" = "no" && rev=". $$rev"; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $$unique $(LISP)
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
-rm -rf $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
|
||||
mkdir $(distdir)/=build
|
||||
mkdir $(distdir)/=inst
|
||||
dc_install_base=`cd $(distdir)/=inst && pwd`; \
|
||||
cd $(distdir)/=build \
|
||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist
|
||||
-rm -rf $(distdir)
|
||||
@banner="$(distdir).tar.gz is ready for distribution"; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo "$$dashes"; \
|
||||
echo "$$banner"; \
|
||||
echo "$$dashes"
|
||||
dist: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
dist-all: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
distdir: $(DISTFILES)
|
||||
-rm -rf $(distdir)
|
||||
mkdir $(distdir)
|
||||
-chmod 777 $(distdir)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
for subdir in $(DIST_SUBDIRS); do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d $(distdir)/$$subdir \
|
||||
|| mkdir $(distdir)/$$subdir \
|
||||
|| exit 1; \
|
||||
chmod 777 $(distdir)/$$subdir; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
info-am:
|
||||
info: info-recursive
|
||||
dvi-am:
|
||||
dvi: dvi-recursive
|
||||
check-am:
|
||||
check: check-recursive
|
||||
installcheck-am:
|
||||
installcheck: installcheck-recursive
|
||||
install-info-am:
|
||||
install-info: install-info-recursive
|
||||
install-exec-am:
|
||||
install-exec: install-exec-recursive
|
||||
|
||||
install-data-am: install-toollibLIBRARIES install-toollibDATA \
|
||||
install-data-local
|
||||
install-data: install-data-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-recursive
|
||||
uninstall-am: uninstall-toollibLIBRARIES uninstall-toollibDATA
|
||||
uninstall: uninstall-recursive
|
||||
all-am: Makefile $(LIBRARIES) $(DATA)
|
||||
all-redirect: all-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
$(mkinstalldirs) $(DESTDIR)$(toollibdir) $(DESTDIR)$(toollibdir)
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-toollibLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-tags mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
clean-am: clean-toollibLIBRARIES clean-compile clean-tags clean-generic \
|
||||
mostlyclean-am
|
||||
|
||||
clean: clean-recursive
|
||||
|
||||
distclean-am: distclean-toollibLIBRARIES distclean-compile \
|
||||
distclean-tags distclean-generic clean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f config.status
|
||||
|
||||
maintainer-clean-am: maintainer-clean-toollibLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-tags \
|
||||
maintainer-clean-generic distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f config.status
|
||||
|
||||
.PHONY: mostlyclean-toollibLIBRARIES distclean-toollibLIBRARIES \
|
||||
clean-toollibLIBRARIES maintainer-clean-toollibLIBRARIES \
|
||||
uninstall-toollibLIBRARIES install-toollibLIBRARIES mostlyclean-compile \
|
||||
distclean-compile clean-compile maintainer-clean-compile \
|
||||
uninstall-toollibDATA install-toollibDATA install-data-recursive \
|
||||
uninstall-data-recursive install-exec-recursive \
|
||||
uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
|
||||
all-recursive check-recursive installcheck-recursive info-recursive \
|
||||
dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
|
||||
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
|
||||
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
|
||||
dvi-am dvi check check-am installcheck-am installcheck install-info-am \
|
||||
install-info install-exec-am install-exec install-data-local \
|
||||
install-data-am install-data install-am install uninstall-am uninstall \
|
||||
all-redirect all-am all installdirs-am installdirs mostlyclean-generic \
|
||||
distclean-generic clean-generic maintainer-clean-generic clean \
|
||||
mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
libc.a: libc/libc.a libm.a
|
||||
rm -rf libc.a libg.a tmp
|
||||
mkdir tmp
|
||||
cd tmp; \
|
||||
$(AR) x ../libm.a $(MATHOBJS_IN_LIBC) ; \
|
||||
$(AR) x ../libc/libc.a ; \
|
||||
$(AR) $(AR_FLAGS) ../$@ *.o
|
||||
$(RANLIB) libc.a
|
||||
ln libc.a libg.a
|
||||
rm -rf tmp
|
||||
|
||||
libc/libc.a: ; @true
|
||||
|
||||
libm.a: libm/libm.a
|
||||
rm -f $@
|
||||
ln libm/libm.a $@ >/dev/null 2>/dev/null || cp libm/libm.a $@
|
||||
|
||||
libm/libm.a: ; @true
|
||||
|
||||
crt0.o: $(CRT0_DIR)/$(CRT0)
|
||||
rm -f $@
|
||||
ln $(CRT0_DIR)/$(CRT0) $@ >/dev/null 2>/dev/null \
|
||||
|| cp $(CRT0_DIR)/$(CRT0) $@
|
||||
|
||||
$(CRT0_DIR)/$(CRT0): ; @true
|
||||
|
||||
all-recursive: stmp-targ-include
|
||||
|
||||
# The targ-include directory just holds the includes files for the
|
||||
# particular system and machine we have been configured for. It is
|
||||
# used while building.
|
||||
stmp-targ-include: config.status
|
||||
-rm -rf targ-include stmp-targ-include
|
||||
mkdir targ-include targ-include/sys targ-include/machine
|
||||
-for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
cp $$i targ-include/machine/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done
|
||||
-for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
cp $$i targ-include/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done
|
||||
-for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
cp $$i targ-include/sys/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done
|
||||
touch $@
|
||||
|
||||
install-data-local: install-toollibLIBRARIES
|
||||
rm -f $(toollibdir)/libg.a
|
||||
ln $(toollibdir)/libc.a $(toollibdir)/libg.a
|
||||
$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
|
||||
-if [ -z "$(MULTISUBDIR)" ]; then \
|
||||
for i in $(srcdir)/libc/include/*.h; do \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/`basename $$i`; \
|
||||
done; \
|
||||
for i in $(srcdir)/libc/include/machine/*.h; do \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/machine/`basename $$i`; \
|
||||
done; \
|
||||
for i in $(srcdir)/libc/machine/$(machine_dir)/machine/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/machine/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done; \
|
||||
for i in $(srcdir)/libc/include/sys/*.h; do \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/sys/`basename $$i`; \
|
||||
done; \
|
||||
for i in $(srcdir)/libc/sys/$(sys_dir)/sys/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/sys/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done ; \
|
||||
for i in $(srcdir)/libc/sys/$(sys_dir)/include/*.h; do \
|
||||
if [ -f $$i ]; then \
|
||||
$(INSTALL_DATA) $$i $(tooldir)/include/`basename $$i`; \
|
||||
else true; fi ; \
|
||||
done ; \
|
||||
else true; fi
|
||||
|
||||
# Force makedoc to be built before building info files.
|
||||
info-recursive: doc/makedoc
|
||||
dvi-recursive: doc/makedoc
|
||||
doc/makedoc:
|
||||
cd doc && $(MAKE) all
|
||||
|
||||
# Multilib support.
|
||||
.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
|
||||
maintainer-clean-multi
|
||||
|
||||
all-recursive: all-multi
|
||||
mostlyclean-recursive: mostlyclean-multi
|
||||
clean-recursive: clean-multi
|
||||
distclean-recursive: distclean-multi
|
||||
maintainer-clean-recursive: maintainer-clean-multi
|
||||
|
||||
all-multi:
|
||||
$(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
|
||||
mostlyclean-multi:
|
||||
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
|
||||
clean-multi:
|
||||
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
|
||||
distclean-multi:
|
||||
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
|
||||
maintainer-clean-multi:
|
||||
$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
79
newlib/NEWS
Normal file
79
newlib/NEWS
Normal file
@ -0,0 +1,79 @@
|
||||
*** Major changes in newlib version 1.8.2:
|
||||
|
||||
* RTEMS features and fixes from Joel Sherrill.
|
||||
|
||||
* More work on reentrant routines.
|
||||
|
||||
* Floating point math library check, --enable-newlib-hw-fp.
|
||||
|
||||
*** Major changes in newlib version 1.8.1:
|
||||
|
||||
* Added check for --enable-newlib-mb configure option which defines the
|
||||
MB_CAPABLE macro. Multibyte support for JIS, SJIS, and EUC-JP implemented.
|
||||
|
||||
* Reduced code size for libm modules.
|
||||
|
||||
* Replaced the BSD malloc with Doug Lea's malloc.
|
||||
|
||||
*** Major changes in newlib version 1.8.0:
|
||||
|
||||
* Added simulated signal handling functions _raise_r, _signal_r, raise, and
|
||||
signal except for sparc-sun-sunos*, i[3456]86-*-sco*, and a29k-*-* systems,
|
||||
which already provide access to signal. The signal functionality provided
|
||||
does not interact with hardware generated signals.
|
||||
|
||||
* Added reentrant function rand_r from POSIX.1c.
|
||||
|
||||
* Removed _asctime, _next, _scanpoint, and _signgam fields from struct
|
||||
_reent. These are no longer necessary since there are now functions
|
||||
that explictly support multiple threads (asctime_r, ctime_r, gamma_r,
|
||||
gmtime_r, lgamma_r, localtime_r, rand_r, & strtok_r).
|
||||
|
||||
|
||||
*** Major changes in newlib version 1.7.0:
|
||||
|
||||
* Cross compiler target libraries are now built in a subdir of the top level
|
||||
build directory.
|
||||
|
||||
Old way: build
|
||||
/newlib
|
||||
/m68020
|
||||
/m68881
|
||||
New way:
|
||||
build
|
||||
/m68k-coff
|
||||
/m68020
|
||||
/m68881
|
||||
|
||||
where m68020 and m68881 are multilib subdirectories
|
||||
|
||||
* m68k targets support --disable options to avoid building unwanted versions
|
||||
of the libraries.
|
||||
|
||||
--disable-softfloat - don't build libc, libg++, etc. for -msoft-float
|
||||
--disable-m68881 - don't build libc, libg++, etc. for -m68881
|
||||
--disable-m68000 - don't build libc, libg++, etc. for -m68000
|
||||
--disable-m68020 - don't build libc, libg++, etc. for -m68020
|
||||
|
||||
These options have *no* effect on the default libraries, so if the default
|
||||
is -m68020, --disable-m68020 is nilpotent.
|
||||
|
||||
* Reentrancy support in libm removed.
|
||||
|
||||
* strtok, strtol, strtoul, assert, div, ldiv, qsort, vfprintf
|
||||
replaced with NetBSD versions.
|
||||
|
||||
* Support for systems with 32 bit "doubles" added.
|
||||
|
||||
* unctrl added.
|
||||
|
||||
* dtoa.c updated from master dtoa.c soruces (netlib.att.com)
|
||||
|
||||
* Various bug fixes.
|
||||
|
||||
*** Major changes in newlib version 1.6.1:
|
||||
|
||||
* Added reentrant functions (asctime_r, ctime_r, gmtime_r, localtime_r,
|
||||
and strtok_r) from POSIX.1c.
|
||||
|
||||
* Removed _asctime_r and _strtok_r functions.
|
231
newlib/README
Normal file
231
newlib/README
Normal file
@ -0,0 +1,231 @@
|
||||
README for newlib-1.8.2 release
|
||||
(mostly cribbed from the README in the gdb-4.13 release)
|
||||
|
||||
This is `newlib', a simple ANSI C library, math library, and collection
|
||||
of board support packages.
|
||||
|
||||
The newlib and libgloss subdirectories are a collection of software from
|
||||
several sources, each with their own copyright. See the file COPYING.NEWLIB
|
||||
for details. The rest of the release tree is under either the GNU GPL or
|
||||
LPGL copyright.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
Unpacking and Installation -- quick overview
|
||||
==========================
|
||||
|
||||
When you unpack the newlib-1.8.2.tar.gz file, you'll find a directory
|
||||
called `newlib-1.8.2', which contains:
|
||||
|
||||
COPYING config/ install-sh* mpw-configure
|
||||
COPYING.LIB config-ml.in libgloss/ mpw-install
|
||||
COPYING.NEWLIB config.guess* mkinstalldirs* newlib/
|
||||
CYGNUS config.sub* move-if-change* symlink-tree*
|
||||
ChangeLog configure* mpw-README texinfo/
|
||||
Makefile.in configure.in mpw-build.in
|
||||
README etc/ mpw-config.in
|
||||
|
||||
To build NEWLIB, you can just do:
|
||||
|
||||
cd newlib-1.8.2
|
||||
./configure --target=<your target>
|
||||
make all install
|
||||
|
||||
This will configure and build all the libraries and crt0 (if one exists).
|
||||
If `configure' can't determine your host system type, specify one as its
|
||||
argument, e.g., sun4 or sun4sol2. NEWLIB is most often used in cross
|
||||
environments.
|
||||
|
||||
NOTE THAT YOU MUST HAVE ALREADY BUILT AND INSTALLED GCC and BINUTILS.
|
||||
|
||||
|
||||
More Documentation
|
||||
==================
|
||||
|
||||
Newlib documentation is available on the net via:
|
||||
http://www.cygnus.com/pubs/gnupro
|
||||
|
||||
All the documentation for NEWLIB comes as part of the machine-readable
|
||||
distribution. The documentation is written in Texinfo format, which is
|
||||
a documentation system that uses a single source file to produce both
|
||||
on-line information and a printed manual. You can use one of the Info
|
||||
formatting commands to create the on-line version of the documentation
|
||||
and TeX (or `texi2roff') to typeset the printed version.
|
||||
|
||||
If you want to format these Info files yourself, you need one of the
|
||||
Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
|
||||
|
||||
If you want to typeset and print copies of this manual, you need TeX,
|
||||
a program to print its DVI output files, and `texinfo.tex', the Texinfo
|
||||
definitions file.
|
||||
|
||||
TeX is a typesetting program; it does not print files directly, but
|
||||
produces output files called DVI files. To print a typeset document,
|
||||
you need a program to print DVI files. If your system has TeX
|
||||
installed, chances are it has such a program. The precise command to
|
||||
use depends on your system; `lpr -d' is common; another (for PostScript
|
||||
devices) is `dvips'. The DVI print command may require a file name
|
||||
without any extension or a `.dvi' extension.
|
||||
|
||||
TeX also requires a macro definitions file called `texinfo.tex'.
|
||||
This file tells TeX how to typeset a document written in Texinfo
|
||||
format. On its own, TeX cannot read, much less typeset a Texinfo file.
|
||||
`texinfo.tex' is distributed with NEWLIB and is located in the
|
||||
`newlib-VERSION-NUMBER/texinfo' directory.
|
||||
|
||||
|
||||
|
||||
Compiling NEWLIB in another directory
|
||||
=====================================
|
||||
|
||||
If you want to run NEWLIB versions for several host or target machines,
|
||||
you need a different `newlib' compiled for each combination of host and
|
||||
target. `configure' is designed to make this easy by allowing you to
|
||||
generate each configuration in a separate subdirectory, rather than in
|
||||
the source directory. If your `make' program handles the `VPATH'
|
||||
feature correctly (like GNU `make') running `make' in each of these
|
||||
directories builds the `newlib' libraries specified there.
|
||||
|
||||
To build `newlib' in a separate directory, run `configure' with the
|
||||
`--srcdir' option to specify where to find the source. (You also need
|
||||
to specify a path to find `configure' itself from your working
|
||||
directory. If the path to `configure' would be the same as the
|
||||
argument to `--srcdir', you can leave out the `--srcdir' option; it
|
||||
will be assumed.)
|
||||
|
||||
For example, with version 1.8.2, you can build NEWLIB in a separate
|
||||
directory for a Sun 4 cross m68k-aout environment like this:
|
||||
|
||||
cd newlib-1.8.2
|
||||
mkdir ../newlib-m68k-aout
|
||||
cd ../newlib-m68k-aout
|
||||
../newlib-1.8.2/configure --host=sun4 --target=m68k-aout
|
||||
make
|
||||
|
||||
When `configure' builds a configuration using a remote source
|
||||
directory, it creates a tree for the binaries with the same structure
|
||||
(and using the same names) as the tree under the source directory. In
|
||||
the example, you'd find the Sun 4 library `libiberty.a' in the
|
||||
directory `newlib-m68k-aout/libiberty', and NEWLIB itself in
|
||||
`newlib-m68k-aout/newlib'.
|
||||
|
||||
When you run `make' to build a program or library, you must run it
|
||||
in a configured directory--whatever directory you were in when you
|
||||
called `configure' (or one of its subdirectories).
|
||||
|
||||
The `Makefile' that `configure' generates in each source directory
|
||||
also runs recursively. If you type `make' in a source directory such
|
||||
as `newlib-1.8.2' (or in a separate configured directory configured with
|
||||
`--srcdir=PATH/newlib-1.8.2'), you will build all the required libraries.
|
||||
|
||||
When you have multiple hosts or targets configured in separate
|
||||
directories, you can run `make' on them in parallel (for example, if
|
||||
they are NFS-mounted on each of the hosts); they will not interfere
|
||||
with each other.
|
||||
|
||||
|
||||
Specifying names for hosts and targets
|
||||
======================================
|
||||
|
||||
The specifications used for hosts and targets in the `configure'
|
||||
script are based on a three-part naming scheme, but some short
|
||||
predefined aliases are also supported. The full naming scheme encodes
|
||||
three pieces of information in the following pattern:
|
||||
|
||||
ARCHITECTURE-VENDOR-OS
|
||||
|
||||
For example, you can use the alias `sun4' as a HOST argument or in a
|
||||
`--target=TARGET' option. The equivalent full name is
|
||||
`sparc-sun-sunos4'.
|
||||
|
||||
The `configure' script accompanying NEWLIB does not provide any query
|
||||
facility to list all supported host and target names or aliases.
|
||||
`configure' calls the Bourne shell script `config.sub' to map
|
||||
abbreviations to full names; you can read the script, if you wish, or
|
||||
you can use it to test your guesses on abbreviations--for example:
|
||||
|
||||
% sh config.sub sun4
|
||||
sparc-sun-sunos4.1.1
|
||||
% sh config.sub sun3
|
||||
m68k-sun-sunos4.1.1
|
||||
% sh config.sub decstation
|
||||
mips-dec-ultrix4.2
|
||||
% sh config.sub hp300bsd
|
||||
m68k-hp-bsd
|
||||
% sh config.sub i386v
|
||||
i386-pc-sysv
|
||||
% sh config.sub i786v
|
||||
Invalid configuration `i786v': machine `i786v' not recognized
|
||||
|
||||
|
||||
`configure' options
|
||||
===================
|
||||
|
||||
Here is a summary of the `configure' options and arguments that are
|
||||
most often useful for building NEWLIB. `configure' also has several other
|
||||
options not listed here.
|
||||
|
||||
configure [--help]
|
||||
[--prefix=DIR]
|
||||
[--srcdir=PATH]
|
||||
[--target=TARGET] HOST
|
||||
|
||||
You may introduce options with a single `-' rather than `--' if you
|
||||
prefer; but you may abbreviate option names if you use `--'.
|
||||
|
||||
`--help'
|
||||
Display a quick summary of how to invoke `configure'.
|
||||
|
||||
`--prefix=DIR'
|
||||
Configure the source to install programs and files in directory
|
||||
`DIR'.
|
||||
|
||||
`--exec-prefix=DIR'
|
||||
Configure the source to install host-dependent files in directory
|
||||
`DIR'.
|
||||
|
||||
`--srcdir=PATH'
|
||||
*Warning: using this option requires GNU `make', or another `make'
|
||||
that compatibly implements the `VPATH' feature.
|
||||
Use this option to make configurations in directories separate
|
||||
from the NEWLIB source directories. Among other things, you can use
|
||||
this to build (or maintain) several configurations simultaneously,
|
||||
in separate directories. `configure' writes configuration
|
||||
specific files in the current directory, but arranges for them to
|
||||
use the source in the directory PATH. `configure' will create
|
||||
directories under the working directory in parallel to the source
|
||||
directories below PATH.
|
||||
|
||||
`--norecursion'
|
||||
Configure only the directory level where `configure' is executed;
|
||||
do not propagate configuration to subdirectories.
|
||||
|
||||
`--target=TARGET'
|
||||
Configure NEWLIB for running on the specified TARGET.
|
||||
|
||||
There is no convenient way to generate a list of all available
|
||||
targets.
|
||||
|
||||
`HOST ...'
|
||||
Configure NEWLIB to be built using a cross compiler running on
|
||||
the specified HOST.
|
||||
|
||||
There is no convenient way to generate a list of all available
|
||||
hosts.
|
||||
|
||||
|
||||
Reporting Bugs
|
||||
==============
|
||||
|
||||
The correct address for reporting bugs found in NEWLIB is
|
||||
"newlib@sourceware.cygnus.com". Please email all bug reports to that
|
||||
address. Please include the NEWLIB version number (e.g., newlib-1.8.2),
|
||||
and how you configured it (e.g., "sun4 host and m68k-aout target").
|
||||
Since NEWLIB supports many different configurations, it is important
|
||||
that you be precise about this.
|
||||
|
||||
Archives of the newlib mailing list are on-line, see
|
||||
http://sourceware.cygnus.com/ml/newlib/
|
144
newlib/acinclude.m4
Normal file
144
newlib/acinclude.m4
Normal file
@ -0,0 +1,144 @@
|
||||
dnl This provides configure definitions used by all the newlib
|
||||
dnl configure.in files.
|
||||
|
||||
dnl Basic newlib configury. This calls basic introductory stuff,
|
||||
dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
|
||||
dnl configure.host. The only argument is the relative path to the top
|
||||
dnl newlib directory.
|
||||
|
||||
AC_DEFUN(NEWLIB_CONFIGURE,
|
||||
[
|
||||
dnl Default to --enable-multilib
|
||||
AC_ARG_ENABLE(multilib,
|
||||
[ --enable-multilib build many library versions (default)],
|
||||
[case "${enableval}" in
|
||||
yes) multilib=yes ;;
|
||||
no) multilib=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
|
||||
esac], [multilib=yes])dnl
|
||||
|
||||
dnl Support --enable-target-optspace
|
||||
AC_ARG_ENABLE(target-optspace,
|
||||
[ --enable-target-optspace optimize for space],
|
||||
[case "${enableval}" in
|
||||
yes) target_optspace=yes ;;
|
||||
no) target_optspace=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
|
||||
esac], [target_optspace=])dnl
|
||||
|
||||
dnl Support --enable-newlib-mb
|
||||
AC_ARG_ENABLE(newlib-mb,
|
||||
[ --enable-newlib-mb enable multibyte support],
|
||||
[case "${enableval}" in
|
||||
yes) newlib_mb=yes ;;
|
||||
no) newlib_mb=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
|
||||
esac], [newlib_mb=no])dnl
|
||||
|
||||
dnl We may get other options which we don't document:
|
||||
dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
|
||||
|
||||
test -z "[$]{with_target_subdir}" && with_target_subdir=.
|
||||
|
||||
if test "[$]{srcdir}" = "."; then
|
||||
if test "[$]{with_target_subdir}" != "."; then
|
||||
newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
|
||||
else
|
||||
newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
|
||||
fi
|
||||
else
|
||||
newlib_basedir="[$]{srcdir}/$1"
|
||||
fi
|
||||
AC_SUBST(newlib_basedir)
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
AM_INIT_AUTOMAKE(newlib, 1.8.1)
|
||||
|
||||
# FIXME: We temporarily define our own version of AC_PROG_CC. This is
|
||||
# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
|
||||
# are probably using a cross compiler, which will not be able to fully
|
||||
# link an executable. This should really be fixed in autoconf
|
||||
# itself.
|
||||
|
||||
AC_DEFUN(LIB_AC_PROG_CC,
|
||||
[AC_BEFORE([$0], [AC_PROG_CPP])dnl
|
||||
AC_CHECK_PROG(CC, gcc, gcc)
|
||||
if test -z "$CC"; then
|
||||
AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
|
||||
test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
fi
|
||||
|
||||
AC_PROG_CC_GNU
|
||||
|
||||
if test $ac_cv_prog_gcc = yes; then
|
||||
GCC=yes
|
||||
dnl Check whether -g works, even if CFLAGS is set, in case the package
|
||||
dnl plays around with CFLAGS (such as to build both debugging and
|
||||
dnl normal versions of a library), tasteless as that idea is.
|
||||
ac_test_CFLAGS="${CFLAGS+set}"
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS=
|
||||
AC_PROG_CC_G
|
||||
if test "$ac_test_CFLAGS" = set; then
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
elif test $ac_cv_prog_cc_g = yes; then
|
||||
CFLAGS="-g -O2"
|
||||
else
|
||||
CFLAGS="-O2"
|
||||
fi
|
||||
else
|
||||
GCC=
|
||||
test "${CFLAGS+set}" = set || CFLAGS="-g"
|
||||
fi
|
||||
])
|
||||
|
||||
LIB_AC_PROG_CC
|
||||
|
||||
# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
|
||||
# run it explicitly here, it will be run implicitly before
|
||||
# NEWLIB_CONFIGURE, which doesn't work because that means that it will
|
||||
# be run before AC_CANONICAL_HOST.
|
||||
AC_CANONICAL_BUILD
|
||||
|
||||
AC_CHECK_TOOL(AS, as)
|
||||
AC_CHECK_TOOL(AR, ar)
|
||||
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
||||
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
|
||||
# at least currently, we never actually build a program, so we never
|
||||
# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
|
||||
# fails, because we are probably configuring with a cross compiler
|
||||
# which can't create executables. So we include AC_EXEEXT to keep
|
||||
# automake happy, but we don't execute it, since we don't care about
|
||||
# the result.
|
||||
if false; then
|
||||
AC_EXEEXT
|
||||
fi
|
||||
|
||||
. [$]{newlib_basedir}/configure.host
|
||||
|
||||
case [$]{newlib_basedir} in
|
||||
/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
|
||||
*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
|
||||
esac
|
||||
|
||||
newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
|
||||
case "${host}" in
|
||||
*-*-cygwin*)
|
||||
newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
|
||||
;;
|
||||
esac
|
||||
|
||||
newlib_cflags="[$]{newlib_cflags} -fno-builtin"
|
||||
|
||||
NEWLIB_CFLAGS=${newlib_cflags}
|
||||
AC_SUBST(NEWLIB_CFLAGS)
|
||||
|
||||
AC_SUBST(machine_dir)
|
||||
AC_SUBST(sys_dir)
|
||||
])
|
282
newlib/aclocal.m4
vendored
Normal file
282
newlib/aclocal.m4
vendored
Normal file
@ -0,0 +1,282 @@
|
||||
dnl aclocal.m4 generated automatically by aclocal 1.4
|
||||
|
||||
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl This program is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
dnl PARTICULAR PURPOSE.
|
||||
|
||||
dnl This provides configure definitions used by all the newlib
|
||||
dnl configure.in files.
|
||||
|
||||
dnl Basic newlib configury. This calls basic introductory stuff,
|
||||
dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
|
||||
dnl configure.host. The only argument is the relative path to the top
|
||||
dnl newlib directory.
|
||||
|
||||
AC_DEFUN(NEWLIB_CONFIGURE,
|
||||
[
|
||||
dnl Default to --enable-multilib
|
||||
AC_ARG_ENABLE(multilib,
|
||||
[ --enable-multilib build many library versions (default)],
|
||||
[case "${enableval}" in
|
||||
yes) multilib=yes ;;
|
||||
no) multilib=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
|
||||
esac], [multilib=yes])dnl
|
||||
|
||||
dnl Support --enable-target-optspace
|
||||
AC_ARG_ENABLE(target-optspace,
|
||||
[ --enable-target-optspace optimize for space],
|
||||
[case "${enableval}" in
|
||||
yes) target_optspace=yes ;;
|
||||
no) target_optspace=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
|
||||
esac], [target_optspace=])dnl
|
||||
|
||||
dnl Support --enable-newlib-mb
|
||||
AC_ARG_ENABLE(newlib-mb,
|
||||
[ --enable-newlib-mb enable multibyte support],
|
||||
[case "${enableval}" in
|
||||
yes) newlib_mb=yes ;;
|
||||
no) newlib_mb=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
|
||||
esac], [newlib_mb=no])dnl
|
||||
|
||||
dnl We may get other options which we don't document:
|
||||
dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
|
||||
|
||||
test -z "[$]{with_target_subdir}" && with_target_subdir=.
|
||||
|
||||
if test "[$]{srcdir}" = "."; then
|
||||
if test "[$]{with_target_subdir}" != "."; then
|
||||
newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
|
||||
else
|
||||
newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
|
||||
fi
|
||||
else
|
||||
newlib_basedir="[$]{srcdir}/$1"
|
||||
fi
|
||||
AC_SUBST(newlib_basedir)
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
AM_INIT_AUTOMAKE(newlib, 1.8.1)
|
||||
|
||||
# FIXME: We temporarily define our own version of AC_PROG_CC. This is
|
||||
# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
|
||||
# are probably using a cross compiler, which will not be able to fully
|
||||
# link an executable. This should really be fixed in autoconf
|
||||
# itself.
|
||||
|
||||
AC_DEFUN(LIB_AC_PROG_CC,
|
||||
[AC_BEFORE([$0], [AC_PROG_CPP])dnl
|
||||
AC_CHECK_PROG(CC, gcc, gcc)
|
||||
if test -z "$CC"; then
|
||||
AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
|
||||
test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
fi
|
||||
|
||||
AC_PROG_CC_GNU
|
||||
|
||||
if test $ac_cv_prog_gcc = yes; then
|
||||
GCC=yes
|
||||
dnl Check whether -g works, even if CFLAGS is set, in case the package
|
||||
dnl plays around with CFLAGS (such as to build both debugging and
|
||||
dnl normal versions of a library), tasteless as that idea is.
|
||||
ac_test_CFLAGS="${CFLAGS+set}"
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS=
|
||||
AC_PROG_CC_G
|
||||
if test "$ac_test_CFLAGS" = set; then
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
elif test $ac_cv_prog_cc_g = yes; then
|
||||
CFLAGS="-g -O2"
|
||||
else
|
||||
CFLAGS="-O2"
|
||||
fi
|
||||
else
|
||||
GCC=
|
||||
test "${CFLAGS+set}" = set || CFLAGS="-g"
|
||||
fi
|
||||
])
|
||||
|
||||
LIB_AC_PROG_CC
|
||||
|
||||
# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
|
||||
# run it explicitly here, it will be run implicitly before
|
||||
# NEWLIB_CONFIGURE, which doesn't work because that means that it will
|
||||
# be run before AC_CANONICAL_HOST.
|
||||
AC_CANONICAL_BUILD
|
||||
|
||||
AC_CHECK_TOOL(AS, as)
|
||||
AC_CHECK_TOOL(AR, ar)
|
||||
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
||||
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
|
||||
# at least currently, we never actually build a program, so we never
|
||||
# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
|
||||
# fails, because we are probably configuring with a cross compiler
|
||||
# which can't create executables. So we include AC_EXEEXT to keep
|
||||
# automake happy, but we don't execute it, since we don't care about
|
||||
# the result.
|
||||
if false; then
|
||||
AC_EXEEXT
|
||||
fi
|
||||
|
||||
. [$]{newlib_basedir}/configure.host
|
||||
|
||||
case [$]{newlib_basedir} in
|
||||
/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
|
||||
*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
|
||||
esac
|
||||
|
||||
newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
|
||||
case "${host}" in
|
||||
*-*-cygwin*)
|
||||
newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
|
||||
;;
|
||||
esac
|
||||
|
||||
newlib_cflags="[$]{newlib_cflags} -fno-builtin"
|
||||
|
||||
NEWLIB_CFLAGS=${newlib_cflags}
|
||||
AC_SUBST(NEWLIB_CFLAGS)
|
||||
|
||||
AC_SUBST(machine_dir)
|
||||
AC_SUBST(sys_dir)
|
||||
])
|
||||
|
||||
# Do all the work for Automake. This macro actually does too much --
|
||||
# some checks are only needed if your package does certain things.
|
||||
# But this isn't really a big deal.
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl Usage:
|
||||
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
||||
|
||||
AC_DEFUN(AM_INIT_AUTOMAKE,
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])
|
||||
PACKAGE=[$1]
|
||||
AC_SUBST(PACKAGE)
|
||||
VERSION=[$2]
|
||||
AC_SUBST(VERSION)
|
||||
dnl test to see if srcdir already configured
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
ifelse([$3],,
|
||||
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
|
||||
AC_REQUIRE([AM_SANITY_CHECK])
|
||||
AC_REQUIRE([AC_ARG_PROGRAM])
|
||||
dnl FIXME This is truly gross.
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])])
|
||||
|
||||
#
|
||||
# Check to make sure that the build environment is sane.
|
||||
#
|
||||
|
||||
AC_DEFUN(AM_SANITY_CHECK,
|
||||
[AC_MSG_CHECKING([whether build environment is sane])
|
||||
# Just in case
|
||||
sleep 1
|
||||
echo timestamp > conftestfile
|
||||
# Do `set' in a subshell so we don't clobber the current shell's
|
||||
# arguments. Must try -L first in case configure is actually a
|
||||
# symlink; some systems play weird games with the mod time of symlinks
|
||||
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||
# directory).
|
||||
if (
|
||||
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
|
||||
if test "[$]*" = "X"; then
|
||||
# -L didn't work.
|
||||
set X `ls -t $srcdir/configure conftestfile`
|
||||
fi
|
||||
if test "[$]*" != "X $srcdir/configure conftestfile" \
|
||||
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
|
||||
|
||||
# If neither matched, then we have a broken ls. This can happen
|
||||
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||
# broken ls alias from the environment. This has actually
|
||||
# happened. Such a system could not be considered "sane".
|
||||
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||
alias in your environment])
|
||||
fi
|
||||
|
||||
test "[$]2" = conftestfile
|
||||
)
|
||||
then
|
||||
# Ok.
|
||||
:
|
||||
else
|
||||
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||
Check your system clock])
|
||||
fi
|
||||
rm -f conftest*
|
||||
AC_MSG_RESULT(yes)])
|
||||
|
||||
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
|
||||
dnl The program must properly implement --version.
|
||||
AC_DEFUN(AM_MISSING_PROG,
|
||||
[AC_MSG_CHECKING(for working $2)
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
if ($2 --version) < /dev/null > /dev/null 2>&1; then
|
||||
$1=$2
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
$1="$3/missing $2"
|
||||
AC_MSG_RESULT(missing)
|
||||
fi
|
||||
AC_SUBST($1)])
|
||||
|
||||
# Add --enable-maintainer-mode option to configure.
|
||||
# From Jim Meyering
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_MAINTAINER_MODE,
|
||||
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
dnl maintainer-mode is disabled by default
|
||||
AC_ARG_ENABLE(maintainer-mode,
|
||||
[ --enable-maintainer-mode enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer],
|
||||
USE_MAINTAINER_MODE=$enableval,
|
||||
USE_MAINTAINER_MODE=no)
|
||||
AC_MSG_RESULT($USE_MAINTAINER_MODE)
|
||||
AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
|
||||
MAINT=$MAINTAINER_MODE_TRUE
|
||||
AC_SUBST(MAINT)dnl
|
||||
]
|
||||
)
|
||||
|
||||
# Define a conditional.
|
||||
|
||||
AC_DEFUN(AM_CONDITIONAL,
|
||||
[AC_SUBST($1_TRUE)
|
||||
AC_SUBST($1_FALSE)
|
||||
if $2; then
|
||||
$1_TRUE=
|
||||
$1_FALSE='#'
|
||||
else
|
||||
$1_TRUE='#'
|
||||
$1_FALSE=
|
||||
fi])
|
||||
|
1865
newlib/configure
vendored
Executable file
1865
newlib/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
457
newlib/configure.host
Normal file
457
newlib/configure.host
Normal file
@ -0,0 +1,457 @@
|
||||
# configure.host
|
||||
|
||||
# This shell script handles all host based configuration for newlib.
|
||||
# It sets various shell variables based on the the host and the
|
||||
# configuration options. You can modify this shell script without
|
||||
# needing to rerun autoconf.
|
||||
|
||||
# This shell script should be invoked as
|
||||
# . configure.host
|
||||
# If it encounters an error, it will exit with a message.
|
||||
|
||||
# FIXME: This script is too complicated. It does things in too many
|
||||
# different ways. This was taken from the old Cygnus configure script
|
||||
# with only minor changes. It should be cleaned up.
|
||||
|
||||
# FIXME: The general approach of picking and choosing which
|
||||
# directories to configure, other than machine_dir and sys_dir, is
|
||||
# potentially confusing.
|
||||
|
||||
# It uses the following shell variables:
|
||||
# host The configuration host
|
||||
# host_cpu The configuration host CPU
|
||||
# newlib_mb --enable-newlib-mb ("yes", "no")
|
||||
# target_optspace --enable-target-optspace ("yes", "no", "")
|
||||
|
||||
# It sets the following shell variables:
|
||||
# newlib_cflags Special CFLAGS to use when building
|
||||
# machine_dir Subdirectory of libc/machine to configure
|
||||
# sys_dir Subdirectory of libc/sys to configure
|
||||
# posix_dir "posix" to build libc/posix, "" otherwise
|
||||
# signal_dir "signal" to build libc/signal, "" otherwise
|
||||
# syscall_dir "syscalls" to build libc/syscalls, "" otherwise
|
||||
# unix_dir "unix" to build libc/unix, "" otherwise
|
||||
|
||||
newlib_cflags=
|
||||
machine_dir=
|
||||
sys_dir=
|
||||
posix_dir=
|
||||
signal_dir=signal
|
||||
syscall_dir=
|
||||
unix_dir=
|
||||
mach_add_setjmp=
|
||||
|
||||
case "${target_optspace}:${host}" in
|
||||
yes:*)
|
||||
newlib_cflags="${newlib_cflags} -Os"
|
||||
;;
|
||||
:m32r-* | :d10v-* | :d30v-*)
|
||||
newlib_cflags="${newlib_cflags} -Os"
|
||||
;;
|
||||
no:* | :*)
|
||||
newlib_cflags="${newlib_cflags} -O2"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Get the source directories to use for the CPU type.
|
||||
# machine_dir should supply CPU dependent routines, such as setjmp.
|
||||
# newlib_cflags is passed to gcc when compiling.
|
||||
# THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY.
|
||||
|
||||
case "${host_cpu}" in
|
||||
a29k)
|
||||
machine_dir=a29k
|
||||
;;
|
||||
arc)
|
||||
machine_dir=
|
||||
;;
|
||||
arm)
|
||||
machine_dir=arm
|
||||
;;
|
||||
d10v*)
|
||||
machine_dir=d10v
|
||||
;;
|
||||
d30v*)
|
||||
machine_dir=d30v
|
||||
;;
|
||||
fr30)
|
||||
machine_dir=fr30
|
||||
;;
|
||||
h8300)
|
||||
machine_dir=h8300
|
||||
;;
|
||||
h8500)
|
||||
machine_dir=h8500
|
||||
;;
|
||||
hppa*)
|
||||
machine_dir=hppa
|
||||
;;
|
||||
i960)
|
||||
machine_dir=i960
|
||||
;;
|
||||
i[3456]86)
|
||||
# Don't use for these since they provide their own setjmp.
|
||||
case ${host} in
|
||||
*-*-go32 | *-*-sco* | *-*-cygwin*)
|
||||
machine_dir=i386
|
||||
;;
|
||||
*)
|
||||
machine_dir=i386
|
||||
mach_add_setjmp=true
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
m32r*)
|
||||
machine_dir=m32r
|
||||
;;
|
||||
m68*)
|
||||
machine_dir=m68k
|
||||
;;
|
||||
m88k)
|
||||
machine_dir=m88k
|
||||
newlib_cflags="${newlib_cflags} -m88000"
|
||||
;;
|
||||
m88110)
|
||||
machine_dir=m88k
|
||||
newlib_cflags="${newlib_cflags} -m88110"
|
||||
;;
|
||||
mcore)
|
||||
;;
|
||||
mips*)
|
||||
machine_dir=mips
|
||||
;;
|
||||
mn10200)
|
||||
machine_dir=mn10200
|
||||
;;
|
||||
mn10300)
|
||||
machine_dir=mn10300
|
||||
;;
|
||||
powerpc*)
|
||||
machine_dir=powerpc
|
||||
;;
|
||||
sh)
|
||||
machine_dir=sh
|
||||
;;
|
||||
sparc*)
|
||||
machine_dir=sparc
|
||||
# FIXME: Might wish to make MALLOC_ALIGNMENT more generic.
|
||||
newlib_cflags="${newlib_cflags} -DMALLOC_ALIGNMENT=8"
|
||||
;;
|
||||
strongarm)
|
||||
machine_dir=arm
|
||||
;;
|
||||
thumb)
|
||||
machine_dir=arm
|
||||
;;
|
||||
tic80*)
|
||||
machine_dir=tic80
|
||||
;;
|
||||
v70)
|
||||
;;
|
||||
v810)
|
||||
;;
|
||||
v850)
|
||||
machine_dir=v850
|
||||
newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mv850 -mno-app-regs -msmall-sld"
|
||||
;;
|
||||
v850e)
|
||||
machine_dir=v850
|
||||
newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mv850 -mno-app-regs -msmall-sld"
|
||||
;;
|
||||
v850ea)
|
||||
machine_dir=v850
|
||||
newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mv850 -mno-app-regs -msmall-sld"
|
||||
;;
|
||||
w65*)
|
||||
machine_dir=w65
|
||||
;;
|
||||
z8k)
|
||||
machine_dir=z8k
|
||||
;;
|
||||
*)
|
||||
echo '***' "Newlib does not support CPU ${host_cpu}" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Enable multibyte support if requested.
|
||||
|
||||
if [ "${newlib_mb}" = "yes" ] ; then
|
||||
newlib_cflags="${newlib_cflags} -DMB_CAPABLE"
|
||||
fi
|
||||
|
||||
# Get the source directories to use for the host. unix_dir is set
|
||||
# to unix to get some standard Unix routines. posix_dir is set to get some
|
||||
# standard Posix routines. sys_dir should supply system dependent routines
|
||||
# including crt0.
|
||||
# THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY.
|
||||
|
||||
case "${host}" in
|
||||
*-*-cygwin*)
|
||||
sys_dir=cygwin
|
||||
posix_dir=posix
|
||||
;;
|
||||
*-*-netware*)
|
||||
signal_dir=
|
||||
sys_dir=netware
|
||||
;;
|
||||
*-*-rtems*) # generic RTEMS support
|
||||
sys_dir=rtems
|
||||
# RTEMS POSIX support is all inside RTEMS
|
||||
;;
|
||||
a29k-*-*)
|
||||
sys_dir=a29khif
|
||||
signal_dir=
|
||||
;;
|
||||
arc-*-*)
|
||||
sys_dir=arc
|
||||
;;
|
||||
arm-*-*)
|
||||
sys_dir=arm
|
||||
;;
|
||||
d10v*)
|
||||
sys_dir=d10v
|
||||
;;
|
||||
d30v*)
|
||||
sys_dir=
|
||||
;;
|
||||
h8300-*-hms*)
|
||||
sys_dir=h8300hms
|
||||
;;
|
||||
h8300-*-xray*)
|
||||
sys_dir=h8300xray
|
||||
;;
|
||||
h8500-*-hms*)
|
||||
sys_dir=h8500hms
|
||||
;;
|
||||
i[3456]86-*-go32)
|
||||
sys_dir=go32
|
||||
;;
|
||||
i[3456]86-*-sco*)
|
||||
sys_dir=sysvi386
|
||||
unix_dir=unix
|
||||
;;
|
||||
m68k-sun-sunos*)
|
||||
unix_dir=unix
|
||||
;;
|
||||
m8*-bug-*)
|
||||
sys_dir=m88kbug
|
||||
;;
|
||||
mips*-dec-*)
|
||||
sys_dir=decstation
|
||||
;;
|
||||
powerpcle-*-pe)
|
||||
sys_dir=cygwin
|
||||
posix_dir=posix
|
||||
;;
|
||||
sh*-*)
|
||||
sys_dir=sh
|
||||
;;
|
||||
sparc-sun-sunos*)
|
||||
sys_dir=sun4
|
||||
unix_dir=unix
|
||||
;;
|
||||
sparc64*)
|
||||
sys_dir=sparc64
|
||||
unix_dir=unix
|
||||
;;
|
||||
strongarm-*-*)
|
||||
sys_dir=arm
|
||||
;;
|
||||
thumb-*-*)
|
||||
sys_dir=arm
|
||||
;;
|
||||
tic80*)
|
||||
sys_dir=tic80
|
||||
;;
|
||||
v70-nec-*)
|
||||
sys_dir=sysvnecv70
|
||||
;;
|
||||
v810-*-*)
|
||||
sys_dir=sysnec810
|
||||
;;
|
||||
v850-*-*)
|
||||
sys_dir=sysnecv850
|
||||
;;
|
||||
v850e-*-*)
|
||||
sys_dir=sysnecv850
|
||||
;;
|
||||
v850ea-*-*)
|
||||
sys_dir=sysnecv850
|
||||
;;
|
||||
w65-*-*)
|
||||
sys_dir=w65
|
||||
;;
|
||||
z8k-*-coff)
|
||||
sys_dir=z8ksim
|
||||
;;
|
||||
esac
|
||||
|
||||
# Host specific flag settings -- usually for features that are not
|
||||
# general enough or broad enough to be handled above.
|
||||
# THIS TABLE IS ALPHA SORTED. KEEP IT THAT WAY.
|
||||
|
||||
case "${host}" in
|
||||
*-*-cygwin*)
|
||||
newlib_cflags="${newlib_cflags} -DHAVE_OPENDIR -DHAVE_RENAME -DSIGNAL_PROVIDED -DWANT_PRINTF_LONG_LONG -D_COMPILING_NEWLIB"
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
# RTEMS supplies its own versions of some routines:
|
||||
# malloc() (reentrant version)
|
||||
# exit() RTEMS has a "global" reent to flush
|
||||
# signal()/raise() RTEMS has its own including pthread signals
|
||||
# _XYZ_r() RTEMS has its own reentrant routines
|
||||
#
|
||||
# NOTE: When newlib malloc uses a semaphore, RTEMS will switch to that.
|
||||
*-*-rtems*)
|
||||
newlib_cflags="${newlib_cflags} -DHAVE_GETTIMEOFDAY -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_OPENDIR"
|
||||
;;
|
||||
# VxWorks supplies its own version of malloc, and the newlib one
|
||||
# doesn't work because VxWorks does not have sbrk.
|
||||
*-wrs-vxworks*)
|
||||
newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DMISSING_SYSCALL_NAMES"
|
||||
;;
|
||||
# UDI doesn't have exec, so system() should fail the right way
|
||||
a29k-amd-udi)
|
||||
newlib_cflags="${newlib_cflags} -DNO_EXEC"
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
arc-*-*)
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
arm-*-pe)
|
||||
syscall_dir=syscalls
|
||||
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
|
||||
# Don't use the debugging protocols just yet.
|
||||
;;
|
||||
arm-*-*)
|
||||
syscall_dir=syscalls
|
||||
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
|
||||
# Select which debug protocol is being used.
|
||||
# ARM_RDP_MONITOR selects the Demon monitor.
|
||||
# ARM_RDI_MONITOR selects the Angel monitor.
|
||||
# If neither are defined, then hard coded defaults will be used
|
||||
# to create the program's environment.
|
||||
# See also thumb below.
|
||||
# newlib_cflags="${newlib_cflags} -DARM_RDP_MONITOR"
|
||||
newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
|
||||
;;
|
||||
d10v*)
|
||||
newlib_cflags="${newlib_cflags} -DSMALL_MEMORY"
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
d30v*)
|
||||
newlib_cflags="${newlib_cflags} -DABORT_MESSAGE -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES"
|
||||
syscall_dir=
|
||||
;;
|
||||
fr30-*-*)
|
||||
newlib_cflags="${newlib_cflags}"
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
h8300*-*-*)
|
||||
syscall_dir=syscalls
|
||||
newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY"
|
||||
;;
|
||||
h8500-*-*)
|
||||
syscall_dir=syscalls
|
||||
newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY"
|
||||
;;
|
||||
i[3456]86-*-sco*)
|
||||
newlib_cflags="${newlib_cflags} -DSIGNAL_PROVIDED"
|
||||
;;
|
||||
i[3456]86-*-netware*)
|
||||
newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES -DNO_EXEC -DABORT_PROVIDED -DCLOCK_PROVIDED -DMALLOC_PROVIDED"
|
||||
;;
|
||||
i[3456]86-*-go32)
|
||||
newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES -DNO_EXEC"
|
||||
;;
|
||||
m32r-*-*)
|
||||
# Pass -msdata=sdata so _impure_ptr goes in .sdata.
|
||||
# We don't generate sda relocs however for upward compatibility.
|
||||
# FIXME: This is necessary because the default multilib doesn't
|
||||
# use --print-multi-lib.
|
||||
newlib_cflags="${newlib_cflags} -msdata=sdata"
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
mcore-*-*)
|
||||
newlib_cflags="${newlib_cflags}"
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
mn10?00-*-*)
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
powerpc*-*-eabi* | \
|
||||
powerpc*-*-elf* | \
|
||||
powerpc*-*-linux* | \
|
||||
powerpc*-*-rtem* | \
|
||||
powerpc*-*-sysv* | \
|
||||
powerpc*-*-solaris*)
|
||||
newlib_cflags="${newlib_cflags} -mrelocatable-lib -mno-eabi -mstrict-align -DMISSING_SYSCALL_NAMES"
|
||||
;;
|
||||
powerpcle-*-pe)
|
||||
newlib_cflags="${newlib_cflags} -DHAVE_OPENDIR -DHAVE_RENAME"
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
sh*-*-*)
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
sparc-sun-sunos*)
|
||||
newlib_cflags="${newlib_cflags} -DSIGNAL_PROVIDED"
|
||||
;;
|
||||
sparc64-*-*)
|
||||
newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_BLKSIZE -DHAVE_GETTIMEOFDAY"
|
||||
# This either belongs elsewhere or nowhere. But I need *something*,
|
||||
# so for now it's here ...
|
||||
case "${host_os}" in
|
||||
aoutv8 | *32p)
|
||||
newlib_cflags="${newlib_cflags} -DTARGET_PTR_SIZE=32" ;;
|
||||
*)
|
||||
newlib_cflags="${newlib_cflags} -DTARGET_PTR_SIZE=64" ;;
|
||||
esac
|
||||
;;
|
||||
strongarm-*-*)
|
||||
syscall_dir=syscalls
|
||||
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
|
||||
newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
|
||||
;;
|
||||
thumb-*-pe)
|
||||
syscall_dir=syscalls
|
||||
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
|
||||
# Don't use the debugging protocols just yet.
|
||||
;;
|
||||
thumb-*-*)
|
||||
syscall_dir=syscalls
|
||||
newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY"
|
||||
# Select which debug protocol is being used.
|
||||
# ARM_RDP_MONITOR selects the Demon monitor.
|
||||
# ARM_RDI_MONITOR selects the Angel monitor.
|
||||
# If neither are defined, then hard coded defaults will be used
|
||||
# to create the program's environment.
|
||||
# See also arm and strongarm above.
|
||||
# newlib_cflags="${newlib_cflags} -DARM_RDP_MONITOR"
|
||||
newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR"
|
||||
;;
|
||||
tic80*)
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
v850-*-*)
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
v850e-*-*)
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
v850ea-*-*)
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
w65-*-*)
|
||||
syscall_dir=syscalls
|
||||
newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY"
|
||||
;;
|
||||
z8k-*-*)
|
||||
syscall_dir=syscalls
|
||||
;;
|
||||
*)
|
||||
newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
|
||||
syscall_dir=
|
||||
;;
|
||||
esac
|
64
newlib/configure.in
Normal file
64
newlib/configure.in
Normal file
@ -0,0 +1,64 @@
|
||||
dnl This is the newlib configure.in file.
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.5)
|
||||
AC_INIT(libc)
|
||||
|
||||
dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
|
||||
AC_CONFIG_AUX_DIR(..)
|
||||
|
||||
NEWLIB_CONFIGURE(.)
|
||||
|
||||
configdirs="libc libm"
|
||||
|
||||
AC_ARG_ENABLE(newlib_hw_fp,
|
||||
[ --enable-newlib-hw-fp Turn on hardware floating point math],
|
||||
[case "${enableval}" in
|
||||
yes) newlib_hw_fp=true ;;
|
||||
no) newlib_hw_fp=false ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-newlib-hw-fp) ;;
|
||||
esac],[newlib_hw_fp=false])
|
||||
AM_CONDITIONAL(NEWLIB_HW_FP, test x$newlib_hw_fp = xtrue)
|
||||
|
||||
if test -z "${with_multisubdir}"; then
|
||||
configdirs="${configdirs} doc"
|
||||
have_doc=yes
|
||||
else
|
||||
have_doc=
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_DOC, test x$have_doc = xyes)
|
||||
|
||||
AC_CONFIG_SUBDIRS(${configdirs})
|
||||
|
||||
CRT0=
|
||||
CRT0_DIR=
|
||||
if test -n "${sys_dir}"; then
|
||||
CRT0=crt0.o
|
||||
CRT0_DIR=libc
|
||||
fi
|
||||
AC_SUBST(CRT0)
|
||||
AC_SUBST(CRT0_DIR)
|
||||
|
||||
|
||||
|
||||
|
||||
if test "${multilib}" = "yes"; then
|
||||
multilib_arg="--enable-multilib"
|
||||
else
|
||||
multilib_arg=
|
||||
fi
|
||||
|
||||
|
||||
AC_OUTPUT(Makefile,
|
||||
[if test -n "$CONFIG_FILES"; then
|
||||
. ${newlib_basedir}/../config-ml.in
|
||||
fi],
|
||||
srcdir=${srcdir}
|
||||
host=${host}
|
||||
target=${target}
|
||||
with_multisubdir=${with_multisubdir}
|
||||
ac_configure_args="${multilib_arg} ${ac_configure_args}"
|
||||
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
newlib_basedir=${newlib_basedir}
|
||||
CC="${CC}"
|
||||
)
|
21
newlib/doc/Makefile.am
Normal file
21
newlib/doc/Makefile.am
Normal file
@ -0,0 +1,21 @@
|
||||
## Process this file with automake to generate Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
# We can't use noinst_PROGRAMS, because automake will add $(EXEEXT).
|
||||
noinst_DATA = makedoc
|
||||
|
||||
MKDOC = makedoc$(EXEEXT_FOR_BUILD)
|
||||
|
||||
# We don't use CFLAGS with CC_FOR_BUILD because here CFLAGS will
|
||||
# actually be CFLAGS_FOR_TARGET, and in some cases that will include
|
||||
# -Os, which CC_FOR_BUILD may not recognize.
|
||||
|
||||
$(MKDOC): makedoc.o
|
||||
$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS) -o $(MKDOC) makedoc.o
|
||||
|
||||
makedoc.o: makedoc.c
|
||||
$(CC_FOR_BUILD) -g $(CFLAGS_FOR_BUILD) -c $(srcdir)/makedoc.c
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ..
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
246
newlib/doc/Makefile.in
Normal file
246
newlib/doc/Makefile.in
Normal file
@ -0,0 +1,246 @@
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = .
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
CC = @CC@
|
||||
CC_FOR_BUILD = @CC_FOR_BUILD@
|
||||
CPP = @CPP@
|
||||
EXEEXT = @EXEEXT@
|
||||
EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
machine_dir = @machine_dir@
|
||||
newlib_basedir = @newlib_basedir@
|
||||
sys_dir = @sys_dir@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
# We can't use noinst_PROGRAMS, because automake will add $(EXEEXT).
|
||||
noinst_DATA = makedoc
|
||||
|
||||
MKDOC = makedoc$(EXEEXT_FOR_BUILD)
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ..
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
DATA = $(noinst_DATA)
|
||||
|
||||
DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in ../acinclude.m4 \
|
||||
../aclocal.m4
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
-rm -rf $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
|
||||
mkdir $(distdir)/=build
|
||||
mkdir $(distdir)/=inst
|
||||
dc_install_base=`cd $(distdir)/=inst && pwd`; \
|
||||
cd $(distdir)/=build \
|
||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist
|
||||
-rm -rf $(distdir)
|
||||
@banner="$(distdir).tar.gz is ready for distribution"; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo "$$dashes"; \
|
||||
echo "$$banner"; \
|
||||
echo "$$dashes"
|
||||
dist: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
dist-all: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
distdir: $(DISTFILES)
|
||||
-rm -rf $(distdir)
|
||||
mkdir $(distdir)
|
||||
-chmod 777 $(distdir)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
info-am:
|
||||
info: info-am
|
||||
dvi-am:
|
||||
dvi: dvi-am
|
||||
check-am:
|
||||
check: check-am
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
install-info-am:
|
||||
install-info: install-info-am
|
||||
install-exec-am:
|
||||
install-exec: install-exec-am
|
||||
|
||||
install-data-am:
|
||||
install-data: install-data-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-am
|
||||
uninstall-am:
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(DATA)
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs:
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
clean: clean-am
|
||||
|
||||
distclean-am: distclean-generic clean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f config.status
|
||||
|
||||
maintainer-clean-am: maintainer-clean-generic distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f config.status
|
||||
|
||||
.PHONY: tags distdir info-am info dvi-am dvi check check-am \
|
||||
installcheck-am installcheck install-info-am install-info \
|
||||
install-exec-am install-exec install-data-am install-data install-am \
|
||||
install uninstall-am uninstall all-redirect all-am all installdirs \
|
||||
mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
# We don't use CFLAGS with CC_FOR_BUILD because here CFLAGS will
|
||||
# actually be CFLAGS_FOR_TARGET, and in some cases that will include
|
||||
# -Os, which CC_FOR_BUILD may not recognize.
|
||||
|
||||
$(MKDOC): makedoc.o
|
||||
$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS) -o $(MKDOC) makedoc.o
|
||||
|
||||
makedoc.o: makedoc.c
|
||||
$(CC_FOR_BUILD) -g $(CFLAGS_FOR_BUILD) -c $(srcdir)/makedoc.c
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
282
newlib/doc/aclocal.m4
vendored
Normal file
282
newlib/doc/aclocal.m4
vendored
Normal file
@ -0,0 +1,282 @@
|
||||
dnl aclocal.m4 generated automatically by aclocal 1.4
|
||||
|
||||
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl This program is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
dnl PARTICULAR PURPOSE.
|
||||
|
||||
dnl This provides configure definitions used by all the newlib
|
||||
dnl configure.in files.
|
||||
|
||||
dnl Basic newlib configury. This calls basic introductory stuff,
|
||||
dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
|
||||
dnl configure.host. The only argument is the relative path to the top
|
||||
dnl newlib directory.
|
||||
|
||||
AC_DEFUN(NEWLIB_CONFIGURE,
|
||||
[
|
||||
dnl Default to --enable-multilib
|
||||
AC_ARG_ENABLE(multilib,
|
||||
[ --enable-multilib build many library versions (default)],
|
||||
[case "${enableval}" in
|
||||
yes) multilib=yes ;;
|
||||
no) multilib=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
|
||||
esac], [multilib=yes])dnl
|
||||
|
||||
dnl Support --enable-target-optspace
|
||||
AC_ARG_ENABLE(target-optspace,
|
||||
[ --enable-target-optspace optimize for space],
|
||||
[case "${enableval}" in
|
||||
yes) target_optspace=yes ;;
|
||||
no) target_optspace=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
|
||||
esac], [target_optspace=])dnl
|
||||
|
||||
dnl Support --enable-newlib-mb
|
||||
AC_ARG_ENABLE(newlib-mb,
|
||||
[ --enable-newlib-mb enable multibyte support],
|
||||
[case "${enableval}" in
|
||||
yes) newlib_mb=yes ;;
|
||||
no) newlib_mb=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
|
||||
esac], [newlib_mb=no])dnl
|
||||
|
||||
dnl We may get other options which we don't document:
|
||||
dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
|
||||
|
||||
test -z "[$]{with_target_subdir}" && with_target_subdir=.
|
||||
|
||||
if test "[$]{srcdir}" = "."; then
|
||||
if test "[$]{with_target_subdir}" != "."; then
|
||||
newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
|
||||
else
|
||||
newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
|
||||
fi
|
||||
else
|
||||
newlib_basedir="[$]{srcdir}/$1"
|
||||
fi
|
||||
AC_SUBST(newlib_basedir)
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
AM_INIT_AUTOMAKE(newlib, 1.8.1)
|
||||
|
||||
# FIXME: We temporarily define our own version of AC_PROG_CC. This is
|
||||
# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
|
||||
# are probably using a cross compiler, which will not be able to fully
|
||||
# link an executable. This should really be fixed in autoconf
|
||||
# itself.
|
||||
|
||||
AC_DEFUN(LIB_AC_PROG_CC,
|
||||
[AC_BEFORE([$0], [AC_PROG_CPP])dnl
|
||||
AC_CHECK_PROG(CC, gcc, gcc)
|
||||
if test -z "$CC"; then
|
||||
AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
|
||||
test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
fi
|
||||
|
||||
AC_PROG_CC_GNU
|
||||
|
||||
if test $ac_cv_prog_gcc = yes; then
|
||||
GCC=yes
|
||||
dnl Check whether -g works, even if CFLAGS is set, in case the package
|
||||
dnl plays around with CFLAGS (such as to build both debugging and
|
||||
dnl normal versions of a library), tasteless as that idea is.
|
||||
ac_test_CFLAGS="${CFLAGS+set}"
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS=
|
||||
AC_PROG_CC_G
|
||||
if test "$ac_test_CFLAGS" = set; then
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
elif test $ac_cv_prog_cc_g = yes; then
|
||||
CFLAGS="-g -O2"
|
||||
else
|
||||
CFLAGS="-O2"
|
||||
fi
|
||||
else
|
||||
GCC=
|
||||
test "${CFLAGS+set}" = set || CFLAGS="-g"
|
||||
fi
|
||||
])
|
||||
|
||||
LIB_AC_PROG_CC
|
||||
|
||||
# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
|
||||
# run it explicitly here, it will be run implicitly before
|
||||
# NEWLIB_CONFIGURE, which doesn't work because that means that it will
|
||||
# be run before AC_CANONICAL_HOST.
|
||||
AC_CANONICAL_BUILD
|
||||
|
||||
AC_CHECK_TOOL(AS, as)
|
||||
AC_CHECK_TOOL(AR, ar)
|
||||
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
||||
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
|
||||
# at least currently, we never actually build a program, so we never
|
||||
# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
|
||||
# fails, because we are probably configuring with a cross compiler
|
||||
# which can't create executables. So we include AC_EXEEXT to keep
|
||||
# automake happy, but we don't execute it, since we don't care about
|
||||
# the result.
|
||||
if false; then
|
||||
AC_EXEEXT
|
||||
fi
|
||||
|
||||
. [$]{newlib_basedir}/configure.host
|
||||
|
||||
case [$]{newlib_basedir} in
|
||||
/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
|
||||
*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
|
||||
esac
|
||||
|
||||
newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
|
||||
case "${host}" in
|
||||
*-*-cygwin*)
|
||||
newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/include"
|
||||
;;
|
||||
esac
|
||||
|
||||
newlib_cflags="[$]{newlib_cflags} -fno-builtin"
|
||||
|
||||
NEWLIB_CFLAGS=${newlib_cflags}
|
||||
AC_SUBST(NEWLIB_CFLAGS)
|
||||
|
||||
AC_SUBST(machine_dir)
|
||||
AC_SUBST(sys_dir)
|
||||
])
|
||||
|
||||
# Do all the work for Automake. This macro actually does too much --
|
||||
# some checks are only needed if your package does certain things.
|
||||
# But this isn't really a big deal.
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl Usage:
|
||||
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
||||
|
||||
AC_DEFUN(AM_INIT_AUTOMAKE,
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])
|
||||
PACKAGE=[$1]
|
||||
AC_SUBST(PACKAGE)
|
||||
VERSION=[$2]
|
||||
AC_SUBST(VERSION)
|
||||
dnl test to see if srcdir already configured
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
ifelse([$3],,
|
||||
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
|
||||
AC_REQUIRE([AM_SANITY_CHECK])
|
||||
AC_REQUIRE([AC_ARG_PROGRAM])
|
||||
dnl FIXME This is truly gross.
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])])
|
||||
|
||||
#
|
||||
# Check to make sure that the build environment is sane.
|
||||
#
|
||||
|
||||
AC_DEFUN(AM_SANITY_CHECK,
|
||||
[AC_MSG_CHECKING([whether build environment is sane])
|
||||
# Just in case
|
||||
sleep 1
|
||||
echo timestamp > conftestfile
|
||||
# Do `set' in a subshell so we don't clobber the current shell's
|
||||
# arguments. Must try -L first in case configure is actually a
|
||||
# symlink; some systems play weird games with the mod time of symlinks
|
||||
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||
# directory).
|
||||
if (
|
||||
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
|
||||
if test "[$]*" = "X"; then
|
||||
# -L didn't work.
|
||||
set X `ls -t $srcdir/configure conftestfile`
|
||||
fi
|
||||
if test "[$]*" != "X $srcdir/configure conftestfile" \
|
||||
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
|
||||
|
||||
# If neither matched, then we have a broken ls. This can happen
|
||||
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||
# broken ls alias from the environment. This has actually
|
||||
# happened. Such a system could not be considered "sane".
|
||||
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||
alias in your environment])
|
||||
fi
|
||||
|
||||
test "[$]2" = conftestfile
|
||||
)
|
||||
then
|
||||
# Ok.
|
||||
:
|
||||
else
|
||||
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||
Check your system clock])
|
||||
fi
|
||||
rm -f conftest*
|
||||
AC_MSG_RESULT(yes)])
|
||||
|
||||
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
|
||||
dnl The program must properly implement --version.
|
||||
AC_DEFUN(AM_MISSING_PROG,
|
||||
[AC_MSG_CHECKING(for working $2)
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
if ($2 --version) < /dev/null > /dev/null 2>&1; then
|
||||
$1=$2
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
$1="$3/missing $2"
|
||||
AC_MSG_RESULT(missing)
|
||||
fi
|
||||
AC_SUBST($1)])
|
||||
|
||||
# Add --enable-maintainer-mode option to configure.
|
||||
# From Jim Meyering
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_MAINTAINER_MODE,
|
||||
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
dnl maintainer-mode is disabled by default
|
||||
AC_ARG_ENABLE(maintainer-mode,
|
||||
[ --enable-maintainer-mode enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer],
|
||||
USE_MAINTAINER_MODE=$enableval,
|
||||
USE_MAINTAINER_MODE=no)
|
||||
AC_MSG_RESULT($USE_MAINTAINER_MODE)
|
||||
AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
|
||||
MAINT=$MAINTAINER_MODE_TRUE
|
||||
AC_SUBST(MAINT)dnl
|
||||
]
|
||||
)
|
||||
|
||||
# Define a conditional.
|
||||
|
||||
AC_DEFUN(AM_CONDITIONAL,
|
||||
[AC_SUBST($1_TRUE)
|
||||
AC_SUBST($1_FALSE)
|
||||
if $2; then
|
||||
$1_TRUE=
|
||||
$1_FALSE='#'
|
||||
else
|
||||
$1_TRUE='#'
|
||||
$1_FALSE=
|
||||
fi])
|
||||
|
116
newlib/doc/ansidecl.h
Normal file
116
newlib/doc/ansidecl.h
Normal file
@ -0,0 +1,116 @@
|
||||
/* ANSI and traditional C compatability macros
|
||||
Copyright 1991 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program 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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* ANSI and traditional C compatibility macros
|
||||
|
||||
Some ANSI environments are "broken" in the sense that __STDC__ cannot be
|
||||
relied upon to have it's intended meaning. Therefore we must use our own
|
||||
concoction: _HAVE_STDC. Always use _HAVE_STDC instead of __STDC__ in newlib
|
||||
sources!
|
||||
|
||||
ANSI C is assumed if _HAVE_STDC is #defined.
|
||||
|
||||
Macro ANSI C definition Traditional C definition
|
||||
----- ---- - ---------- ----------- - ----------
|
||||
PTR `void *' `char *'
|
||||
LONG_DOUBLE `long double' `double'
|
||||
CONST `const' `'
|
||||
VOLATILE `volatile' `'
|
||||
SIGNED `signed' `'
|
||||
PTRCONST `void *const' `char *'
|
||||
|
||||
DEFUN(name, arglist, args)
|
||||
|
||||
Defines function NAME.
|
||||
|
||||
ARGLIST lists the arguments, separated by commas and enclosed in
|
||||
parentheses. ARGLIST becomes the argument list in traditional C.
|
||||
|
||||
ARGS list the arguments with their types. It becomes a prototype in
|
||||
ANSI C, and the type declarations in traditional C. Arguments should
|
||||
be separated with `AND'. For functions with a variable number of
|
||||
arguments, the last thing listed should be `DOTS'.
|
||||
|
||||
DEFUN_VOID(name)
|
||||
|
||||
Defines a function NAME, which takes no arguments.
|
||||
|
||||
EXFUN(name, prototype)
|
||||
|
||||
Is used in an external function declaration.
|
||||
In ANSI C it is `NAMEPROTOTYPE' (so PROTOTYPE should be enclosed in
|
||||
parentheses). In traditional C it is `NAME()'.
|
||||
For a function that takes no arguments, PROTOTYPE should be `(NOARGS)'.
|
||||
|
||||
For example:
|
||||
extern int EXFUN(printf, (CONST char *format DOTS));
|
||||
int DEFUN(fprintf, (stream, format),
|
||||
FILE *stream AND CONST char *format DOTS) { ... }
|
||||
void DEFUN_VOID(abort) { ... }
|
||||
*/
|
||||
|
||||
#ifndef _ANSIDECL_H
|
||||
|
||||
#define _ANSIDECL_H 1
|
||||
|
||||
|
||||
/* Every source file includes this file,
|
||||
so they will all get the switch for lint. */
|
||||
/* LINTLIBRARY */
|
||||
|
||||
|
||||
#ifdef _HAVE_STDC
|
||||
|
||||
#define PTR void *
|
||||
#define PTRCONST void *CONST
|
||||
#define LONG_DOUBLE long double
|
||||
|
||||
#define AND ,
|
||||
#define NOARGS void
|
||||
#define CONST const
|
||||
#define VOLATILE volatile
|
||||
#define SIGNED signed
|
||||
#define DOTS , ...
|
||||
|
||||
#define EXFUN(name, proto) name proto
|
||||
#define DEFUN(name, arglist, args) name(args)
|
||||
#define DEFUN_VOID(name) name(NOARGS)
|
||||
|
||||
#else /* Not ANSI C. */
|
||||
|
||||
#define PTR char *
|
||||
#define PTRCONST PTR
|
||||
#define LONG_DOUBLE double
|
||||
|
||||
#define AND ;
|
||||
#define NOARGS
|
||||
#define CONST
|
||||
#define VOLATILE
|
||||
#define SIGNED
|
||||
#define DOTS
|
||||
|
||||
#define const
|
||||
|
||||
#define EXFUN(name, proto) name()
|
||||
#define DEFUN(name, arglist, args) name arglist args;
|
||||
#define DEFUN_VOID(name) name()
|
||||
|
||||
#endif /* ANSI C. */
|
||||
|
||||
|
||||
#endif /* ansidecl.h */
|
1714
newlib/doc/configure
vendored
Executable file
1714
newlib/doc/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
41
newlib/doc/configure.in
Normal file
41
newlib/doc/configure.in
Normal file
@ -0,0 +1,41 @@
|
||||
dnl This is the newlib/doc configure.in file.
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.5)
|
||||
AC_INIT(makedoc.c)
|
||||
|
||||
dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
|
||||
AC_CONFIG_AUX_DIR(../..)
|
||||
|
||||
NEWLIB_CONFIGURE(..)
|
||||
|
||||
# Put a plausible default for CC_FOR_BUILD in Makefile.
|
||||
if test -z "$CC_FOR_BUILD"; then
|
||||
if test "x$cross_compiling" = "xno"; then
|
||||
CC_FOR_BUILD='$(CC)'
|
||||
else
|
||||
CC_FOR_BUILD=gcc
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(CC_FOR_BUILD)
|
||||
|
||||
# Also set EXEEXT_FOR_BUILD.
|
||||
if test "x$cross_compiling" = "xno"; then
|
||||
EXEEXT_FOR_BUILD='$(EXEEXT)'
|
||||
else
|
||||
AC_CACHE_CHECK([for build system executable suffix], newlib_cv_build_exeext,
|
||||
[cat > ac_c_test.c << 'EOF'
|
||||
int main() {
|
||||
/* Nothing needed here */
|
||||
}
|
||||
EOF
|
||||
${CC_FOR_BUILD} -o ac_c_test am_c_test.c 1>&5 2>&5
|
||||
newlib_cv_build_exeext=`echo ac_c_test.* | grep -v ac_c_test.c | sed -e s/ac_c_test//`
|
||||
rm -f ac_c_test*
|
||||
test x"${newlib_cv_build_exeext}" = x && newlib_cv_build_exeext=no])
|
||||
EXEEXT_FOR_BUILD=""
|
||||
test x"${newlib_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${newlib_cv_build_exeext}
|
||||
fi
|
||||
AC_SUBST(EXEEXT_FOR_BUILD)
|
||||
|
||||
AC_OUTPUT(Makefile)
|
178
newlib/doc/doc.str
Normal file
178
newlib/doc/doc.str
Normal file
@ -0,0 +1,178 @@
|
||||
: nokill_bogus_lines ;
|
||||
|
||||
: ENDDD
|
||||
skip_past_newline
|
||||
;
|
||||
|
||||
: TABLE
|
||||
skip_past_newline
|
||||
"@table @code\n" catstr
|
||||
;
|
||||
|
||||
: ENDTABLE
|
||||
skip_past_newline
|
||||
"@end table\n"
|
||||
catstr
|
||||
;
|
||||
|
||||
: QUICKREF
|
||||
skip_past_newline
|
||||
get_stuff_in_command
|
||||
"&&~&&~&&\cr\tablerule\n"
|
||||
quickref
|
||||
;
|
||||
|
||||
|
||||
: ITEM
|
||||
"@item " catstr ;
|
||||
|
||||
: EXAMPLE
|
||||
skip_past_newline
|
||||
|
||||
get_stuff_in_command nokill_bogus_lines translatecomments
|
||||
courierize catstr
|
||||
|
||||
;
|
||||
|
||||
: INODE
|
||||
"@node " catstr skip_past_newline copy_past_newline catstr
|
||||
;
|
||||
|
||||
: CODE_FRAGMENT
|
||||
EXAMPLE
|
||||
;
|
||||
|
||||
: SYNOPSIS
|
||||
skip_past_newline
|
||||
"@strong{Synopsis}\n" catstr
|
||||
"@example\n" catstr
|
||||
get_stuff_in_command
|
||||
do_fancy_stuff
|
||||
nokill_bogus_lines
|
||||
indent
|
||||
catstr
|
||||
"@end example\n" catstr
|
||||
|
||||
;
|
||||
|
||||
|
||||
: ANSI_SYNOPSIS
|
||||
skip_past_newline
|
||||
"@strong{Synopsis}\n" catstr
|
||||
"@example\n" catstr
|
||||
get_stuff_in_command
|
||||
do_fancy_stuff
|
||||
nokill_bogus_lines
|
||||
indent
|
||||
catstr
|
||||
"@end example\n" catstr
|
||||
|
||||
;
|
||||
|
||||
: OLDTRAD_SYNOPSIS
|
||||
skip_past_newline
|
||||
"@strong{Traditional Synopsis}\n" catstr
|
||||
"@example\n" catstr
|
||||
get_stuff_in_command
|
||||
do_fancy_stuff
|
||||
nokill_bogus_lines
|
||||
indent
|
||||
catstr
|
||||
"@end example\n" catstr
|
||||
|
||||
;
|
||||
|
||||
: TRAD_SYNOPSIS
|
||||
skip_past_newline
|
||||
|
||||
;
|
||||
|
||||
: INDEX
|
||||
"@findex " skip_past_newline copy_past_newline catstr catstr
|
||||
;
|
||||
|
||||
: FUNCTION
|
||||
"@node " - a
|
||||
skip_past_newline
|
||||
copy_past_newline
|
||||
dup - a x x
|
||||
get_stuff_in_angle -a x y
|
||||
swap
|
||||
do_fancy_stuff
|
||||
"@section " - a x x b
|
||||
swap
|
||||
remchar
|
||||
"\n" - a x b x c
|
||||
catstr catstr catstr catstr catstr
|
||||
;
|
||||
|
||||
: bodytext
|
||||
get_stuff_in_command
|
||||
bulletize
|
||||
courierize
|
||||
do_fancy_stuff
|
||||
catstr
|
||||
"@*\n" catstr
|
||||
;
|
||||
|
||||
: asection
|
||||
skip_past_newline
|
||||
catstr
|
||||
copy_past_newline
|
||||
do_fancy_stuff catstr
|
||||
bodytext
|
||||
;
|
||||
|
||||
: SECTION
|
||||
"@section " asection ;
|
||||
|
||||
: SUBSECTION
|
||||
"@section " asection ;
|
||||
|
||||
: SUBSUBSECTION
|
||||
"@subsection " asection ;
|
||||
|
||||
: subhead
|
||||
skip_past_newline
|
||||
bodytext
|
||||
;
|
||||
|
||||
|
||||
|
||||
: DESCRIPTION
|
||||
"@strong{Description}@*\n" catstr subhead ;
|
||||
|
||||
: RETURNS
|
||||
"@strong{Returns}@*\n" catstr subhead ;
|
||||
|
||||
: ERRORS
|
||||
"@strong{Errors}@*\n" catstr subhead ;
|
||||
|
||||
|
||||
: PORTABILITY
|
||||
"@strong{Portability}@*\n" catstr subhead ;
|
||||
|
||||
|
||||
: WARNINGS
|
||||
"@strong{Warnings}@*\n" catstr subhead ;
|
||||
|
||||
|
||||
|
||||
: INTERNAL_FUNCTION
|
||||
func ;
|
||||
|
||||
|
||||
: INTERNAL_DEFINITION
|
||||
func ;
|
||||
|
||||
|
||||
: INTERNAL
|
||||
func ;
|
||||
|
||||
: TYPEDEF
|
||||
FUNCTION ;
|
||||
|
||||
|
||||
|
||||
: NEWPAGE
|
||||
"@page\n" catstr subhead ;
|
1469
newlib/doc/makedoc.c
Normal file
1469
newlib/doc/makedoc.c
Normal file
File diff suppressed because it is too large
Load Diff
119
newlib/libc/Makefile.am
Normal file
119
newlib/libc/Makefile.am
Normal file
@ -0,0 +1,119 @@
|
||||
## Process this file with automake to generate Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
if HAVE_POSIX_DIR
|
||||
POSIX_SUBDIR = posix
|
||||
endif
|
||||
|
||||
if HAVE_SIGNAL_DIR
|
||||
SIGNAL_SUBDIR = signal
|
||||
endif
|
||||
|
||||
if HAVE_SYSCALL_DIR
|
||||
SYSCALLS_SUBDIR = syscalls
|
||||
endif
|
||||
|
||||
if HAVE_UNIX_DIR
|
||||
UNIX_SUBDIR = unix
|
||||
endif
|
||||
|
||||
# The order of SUBDIRS is important for the integrated documentation.
|
||||
# Do not change the order without considering the doc impact.
|
||||
SUBDIRS = stdlib ctype stdio string $(SIGNAL_SUBDIR) time locale sys reent \
|
||||
errno misc machine $(UNIX_SUBDIR) $(POSIX_SUBDIR) $(SYSCALLS_SUBDIR) .
|
||||
|
||||
noinst_LIBRARIES = libc.a
|
||||
noinst_DATA = $(CRT0)
|
||||
|
||||
SUBLIBS = \
|
||||
stdlib/lib.a \
|
||||
ctype/lib.a \
|
||||
stdio/lib.a \
|
||||
string/lib.a \
|
||||
$(LIBC_SIGNAL_LIB) \
|
||||
time/lib.a \
|
||||
locale/lib.a \
|
||||
$(LIBC_SYS_LIB) \
|
||||
reent/lib.a \
|
||||
errno/lib.a \
|
||||
misc/lib.a \
|
||||
$(LIBC_MACHINE_LIB) \
|
||||
$(LIBC_UNIX_LIB) \
|
||||
$(LIBC_POSIX_LIB) \
|
||||
$(LIBC_SYSCALL_LIB)
|
||||
|
||||
libc.a: $(SUBLIBS)
|
||||
rm -f $@
|
||||
rm -rf tmp
|
||||
mkdir tmp
|
||||
cd tmp; \
|
||||
for i in $(SUBLIBS); do \
|
||||
$(AR) x ../$$i; \
|
||||
done; \
|
||||
$(AR) $(AR_FLAGS) ../$@ *.o
|
||||
$(RANLIB) $@
|
||||
rm -rf tmp
|
||||
|
||||
$(SUBLIBS): ; @true
|
||||
|
||||
crt0.o: sys/crt0.o
|
||||
rm -f $@
|
||||
ln sys/crt0.o $@ >/dev/null 2>/dev/null || cp sys/crt0.o $@
|
||||
|
||||
sys/crt0.o: ; @true
|
||||
|
||||
info_TEXINFOS = libc.texinfo
|
||||
|
||||
# This is a list of the stmp-def files in each subdirectory which
|
||||
# builds .def files. We don't list subdirectories which don't build
|
||||
# .def files; if the list of subdirectories changes, we must change
|
||||
# this as well.
|
||||
SUBDEFS = \
|
||||
stdlib/stmp-def \
|
||||
ctype/stmp-def \
|
||||
stdio/stmp-def \
|
||||
string/stmp-def \
|
||||
$(LIBC_SIGNAL_DEF) \
|
||||
time/stmp-def \
|
||||
locale/stmp-def \
|
||||
reent/stmp-def \
|
||||
misc/stmp-def
|
||||
|
||||
libc.info: sigset.texi targetdep.tex $(SUBDEFS)
|
||||
|
||||
stmp-sigset: config.status
|
||||
if test -n "$(LIBC_SIGNAL_LIB)"; then \
|
||||
echo "@set SIGNALS" >tmp.texi; \
|
||||
else \
|
||||
echo "@clear SIGNALS" >tmp.texi; \
|
||||
fi
|
||||
$(SHELL) $(newlib_basedir)/../move-if-change tmp.texi sigset.texi
|
||||
touch $@
|
||||
|
||||
sigset.texi: stmp-sigset ; @true
|
||||
|
||||
stmp-targetdep: force
|
||||
rm -f tmp.texi
|
||||
targetdoc=`pwd`/tmp.texi; \
|
||||
for d in $(SUBDIRS); do \
|
||||
if test "$$d" != "."; then \
|
||||
(cd $$d && $(MAKE) TARGETDOC=$${targetdoc} doc) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
cat $(srcdir)/sys.tex >>tmp.texi
|
||||
$(SHELL) $(newlib_basedir)/../move-if-change tmp.texi targetdep.tex
|
||||
touch $@
|
||||
|
||||
targetdep.tex: stmp-targetdep ; @true
|
||||
|
||||
$(SUBDEFS): stmp-targetdep ; @true
|
||||
|
||||
.PHONY: force
|
||||
force:
|
||||
|
||||
CLEANFILES = crt0.o \
|
||||
sigset.texi stmp-sigset tmp.texi targetdep.tex stmp-targetdep
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ..
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
632
newlib/libc/Makefile.in
Normal file
632
newlib/libc/Makefile.in
Normal file
@ -0,0 +1,632 @@
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = .
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
CC = @CC@
|
||||
CPP = @CPP@
|
||||
CRT0 = @CRT0@
|
||||
EXEEXT = @EXEEXT@
|
||||
LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
|
||||
LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
|
||||
LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
|
||||
LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
|
||||
LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
|
||||
LIBC_SYS_LIB = @LIBC_SYS_LIB@
|
||||
LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
machine_dir = @machine_dir@
|
||||
newlib_basedir = @newlib_basedir@
|
||||
sys_dir = @sys_dir@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
@HAVE_POSIX_DIR_TRUE@POSIX_SUBDIR = \
|
||||
@HAVE_POSIX_DIR_TRUE@posix
|
||||
|
||||
@HAVE_SIGNAL_DIR_TRUE@SIGNAL_SUBDIR = \
|
||||
@HAVE_SIGNAL_DIR_TRUE@signal
|
||||
|
||||
@HAVE_SYSCALL_DIR_TRUE@SYSCALLS_SUBDIR = \
|
||||
@HAVE_SYSCALL_DIR_TRUE@syscalls
|
||||
|
||||
@HAVE_UNIX_DIR_TRUE@UNIX_SUBDIR = \
|
||||
@HAVE_UNIX_DIR_TRUE@unix
|
||||
|
||||
# The order of SUBDIRS is important for the integrated documentation.
|
||||
# Do not change the order without considering the doc impact.
|
||||
SUBDIRS = stdlib ctype stdio string $(SIGNAL_SUBDIR) time locale sys reent \
|
||||
errno misc machine $(UNIX_SUBDIR) $(POSIX_SUBDIR) $(SYSCALLS_SUBDIR) .
|
||||
|
||||
|
||||
noinst_LIBRARIES = libc.a
|
||||
noinst_DATA = $(CRT0)
|
||||
|
||||
SUBLIBS = \
|
||||
stdlib/lib.a \
|
||||
ctype/lib.a \
|
||||
stdio/lib.a \
|
||||
string/lib.a \
|
||||
$(LIBC_SIGNAL_LIB) \
|
||||
time/lib.a \
|
||||
locale/lib.a \
|
||||
$(LIBC_SYS_LIB) \
|
||||
reent/lib.a \
|
||||
errno/lib.a \
|
||||
misc/lib.a \
|
||||
$(LIBC_MACHINE_LIB) \
|
||||
$(LIBC_UNIX_LIB) \
|
||||
$(LIBC_POSIX_LIB) \
|
||||
$(LIBC_SYSCALL_LIB)
|
||||
|
||||
|
||||
info_TEXINFOS = libc.texinfo
|
||||
|
||||
# This is a list of the stmp-def files in each subdirectory which
|
||||
# builds .def files. We don't list subdirectories which don't build
|
||||
# .def files; if the list of subdirectories changes, we must change
|
||||
# this as well.
|
||||
SUBDEFS = \
|
||||
stdlib/stmp-def \
|
||||
ctype/stmp-def \
|
||||
stdio/stmp-def \
|
||||
string/stmp-def \
|
||||
$(LIBC_SIGNAL_DEF) \
|
||||
time/stmp-def \
|
||||
locale/stmp-def \
|
||||
reent/stmp-def \
|
||||
misc/stmp-def
|
||||
|
||||
|
||||
CLEANFILES = crt0.o \
|
||||
sigset.texi stmp-sigset tmp.texi targetdep.tex stmp-targetdep
|
||||
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ..
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
LIBRARIES = $(noinst_LIBRARIES)
|
||||
|
||||
|
||||
DEFS = @DEFS@ -I. -I$(srcdir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
libc_a_LIBADD =
|
||||
libc_a_SOURCES = libc.a.c
|
||||
libc_a_OBJECTS = libc.a.o
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi`
|
||||
TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex
|
||||
INFO_DEPS = libc.info
|
||||
DVIS = libc.dvi
|
||||
TEXINFOS = libc.texinfo
|
||||
DATA = $(noinst_DATA)
|
||||
|
||||
DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
DIST_SUBDIRS = stdlib ctype stdio string signal time locale sys reent \
|
||||
errno misc machine unix posix syscalls .
|
||||
SOURCES = libc.a.c
|
||||
OBJECTS = libc.a.o
|
||||
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .c .dvi .info .o .ps .s .texi .texinfo .txi
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in ../acinclude.m4 \
|
||||
../aclocal.m4
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
mostlyclean-noinstLIBRARIES:
|
||||
|
||||
clean-noinstLIBRARIES:
|
||||
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
||||
|
||||
distclean-noinstLIBRARIES:
|
||||
|
||||
maintainer-clean-noinstLIBRARIES:
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.s.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.S.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.o core *.core
|
||||
|
||||
clean-compile:
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
maintainer-clean-compile:
|
||||
|
||||
libc.info: libc.texinfo
|
||||
libc.dvi: libc.texinfo
|
||||
|
||||
|
||||
DVIPS = dvips
|
||||
|
||||
.texi.info:
|
||||
@rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
$(MAKEINFO) -I $(srcdir) $<
|
||||
|
||||
.texi.dvi:
|
||||
TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
|
||||
.texi:
|
||||
@rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
$(MAKEINFO) -I $(srcdir) $<
|
||||
|
||||
.texinfo.info:
|
||||
@rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
$(MAKEINFO) -I $(srcdir) $<
|
||||
|
||||
.texinfo:
|
||||
@rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
$(MAKEINFO) -I $(srcdir) $<
|
||||
|
||||
.texinfo.dvi:
|
||||
TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
|
||||
.txi.info:
|
||||
@rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
$(MAKEINFO) -I $(srcdir) $<
|
||||
|
||||
.txi.dvi:
|
||||
TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
|
||||
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
|
||||
|
||||
.txi:
|
||||
@rm -f $@ $@-[0-9] $@-[0-9][0-9]
|
||||
$(MAKEINFO) -I $(srcdir) $<
|
||||
.dvi.ps:
|
||||
$(DVIPS) $< -o $@
|
||||
|
||||
install-info-am: $(INFO_DEPS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(infodir)
|
||||
@list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
|
||||
if test -f $$d/$$ifile; then \
|
||||
echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
|
||||
$(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
|
||||
else : ; fi; \
|
||||
done; \
|
||||
done
|
||||
@$(POST_INSTALL)
|
||||
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
|
||||
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
|
||||
done; \
|
||||
else : ; fi
|
||||
|
||||
uninstall-info:
|
||||
$(PRE_UNINSTALL)
|
||||
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
|
||||
ii=yes; \
|
||||
else ii=; fi; \
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
test -z "$ii" \
|
||||
|| install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
|
||||
done
|
||||
@$(NORMAL_UNINSTALL)
|
||||
list='$(INFO_DEPS)'; \
|
||||
for file in $$list; do \
|
||||
(cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
|
||||
done
|
||||
|
||||
dist-info: $(INFO_DEPS)
|
||||
list='$(INFO_DEPS)'; \
|
||||
for base in $$list; do \
|
||||
if test -f $$base; then d=.; else d=$(srcdir); fi; \
|
||||
for file in `cd $$d && eval echo $$base*`; do \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file; \
|
||||
done; \
|
||||
done
|
||||
|
||||
mostlyclean-aminfo:
|
||||
-rm -f libc.aux libc.cp libc.cps libc.dvi libc.fn libc.fns libc.ky \
|
||||
libc.kys libc.ps libc.log libc.pg libc.toc libc.tp libc.tps \
|
||||
libc.vr libc.vrs libc.op libc.tr libc.cv libc.cn
|
||||
|
||||
clean-aminfo:
|
||||
|
||||
distclean-aminfo:
|
||||
|
||||
maintainer-clean-aminfo:
|
||||
for i in $(INFO_DEPS); do \
|
||||
rm -f $$i; \
|
||||
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
|
||||
rm -f $$i-[0-9]*; \
|
||||
fi; \
|
||||
done
|
||||
clean-info: mostlyclean-aminfo
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run `make' without going through this Makefile.
|
||||
# To change the values of `make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in `config.status', edit `config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||
# (2) otherwise, pass the desired values on the `make' command line.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
|
||||
check-recursive installcheck-recursive info-recursive dvi-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
mostlyclean-recursive clean-recursive distclean-recursive \
|
||||
maintainer-clean-recursive:
|
||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
||||
dot_seen=no; \
|
||||
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
rev="$$subdir $$rev"; \
|
||||
test "$$subdir" = "." && dot_seen=yes; \
|
||||
done; \
|
||||
test "$$dot_seen" = "no" && rev=". $$rev"; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
for subdir in $$rev; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
||||
done && test -z "$$fail"
|
||||
tags-recursive:
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||
done
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $$unique $(LISP)
|
||||
|
||||
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
-rm -rf $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
|
||||
mkdir $(distdir)/=build
|
||||
mkdir $(distdir)/=inst
|
||||
dc_install_base=`cd $(distdir)/=inst && pwd`; \
|
||||
cd $(distdir)/=build \
|
||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist
|
||||
-rm -rf $(distdir)
|
||||
@banner="$(distdir).tar.gz is ready for distribution"; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo "$$dashes"; \
|
||||
echo "$$banner"; \
|
||||
echo "$$dashes"
|
||||
dist: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
dist-all: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
distdir: $(DISTFILES)
|
||||
-rm -rf $(distdir)
|
||||
mkdir $(distdir)
|
||||
-chmod 777 $(distdir)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
for subdir in $(DIST_SUBDIRS); do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test -d $(distdir)/$$subdir \
|
||||
|| mkdir $(distdir)/$$subdir \
|
||||
|| exit 1; \
|
||||
chmod 777 $(distdir)/$$subdir; \
|
||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
|
||||
info-am: $(INFO_DEPS)
|
||||
info: info-recursive
|
||||
dvi-am: $(DVIS)
|
||||
dvi: dvi-recursive
|
||||
check-am:
|
||||
check: check-recursive
|
||||
installcheck-am:
|
||||
installcheck: installcheck-recursive
|
||||
install-info-am:
|
||||
install-info: install-info-recursive
|
||||
install-exec-am:
|
||||
install-exec: install-exec-recursive
|
||||
|
||||
install-data-am:
|
||||
install-data: install-data-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-recursive
|
||||
uninstall-am:
|
||||
uninstall: uninstall-recursive
|
||||
all-am: Makefile $(LIBRARIES) $(DATA)
|
||||
all-redirect: all-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-aminfo mostlyclean-tags mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
clean-am: clean-noinstLIBRARIES clean-compile clean-aminfo clean-tags \
|
||||
clean-generic mostlyclean-am
|
||||
|
||||
clean: clean-recursive
|
||||
|
||||
distclean-am: distclean-noinstLIBRARIES distclean-compile \
|
||||
distclean-aminfo distclean-tags distclean-generic \
|
||||
clean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f config.status
|
||||
|
||||
maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-aminfo \
|
||||
maintainer-clean-tags maintainer-clean-generic \
|
||||
distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f config.status
|
||||
|
||||
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
|
||||
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
|
||||
mostlyclean-compile distclean-compile clean-compile \
|
||||
maintainer-clean-compile install-info-am uninstall-info \
|
||||
mostlyclean-aminfo distclean-aminfo clean-aminfo \
|
||||
maintainer-clean-aminfo install-data-recursive uninstall-data-recursive \
|
||||
install-exec-recursive uninstall-exec-recursive installdirs-recursive \
|
||||
uninstalldirs-recursive all-recursive check-recursive \
|
||||
installcheck-recursive info-recursive dvi-recursive \
|
||||
mostlyclean-recursive distclean-recursive clean-recursive \
|
||||
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
|
||||
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
|
||||
dvi-am dvi check check-am installcheck-am installcheck install-info-am \
|
||||
install-info install-exec-am install-exec install-data-am install-data \
|
||||
install-am install uninstall-am uninstall all-redirect all-am all \
|
||||
installdirs-am installdirs mostlyclean-generic distclean-generic \
|
||||
clean-generic maintainer-clean-generic clean mostlyclean distclean \
|
||||
maintainer-clean
|
||||
|
||||
|
||||
libc.a: $(SUBLIBS)
|
||||
rm -f $@
|
||||
rm -rf tmp
|
||||
mkdir tmp
|
||||
cd tmp; \
|
||||
for i in $(SUBLIBS); do \
|
||||
$(AR) x ../$$i; \
|
||||
done; \
|
||||
$(AR) $(AR_FLAGS) ../$@ *.o
|
||||
$(RANLIB) $@
|
||||
rm -rf tmp
|
||||
|
||||
$(SUBLIBS): ; @true
|
||||
|
||||
crt0.o: sys/crt0.o
|
||||
rm -f $@
|
||||
ln sys/crt0.o $@ >/dev/null 2>/dev/null || cp sys/crt0.o $@
|
||||
|
||||
sys/crt0.o: ; @true
|
||||
|
||||
libc.info: sigset.texi targetdep.tex $(SUBDEFS)
|
||||
|
||||
stmp-sigset: config.status
|
||||
if test -n "$(LIBC_SIGNAL_LIB)"; then \
|
||||
echo "@set SIGNALS" >tmp.texi; \
|
||||
else \
|
||||
echo "@clear SIGNALS" >tmp.texi; \
|
||||
fi
|
||||
$(SHELL) $(newlib_basedir)/../move-if-change tmp.texi sigset.texi
|
||||
touch $@
|
||||
|
||||
sigset.texi: stmp-sigset ; @true
|
||||
|
||||
stmp-targetdep: force
|
||||
rm -f tmp.texi
|
||||
targetdoc=`pwd`/tmp.texi; \
|
||||
for d in $(SUBDIRS); do \
|
||||
if test "$$d" != "."; then \
|
||||
(cd $$d && $(MAKE) TARGETDOC=$${targetdoc} doc) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
cat $(srcdir)/sys.tex >>tmp.texi
|
||||
$(SHELL) $(newlib_basedir)/../move-if-change tmp.texi targetdep.tex
|
||||
touch $@
|
||||
|
||||
targetdep.tex: stmp-targetdep ; @true
|
||||
|
||||
$(SUBDEFS): stmp-targetdep ; @true
|
||||
|
||||
.PHONY: force
|
||||
force:
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
282
newlib/libc/aclocal.m4
vendored
Normal file
282
newlib/libc/aclocal.m4
vendored
Normal file
@ -0,0 +1,282 @@
|
||||
dnl aclocal.m4 generated automatically by aclocal 1.4
|
||||
|
||||
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl This program is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
dnl PARTICULAR PURPOSE.
|
||||
|
||||
dnl This provides configure definitions used by all the newlib
|
||||
dnl configure.in files.
|
||||
|
||||
dnl Basic newlib configury. This calls basic introductory stuff,
|
||||
dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
|
||||
dnl configure.host. The only argument is the relative path to the top
|
||||
dnl newlib directory.
|
||||
|
||||
AC_DEFUN(NEWLIB_CONFIGURE,
|
||||
[
|
||||
dnl Default to --enable-multilib
|
||||
AC_ARG_ENABLE(multilib,
|
||||
[ --enable-multilib build many library versions (default)],
|
||||
[case "${enableval}" in
|
||||
yes) multilib=yes ;;
|
||||
no) multilib=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
|
||||
esac], [multilib=yes])dnl
|
||||
|
||||
dnl Support --enable-target-optspace
|
||||
AC_ARG_ENABLE(target-optspace,
|
||||
[ --enable-target-optspace optimize for space],
|
||||
[case "${enableval}" in
|
||||
yes) target_optspace=yes ;;
|
||||
no) target_optspace=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
|
||||
esac], [target_optspace=])dnl
|
||||
|
||||
dnl Support --enable-newlib-mb
|
||||
AC_ARG_ENABLE(newlib-mb,
|
||||
[ --enable-newlib-mb enable multibyte support],
|
||||
[case "${enableval}" in
|
||||
yes) newlib_mb=yes ;;
|
||||
no) newlib_mb=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
|
||||
esac], [newlib_mb=no])dnl
|
||||
|
||||
dnl We may get other options which we don't document:
|
||||
dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
|
||||
|
||||
test -z "[$]{with_target_subdir}" && with_target_subdir=.
|
||||
|
||||
if test "[$]{srcdir}" = "."; then
|
||||
if test "[$]{with_target_subdir}" != "."; then
|
||||
newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
|
||||
else
|
||||
newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
|
||||
fi
|
||||
else
|
||||
newlib_basedir="[$]{srcdir}/$1"
|
||||
fi
|
||||
AC_SUBST(newlib_basedir)
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
AM_INIT_AUTOMAKE(newlib, 1.8.1)
|
||||
|
||||
# FIXME: We temporarily define our own version of AC_PROG_CC. This is
|
||||
# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
|
||||
# are probably using a cross compiler, which will not be able to fully
|
||||
# link an executable. This should really be fixed in autoconf
|
||||
# itself.
|
||||
|
||||
AC_DEFUN(LIB_AC_PROG_CC,
|
||||
[AC_BEFORE([$0], [AC_PROG_CPP])dnl
|
||||
AC_CHECK_PROG(CC, gcc, gcc)
|
||||
if test -z "$CC"; then
|
||||
AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
|
||||
test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
fi
|
||||
|
||||
AC_PROG_CC_GNU
|
||||
|
||||
if test $ac_cv_prog_gcc = yes; then
|
||||
GCC=yes
|
||||
dnl Check whether -g works, even if CFLAGS is set, in case the package
|
||||
dnl plays around with CFLAGS (such as to build both debugging and
|
||||
dnl normal versions of a library), tasteless as that idea is.
|
||||
ac_test_CFLAGS="${CFLAGS+set}"
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS=
|
||||
AC_PROG_CC_G
|
||||
if test "$ac_test_CFLAGS" = set; then
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
elif test $ac_cv_prog_cc_g = yes; then
|
||||
CFLAGS="-g -O2"
|
||||
else
|
||||
CFLAGS="-O2"
|
||||
fi
|
||||
else
|
||||
GCC=
|
||||
test "${CFLAGS+set}" = set || CFLAGS="-g"
|
||||
fi
|
||||
])
|
||||
|
||||
LIB_AC_PROG_CC
|
||||
|
||||
# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
|
||||
# run it explicitly here, it will be run implicitly before
|
||||
# NEWLIB_CONFIGURE, which doesn't work because that means that it will
|
||||
# be run before AC_CANONICAL_HOST.
|
||||
AC_CANONICAL_BUILD
|
||||
|
||||
AC_CHECK_TOOL(AS, as)
|
||||
AC_CHECK_TOOL(AR, ar)
|
||||
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
||||
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
|
||||
# at least currently, we never actually build a program, so we never
|
||||
# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
|
||||
# fails, because we are probably configuring with a cross compiler
|
||||
# which can't create executables. So we include AC_EXEEXT to keep
|
||||
# automake happy, but we don't execute it, since we don't care about
|
||||
# the result.
|
||||
if false; then
|
||||
AC_EXEEXT
|
||||
fi
|
||||
|
||||
. [$]{newlib_basedir}/configure.host
|
||||
|
||||
case [$]{newlib_basedir} in
|
||||
/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
|
||||
*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
|
||||
esac
|
||||
|
||||
newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
|
||||
case "${host}" in
|
||||
*-*-cygwin*)
|
||||
newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
|
||||
;;
|
||||
esac
|
||||
|
||||
newlib_cflags="[$]{newlib_cflags} -fno-builtin"
|
||||
|
||||
NEWLIB_CFLAGS=${newlib_cflags}
|
||||
AC_SUBST(NEWLIB_CFLAGS)
|
||||
|
||||
AC_SUBST(machine_dir)
|
||||
AC_SUBST(sys_dir)
|
||||
])
|
||||
|
||||
# Do all the work for Automake. This macro actually does too much --
|
||||
# some checks are only needed if your package does certain things.
|
||||
# But this isn't really a big deal.
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl Usage:
|
||||
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
||||
|
||||
AC_DEFUN(AM_INIT_AUTOMAKE,
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])
|
||||
PACKAGE=[$1]
|
||||
AC_SUBST(PACKAGE)
|
||||
VERSION=[$2]
|
||||
AC_SUBST(VERSION)
|
||||
dnl test to see if srcdir already configured
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
ifelse([$3],,
|
||||
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
|
||||
AC_REQUIRE([AM_SANITY_CHECK])
|
||||
AC_REQUIRE([AC_ARG_PROGRAM])
|
||||
dnl FIXME This is truly gross.
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])])
|
||||
|
||||
#
|
||||
# Check to make sure that the build environment is sane.
|
||||
#
|
||||
|
||||
AC_DEFUN(AM_SANITY_CHECK,
|
||||
[AC_MSG_CHECKING([whether build environment is sane])
|
||||
# Just in case
|
||||
sleep 1
|
||||
echo timestamp > conftestfile
|
||||
# Do `set' in a subshell so we don't clobber the current shell's
|
||||
# arguments. Must try -L first in case configure is actually a
|
||||
# symlink; some systems play weird games with the mod time of symlinks
|
||||
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||
# directory).
|
||||
if (
|
||||
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
|
||||
if test "[$]*" = "X"; then
|
||||
# -L didn't work.
|
||||
set X `ls -t $srcdir/configure conftestfile`
|
||||
fi
|
||||
if test "[$]*" != "X $srcdir/configure conftestfile" \
|
||||
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
|
||||
|
||||
# If neither matched, then we have a broken ls. This can happen
|
||||
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||
# broken ls alias from the environment. This has actually
|
||||
# happened. Such a system could not be considered "sane".
|
||||
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||
alias in your environment])
|
||||
fi
|
||||
|
||||
test "[$]2" = conftestfile
|
||||
)
|
||||
then
|
||||
# Ok.
|
||||
:
|
||||
else
|
||||
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||
Check your system clock])
|
||||
fi
|
||||
rm -f conftest*
|
||||
AC_MSG_RESULT(yes)])
|
||||
|
||||
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
|
||||
dnl The program must properly implement --version.
|
||||
AC_DEFUN(AM_MISSING_PROG,
|
||||
[AC_MSG_CHECKING(for working $2)
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
if ($2 --version) < /dev/null > /dev/null 2>&1; then
|
||||
$1=$2
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
$1="$3/missing $2"
|
||||
AC_MSG_RESULT(missing)
|
||||
fi
|
||||
AC_SUBST($1)])
|
||||
|
||||
# Add --enable-maintainer-mode option to configure.
|
||||
# From Jim Meyering
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_MAINTAINER_MODE,
|
||||
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
dnl maintainer-mode is disabled by default
|
||||
AC_ARG_ENABLE(maintainer-mode,
|
||||
[ --enable-maintainer-mode enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer],
|
||||
USE_MAINTAINER_MODE=$enableval,
|
||||
USE_MAINTAINER_MODE=no)
|
||||
AC_MSG_RESULT($USE_MAINTAINER_MODE)
|
||||
AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
|
||||
MAINT=$MAINTAINER_MODE_TRUE
|
||||
AC_SUBST(MAINT)dnl
|
||||
]
|
||||
)
|
||||
|
||||
# Define a conditional.
|
||||
|
||||
AC_DEFUN(AM_CONDITIONAL,
|
||||
[AC_SUBST($1_TRUE)
|
||||
AC_SUBST($1_FALSE)
|
||||
if $2; then
|
||||
$1_TRUE=
|
||||
$1_FALSE='#'
|
||||
else
|
||||
$1_TRUE='#'
|
||||
$1_FALSE=
|
||||
fi])
|
||||
|
1887
newlib/libc/configure
vendored
Executable file
1887
newlib/libc/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
70
newlib/libc/configure.in
Normal file
70
newlib/libc/configure.in
Normal file
@ -0,0 +1,70 @@
|
||||
dnl This is the newlib/libc configure.in file.
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.5)
|
||||
AC_INIT(sys.tex)
|
||||
|
||||
dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
|
||||
AC_CONFIG_AUX_DIR(../..)
|
||||
|
||||
NEWLIB_CONFIGURE(..)
|
||||
|
||||
AC_CONFIG_SUBDIRS(machine sys)
|
||||
|
||||
CRT0=
|
||||
if test -n "${sys_dir}"; then
|
||||
CRT0=crt0.o
|
||||
fi
|
||||
AC_SUBST(CRT0)
|
||||
|
||||
dnl For each directory which we may or may not want, we define a name
|
||||
dnl for the library and an automake conditional for whether we should
|
||||
dnl build the library.
|
||||
|
||||
LIBC_POSIX_LIB=
|
||||
if test -n "${posix_dir}"; then
|
||||
LIBC_POSIX_LIB=${posix_dir}/lib.a
|
||||
fi
|
||||
AC_SUBST(LIBC_POSIX_LIB)
|
||||
AM_CONDITIONAL(HAVE_POSIX_DIR, test x${posix_dir} != x)
|
||||
|
||||
LIBC_SIGNAL_LIB=
|
||||
LIBC_SIGNAL_DEF=
|
||||
if test -n "${signal_dir}"; then
|
||||
LIBC_SIGNAL_LIB=${signal_dir}/lib.a
|
||||
LIBC_SIGNAL_DEF=${signal_dir}/stmp-def
|
||||
fi
|
||||
AC_SUBST(LIBC_SIGNAL_LIB)
|
||||
AC_SUBST(LIBC_SIGNAL_DEF)
|
||||
AM_CONDITIONAL(HAVE_SIGNAL_DIR, test x${signal_dir} != x)
|
||||
|
||||
LIBC_SYSCALL_LIB=
|
||||
if test -n "${syscall_dir}"; then
|
||||
LIBC_SYSCALL_LIB=${syscall_dir}/lib.a
|
||||
fi
|
||||
AC_SUBST(LIBC_SYSCALL_LIB)
|
||||
AM_CONDITIONAL(HAVE_SYSCALL_DIR, test x${syscall_dir} != x)
|
||||
|
||||
LIBC_UNIX_LIB=
|
||||
if test -n "${unix_dir}"; then
|
||||
LIBC_UNIX_LIB=${unix_dir}/lib.a
|
||||
fi
|
||||
AC_SUBST(LIBC_UNIX_LIB)
|
||||
AM_CONDITIONAL(HAVE_UNIX_DIR, test x${unix_dir} != x)
|
||||
|
||||
dnl We always recur into sys and machine, and let them decide what to
|
||||
dnl do. However, we do need to know whether they will produce a library.
|
||||
|
||||
LIBC_SYS_LIB=
|
||||
if test -n "${sys_dir}"; then
|
||||
LIBC_SYS_LIB=sys/lib.a
|
||||
fi
|
||||
AC_SUBST(LIBC_SYS_LIB)
|
||||
|
||||
LIBC_MACHINE_LIB=
|
||||
if test -n "${machine_dir}"; then
|
||||
LIBC_MACHINE_LIB=machine/lib.a
|
||||
fi
|
||||
AC_SUBST(LIBC_MACHINE_LIB)
|
||||
|
||||
AC_OUTPUT(Makefile ctype/Makefile errno/Makefile locale/Makefile misc/Makefile reent/Makefile stdio/Makefile stdlib/Makefile string/Makefile time/Makefile posix/Makefile signal/Makefile syscalls/Makefile unix/Makefile)
|
57
newlib/libc/ctype/Makefile.am
Normal file
57
newlib/libc/ctype/Makefile.am
Normal file
@ -0,0 +1,57 @@
|
||||
## Process this file with automake to generate Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
noinst_LIBRARIES = lib.a
|
||||
|
||||
lib_a_SOURCES = \
|
||||
ctype_.c \
|
||||
isalnum.c \
|
||||
isalpha.c \
|
||||
isascii.c \
|
||||
iscntrl.c \
|
||||
isdigit.c \
|
||||
islower.c \
|
||||
isupper.c \
|
||||
isprint.c \
|
||||
ispunct.c \
|
||||
isspace.c \
|
||||
isxdigit.c \
|
||||
toascii.c \
|
||||
tolower.c \
|
||||
toupper.c \
|
||||
_tolower.c \
|
||||
_toupper.c
|
||||
|
||||
CHEWOUT_FILES= \
|
||||
isalnum.def \
|
||||
isalpha.def \
|
||||
isascii.def \
|
||||
iscntrl.def \
|
||||
isdigit.def \
|
||||
islower.def \
|
||||
isprint.def \
|
||||
ispunct.def \
|
||||
isspace.def \
|
||||
isupper.def \
|
||||
isxdigit.def \
|
||||
toascii.def \
|
||||
tolower.def \
|
||||
toupper.def
|
||||
|
||||
SUFFIXES = .def
|
||||
|
||||
CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
|
||||
|
||||
.c.def:
|
||||
$(CHEW) < $< > $*.def 2> $*.ref
|
||||
touch stmp-def
|
||||
|
||||
TARGETDOC = ../tmp.texi
|
||||
|
||||
doc: $(CHEWOUT_FILES)
|
||||
cat $(srcdir)/ctype.tex >> $(TARGETDOC)
|
||||
|
||||
CLEANFILES = $(CHEWOUT_FILES) *.ref
|
332
newlib/libc/ctype/Makefile.in
Normal file
332
newlib/libc/ctype/Makefile.in
Normal file
@ -0,0 +1,332 @@
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
CC = @CC@
|
||||
CPP = @CPP@
|
||||
CRT0 = @CRT0@
|
||||
EXEEXT = @EXEEXT@
|
||||
LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
|
||||
LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
|
||||
LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
|
||||
LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
|
||||
LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
|
||||
LIBC_SYS_LIB = @LIBC_SYS_LIB@
|
||||
LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
machine_dir = @machine_dir@
|
||||
newlib_basedir = @newlib_basedir@
|
||||
sys_dir = @sys_dir@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
noinst_LIBRARIES = lib.a
|
||||
|
||||
lib_a_SOURCES = \
|
||||
ctype_.c \
|
||||
isalnum.c \
|
||||
isalpha.c \
|
||||
isascii.c \
|
||||
iscntrl.c \
|
||||
isdigit.c \
|
||||
islower.c \
|
||||
isupper.c \
|
||||
isprint.c \
|
||||
ispunct.c \
|
||||
isspace.c \
|
||||
isxdigit.c \
|
||||
toascii.c \
|
||||
tolower.c \
|
||||
toupper.c \
|
||||
_tolower.c \
|
||||
_toupper.c
|
||||
|
||||
|
||||
CHEWOUT_FILES = \
|
||||
isalnum.def \
|
||||
isalpha.def \
|
||||
isascii.def \
|
||||
iscntrl.def \
|
||||
isdigit.def \
|
||||
islower.def \
|
||||
isprint.def \
|
||||
ispunct.def \
|
||||
isspace.def \
|
||||
isupper.def \
|
||||
isxdigit.def \
|
||||
toascii.def \
|
||||
tolower.def \
|
||||
toupper.def
|
||||
|
||||
|
||||
SUFFIXES = .def
|
||||
|
||||
CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
|
||||
|
||||
TARGETDOC = ../tmp.texi
|
||||
|
||||
CLEANFILES = $(CHEWOUT_FILES) *.ref
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
LIBRARIES = $(noinst_LIBRARIES)
|
||||
|
||||
|
||||
DEFS = @DEFS@ -I. -I$(srcdir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
lib_a_LIBADD =
|
||||
lib_a_OBJECTS = ctype_.o isalnum.o isalpha.o isascii.o iscntrl.o \
|
||||
isdigit.o islower.o isupper.o isprint.o ispunct.o isspace.o isxdigit.o \
|
||||
toascii.o tolower.o toupper.o _tolower.o _toupper.o
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(lib_a_SOURCES)
|
||||
OBJECTS = $(lib_a_OBJECTS)
|
||||
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .c .def .o .s
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --cygnus ctype/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
|
||||
mostlyclean-noinstLIBRARIES:
|
||||
|
||||
clean-noinstLIBRARIES:
|
||||
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
||||
|
||||
distclean-noinstLIBRARIES:
|
||||
|
||||
maintainer-clean-noinstLIBRARIES:
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.s.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.S.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.o core *.core
|
||||
|
||||
clean-compile:
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
maintainer-clean-compile:
|
||||
|
||||
lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
|
||||
-rm -f lib.a
|
||||
$(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
|
||||
$(RANLIB) lib.a
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $$unique $(LISP)
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
subdir = ctype
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
info-am:
|
||||
info: info-am
|
||||
dvi-am:
|
||||
dvi: dvi-am
|
||||
check-am:
|
||||
check: check-am
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
install-info-am:
|
||||
install-info: install-info-am
|
||||
install-exec-am:
|
||||
install-exec: install-exec-am
|
||||
|
||||
install-data-am:
|
||||
install-data: install-data-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-am
|
||||
uninstall-am:
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(LIBRARIES)
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs:
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-tags mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
|
||||
mostlyclean-am
|
||||
|
||||
clean: clean-am
|
||||
|
||||
distclean-am: distclean-noinstLIBRARIES distclean-compile \
|
||||
distclean-tags distclean-generic clean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-tags \
|
||||
maintainer-clean-generic distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
|
||||
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
|
||||
mostlyclean-compile distclean-compile clean-compile \
|
||||
maintainer-clean-compile tags mostlyclean-tags distclean-tags \
|
||||
clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
|
||||
check-am installcheck-am installcheck install-info-am install-info \
|
||||
install-exec-am install-exec install-data-am install-data install-am \
|
||||
install uninstall-am uninstall all-redirect all-am all installdirs \
|
||||
mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
.c.def:
|
||||
$(CHEW) < $< > $*.def 2> $*.ref
|
||||
touch stmp-def
|
||||
|
||||
doc: $(CHEWOUT_FILES)
|
||||
cat $(srcdir)/ctype.tex >> $(TARGETDOC)
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
9
newlib/libc/ctype/_tolower.c
Normal file
9
newlib/libc/ctype/_tolower.c
Normal file
@ -0,0 +1,9 @@
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#undef _tolower
|
||||
int
|
||||
_DEFUN(_tolower,(c),int c)
|
||||
{
|
||||
return isupper(c) ? (c) - 'A' + 'a' : c;
|
||||
}
|
9
newlib/libc/ctype/_toupper.c
Normal file
9
newlib/libc/ctype/_toupper.c
Normal file
@ -0,0 +1,9 @@
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#undef _toupper
|
||||
int
|
||||
_DEFUN(_toupper,(c),int c)
|
||||
{
|
||||
return islower(c) ? c - 'a' + 'A' : c;
|
||||
}
|
68
newlib/libc/ctype/ctype.tex
Normal file
68
newlib/libc/ctype/ctype.tex
Normal file
@ -0,0 +1,68 @@
|
||||
@node Ctype
|
||||
@chapter Character Type Macros and Functions (@file{ctype.h})
|
||||
This chapter groups macros (which are also available as subroutines)
|
||||
to classify characters into several categories (alphabetic,
|
||||
numeric, control characters, whitespace, and so on), or to perform
|
||||
simple character mappings.
|
||||
|
||||
The header file @file{ctype.h} defines the macros.
|
||||
@menu
|
||||
* isalnum:: Alphanumeric character predicate
|
||||
* isalpha:: Alphabetic character predicate
|
||||
* isascii:: ASCII character predicate
|
||||
* iscntrl:: Control character predicate
|
||||
* isdigit:: Decimal digit predicate
|
||||
* islower:: Lower-case character predicate
|
||||
* isprint:: Printable character predicates (isprint, isgraph)
|
||||
* ispunct:: Punctuation character predicate
|
||||
* isspace:: Whitespace character predicate
|
||||
* isupper:: Uppercase character predicate
|
||||
* isxdigit:: Hexadecimal digit predicate
|
||||
* toascii:: Force integers to ASCII range
|
||||
* tolower:: Translate characters to lower case
|
||||
* toupper:: Translate characters to upper case
|
||||
@end menu
|
||||
|
||||
@page
|
||||
@include ctype/isalnum.def
|
||||
|
||||
@page
|
||||
@include ctype/isalpha.def
|
||||
|
||||
@page
|
||||
@include ctype/isascii.def
|
||||
|
||||
@page
|
||||
@include ctype/iscntrl.def
|
||||
|
||||
@page
|
||||
@include ctype/isdigit.def
|
||||
|
||||
@page
|
||||
@include ctype/islower.def
|
||||
|
||||
@page
|
||||
@include ctype/isprint.def
|
||||
|
||||
@page
|
||||
@include ctype/ispunct.def
|
||||
|
||||
@page
|
||||
@include ctype/isspace.def
|
||||
|
||||
@page
|
||||
@include ctype/isupper.def
|
||||
|
||||
@page
|
||||
@include ctype/isxdigit.def
|
||||
|
||||
@page
|
||||
@include ctype/toascii.def
|
||||
|
||||
@page
|
||||
@include ctype/tolower.def
|
||||
|
||||
@page
|
||||
@include ctype/toupper.def
|
||||
|
||||
|
62
newlib/libc/ctype/ctype_.c
Normal file
62
newlib/libc/ctype/ctype_.c
Normal file
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Copyright (c) 1989 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
static char sccsid[] = "@(#)ctype_.c 5.6 (Berkeley) 6/1/90";
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
#if defined(__CYGWIN__) || defined(__CYGWIN32__)
|
||||
_CONST char __declspec(dllexport) _ctype_[1 + 256] = {
|
||||
#else
|
||||
_CONST char _ctype_[1 + 256] = {
|
||||
#endif
|
||||
0,
|
||||
_C, _C, _C, _C, _C, _C, _C, _C,
|
||||
_C, _C|_S, _C|_S, _C|_S, _C|_S, _C|_S, _C, _C,
|
||||
_C, _C, _C, _C, _C, _C, _C, _C,
|
||||
_C, _C, _C, _C, _C, _C, _C, _C,
|
||||
_S|_B, _P, _P, _P, _P, _P, _P, _P,
|
||||
_P, _P, _P, _P, _P, _P, _P, _P,
|
||||
_N, _N, _N, _N, _N, _N, _N, _N,
|
||||
_N, _N, _P, _P, _P, _P, _P, _P,
|
||||
_P, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U,
|
||||
_U, _U, _U, _U, _U, _U, _U, _U,
|
||||
_U, _U, _U, _U, _U, _U, _U, _U,
|
||||
_U, _U, _U, _P, _P, _P, _P, _P,
|
||||
_P, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L,
|
||||
_L, _L, _L, _L, _L, _L, _L, _L,
|
||||
_L, _L, _L, _L, _L, _L, _L, _L,
|
||||
_L, _L, _L, _P, _P, _P, _P, _C
|
||||
};
|
46
newlib/libc/ctype/isalnum.c
Normal file
46
newlib/libc/ctype/isalnum.c
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
FUNCTION
|
||||
<<isalnum>>---alphanumeric character predicate
|
||||
|
||||
INDEX
|
||||
isalnum
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isalnum(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isalnum(<[c]>);
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
<<isalnum>> is a macro which classifies ASCII integer values by table
|
||||
lookup. It is a predicate returning non-zero for alphabetic or
|
||||
numeric ASCII characters, and <<0>> for other arguments. It is defined
|
||||
for all integer values.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining the macro using `<<#undef isalnum>>'.
|
||||
|
||||
RETURNS
|
||||
<<isalnum>> returns non-zero if <[c]> is a letter (<<a>>--<<z>> or
|
||||
<<A>>--<<Z>>) or a digit (<<0>>--<<9>>).
|
||||
|
||||
PORTABILITY
|
||||
<<isalnum>> is ANSI C.
|
||||
|
||||
No OS subroutines are required.
|
||||
*/
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#undef isalnum
|
||||
|
||||
int
|
||||
_DEFUN(isalnum,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & (_U|_L|_N));
|
||||
}
|
||||
|
44
newlib/libc/ctype/isalpha.c
Normal file
44
newlib/libc/ctype/isalpha.c
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
FUNCTION
|
||||
<<isalpha>>---alphabetic character predicate
|
||||
|
||||
INDEX
|
||||
isalpha
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isalpha(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isalpha(<[c]>);
|
||||
|
||||
DESCRIPTION
|
||||
<<isalpha>> is a macro which classifies ASCII integer values by table
|
||||
lookup. It is a predicate returning non-zero when <[c]> represents an
|
||||
alphabetic ASCII character, and 0 otherwise. It is defined only when
|
||||
<<isascii>>(<[c]>) is true or <[c]> is EOF.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining the macro using `<<#undef isalpha>>'.
|
||||
|
||||
RETURNS
|
||||
<<isalpha>> returns non-zero if <[c]> is a letter (<<A>>--<<Z>> or
|
||||
<<a>>--<<z>>).
|
||||
|
||||
PORTABILITY
|
||||
<<isalpha>> is ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#undef isalpha
|
||||
int
|
||||
_DEFUN(isalpha,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & (_U|_L));
|
||||
}
|
||||
|
43
newlib/libc/ctype/isascii.c
Normal file
43
newlib/libc/ctype/isascii.c
Normal file
@ -0,0 +1,43 @@
|
||||
/*
|
||||
FUNCTION
|
||||
<<isascii>>---ASCII character predicate
|
||||
|
||||
INDEX
|
||||
isascii
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isascii(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isascii(<[c]>);
|
||||
|
||||
DESCRIPTION
|
||||
<<isascii>> is a macro which returns non-zero when <[c]> is an ASCII
|
||||
character, and 0 otherwise. It is defined for all integer values.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining the macro using `<<#undef isascii>>'.
|
||||
|
||||
RETURNS
|
||||
<<isascii>> returns non-zero if the low order byte of <[c]> is in the range
|
||||
0 to 127 (<<0x00>>--<<0x7F>>).
|
||||
|
||||
PORTABILITY
|
||||
<<isascii>> is ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
|
||||
|
||||
#undef isascii
|
||||
|
||||
int
|
||||
_DEFUN(isascii,(c),int c)
|
||||
{
|
||||
return c >= 0 && c< 128;
|
||||
}
|
48
newlib/libc/ctype/iscntrl.c
Normal file
48
newlib/libc/ctype/iscntrl.c
Normal file
@ -0,0 +1,48 @@
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
<<iscntrl>>---control character predicate
|
||||
|
||||
INDEX
|
||||
iscntrl
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int iscntrl(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int iscntrl(<[c]>);
|
||||
|
||||
DESCRIPTION
|
||||
<<iscntrl>> is a macro which classifies ASCII integer values by table
|
||||
lookup. It is a predicate returning non-zero for control characters, and 0
|
||||
for other characters. It is defined only when <<isascii>>(<[c]>) is
|
||||
true or <[c]> is EOF.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining the macro using `<<#undef iscntrl>>'.
|
||||
|
||||
RETURNS
|
||||
<<iscntrl>> returns non-zero if <[c]> is a delete character or ordinary
|
||||
control character (<<0x7F>> or <<0x00>>--<<0x1F>>).
|
||||
|
||||
PORTABILITY
|
||||
<<iscntrl>> is ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
|
||||
|
||||
#undef iscntrl
|
||||
int
|
||||
_DEFUN(iscntrl,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _C);
|
||||
}
|
||||
|
||||
|
43
newlib/libc/ctype/isdigit.c
Normal file
43
newlib/libc/ctype/isdigit.c
Normal file
@ -0,0 +1,43 @@
|
||||
/*
|
||||
FUNCTION
|
||||
<<isdigit>>---decimal digit predicate
|
||||
|
||||
INDEX
|
||||
isdigit
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isdigit(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isdigit(<[c]>);
|
||||
|
||||
DESCRIPTION
|
||||
<<isdigit>> is a macro which classifies ASCII integer values by table
|
||||
lookup. It is a predicate returning non-zero for decimal digits, and 0 for
|
||||
other characters. It is defined only when <<isascii>>(<[c]>) is true
|
||||
or <[c]> is EOF.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining the macro using `<<#undef isdigit>>'.
|
||||
|
||||
RETURNS
|
||||
<<isdigit>> returns non-zero if <[c]> is a decimal digit (<<0>>--<<9>>).
|
||||
|
||||
PORTABILITY
|
||||
<<isdigit>> is ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
|
||||
#undef isdigit
|
||||
int
|
||||
_DEFUN(isdigit,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _N);
|
||||
}
|
43
newlib/libc/ctype/islower.c
Normal file
43
newlib/libc/ctype/islower.c
Normal file
@ -0,0 +1,43 @@
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
<<islower>>---lower-case character predicate
|
||||
|
||||
INDEX
|
||||
islower
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int islower(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int islower(<[c]>);
|
||||
|
||||
DESCRIPTION
|
||||
<<islower>> is a macro which classifies ASCII integer values by table
|
||||
lookup. It is a predicate returning non-zero for minuscules
|
||||
(lower-case alphabetic characters), and 0 for other characters.
|
||||
It is defined only when <<isascii>>(<[c]>) is true or <[c]> is EOF.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining the macro using `<<#undef islower>>'.
|
||||
|
||||
RETURNS
|
||||
<<islower>> returns non-zero if <[c]> is a lower case letter (<<a>>--<<z>>).
|
||||
|
||||
PORTABILITY
|
||||
<<islower>> is ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#undef islower
|
||||
int
|
||||
_DEFUN(islower,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _L);
|
||||
}
|
||||
|
60
newlib/libc/ctype/isprint.c
Normal file
60
newlib/libc/ctype/isprint.c
Normal file
@ -0,0 +1,60 @@
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
<<isprint>>, <<isgraph>>---printable character predicates
|
||||
|
||||
INDEX
|
||||
isprint
|
||||
INDEX
|
||||
isgraph
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isprint(int <[c]>);
|
||||
int isgraph(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isprint(<[c]>);
|
||||
int isgraph(<[c]>);
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
<<isprint>> is a macro which classifies ASCII integer values by table
|
||||
lookup. It is a predicate returning non-zero for printable
|
||||
characters, and 0 for other character arguments.
|
||||
It is defined only when <<isascii>>(<[c]>) is true or <[c]> is EOF.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining either macro using `<<#undef isprint>>' or `<<#undef isgraph>>'.
|
||||
|
||||
RETURNS
|
||||
<<isprint>> returns non-zero if <[c]> is a printing character,
|
||||
(<<0x20>>--<<0x7E>>).
|
||||
<<isgraph>> behaves identically to <<isprint>>, except that the space
|
||||
character (<<0x20>>) is excluded.
|
||||
|
||||
PORTABILITY
|
||||
<<isprint>> and <<isgraph>> are ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#undef isgraph
|
||||
int
|
||||
_DEFUN(isgraph,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & (_P|_U|_L|_N));
|
||||
}
|
||||
|
||||
|
||||
#undef isprint
|
||||
int
|
||||
_DEFUN(isprint,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & (_P|_U|_L|_N|_B));
|
||||
}
|
||||
|
46
newlib/libc/ctype/ispunct.c
Normal file
46
newlib/libc/ctype/ispunct.c
Normal file
@ -0,0 +1,46 @@
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
<<ispunct>>---punctuation character predicate
|
||||
|
||||
INDEX
|
||||
ispunct
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int ispunct(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int ispunct(<[c]>);
|
||||
|
||||
DESCRIPTION
|
||||
<<ispunct>> is a macro which classifies ASCII integer values by table
|
||||
lookup. It is a predicate returning non-zero for printable
|
||||
punctuation characters, and 0 for other characters. It is defined
|
||||
only when <<isascii>>(<[c]>) is true or <[c]> is EOF.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining the macro using `<<#undef ispunct>>'.
|
||||
|
||||
RETURNS
|
||||
<<ispunct>> returns non-zero if <[c]> is a printable punctuation character
|
||||
(<<isgraph(<[c]>) && !isalnum(<[c]>)>>).
|
||||
|
||||
PORTABILITY
|
||||
<<ispunct>> is ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
|
||||
#undef ispunct
|
||||
int
|
||||
_DEFUN(ispunct,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _P);
|
||||
}
|
||||
|
44
newlib/libc/ctype/isspace.c
Normal file
44
newlib/libc/ctype/isspace.c
Normal file
@ -0,0 +1,44 @@
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
<<isspace>>---whitespace character predicate
|
||||
|
||||
INDEX
|
||||
isspace
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isspace(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isspace(<[c]>);
|
||||
|
||||
DESCRIPTION
|
||||
<<isspace>> is a macro which classifies ASCII integer values by table
|
||||
lookup. It is a predicate returning non-zero for whitespace
|
||||
characters, and 0 for other characters. It is defined only when <<isascii>>(<[c]>) is true or <[c]> is EOF.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining the macro using `<<#undef isspace>>'.
|
||||
|
||||
RETURNS
|
||||
<<isspace>> returns non-zero if <[c]> is a space, tab, carriage return, new
|
||||
line, vertical tab, or formfeed (<<0x09>>--<<0x0D>>, <<0x20>>).
|
||||
|
||||
PORTABILITY
|
||||
<<isspace>> is ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
|
||||
#undef isspace
|
||||
int
|
||||
_DEFUN(isspace,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _S);
|
||||
}
|
||||
|
43
newlib/libc/ctype/isupper.c
Normal file
43
newlib/libc/ctype/isupper.c
Normal file
@ -0,0 +1,43 @@
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
<<isupper>>---uppercase character predicate
|
||||
|
||||
INDEX
|
||||
isupper
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isupper(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isupper(<[c]>);
|
||||
|
||||
DESCRIPTION
|
||||
<<isupper>> is a macro which classifies ASCII integer values by table
|
||||
lookup. It is a predicate returning non-zero for upper-case letters
|
||||
(<<A>>--<<Z>>), and 0 for other characters. It is defined only when
|
||||
<<isascii>>(<[c]>) is true or <[c]> is EOF.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining the macro using `<<#undef isupper>>'.
|
||||
|
||||
RETURNS
|
||||
<<isupper>> returns non-zero if <[c]> is a upper case letter (A-Z).
|
||||
|
||||
PORTABILITY
|
||||
<<isupper>> is ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#undef isupper
|
||||
int
|
||||
_DEFUN(isupper,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & _U);
|
||||
}
|
||||
|
45
newlib/libc/ctype/isxdigit.c
Normal file
45
newlib/libc/ctype/isxdigit.c
Normal file
@ -0,0 +1,45 @@
|
||||
|
||||
/*
|
||||
FUNCTION
|
||||
<<isxdigit>>---hexadecimal digit predicate
|
||||
|
||||
INDEX
|
||||
isxdigit
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isxdigit(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int isxdigit(int <[c]>);
|
||||
|
||||
DESCRIPTION
|
||||
<<isxdigit>> is a macro which classifies ASCII integer values by table
|
||||
lookup. It is a predicate returning non-zero for hexadecimal digits,
|
||||
and <<0>> for other characters. It is defined only when
|
||||
<<isascii>>(<[c]>) is true or <[c]> is EOF.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining the macro using `<<#undef isxdigit>>'.
|
||||
|
||||
RETURNS
|
||||
<<isxdigit>> returns non-zero if <[c]> is a hexadecimal digit
|
||||
(<<0>>--<<9>>, <<a>>--<<f>>, or <<A>>--<<F>>).
|
||||
|
||||
PORTABILITY
|
||||
<<isxdigit>> is ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
|
||||
#undef isxdigit
|
||||
int
|
||||
_DEFUN(isxdigit,(c),int c)
|
||||
{
|
||||
return((_ctype_ + 1)[c] & ((_X)|(_N)));
|
||||
}
|
||||
|
41
newlib/libc/ctype/toascii.c
Normal file
41
newlib/libc/ctype/toascii.c
Normal file
@ -0,0 +1,41 @@
|
||||
/*
|
||||
FUNCTION
|
||||
<<toascii>>---force integers to ASCII range
|
||||
|
||||
INDEX
|
||||
toascii
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int toascii(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int toascii(<[c]>);
|
||||
int (<[c]>);
|
||||
|
||||
DESCRIPTION
|
||||
<<toascii>> is a macro which coerces integers to the ASCII range (0--127) by zeroing any higher-order bits.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining this macro using `<<#undef toascii>>'.
|
||||
|
||||
RETURNS
|
||||
<<toascii>> returns integers between 0 and 127.
|
||||
|
||||
PORTABILITY
|
||||
<<toascii>> is not ANSI C.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
#undef toascii
|
||||
|
||||
int
|
||||
_DEFUN(toascii,(c),int c)
|
||||
{
|
||||
return (c)&0177;
|
||||
}
|
||||
|
55
newlib/libc/ctype/tolower.c
Normal file
55
newlib/libc/ctype/tolower.c
Normal file
@ -0,0 +1,55 @@
|
||||
/*
|
||||
FUNCTION
|
||||
<<tolower>>---translate characters to lower case
|
||||
|
||||
INDEX
|
||||
tolower
|
||||
INDEX
|
||||
_tolower
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int tolower(int <[c]>);
|
||||
int _tolower(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int tolower(<[c]>);
|
||||
int _tolower(<[c]>);
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
<<tolower>> is a macro which converts upper-case characters to lower
|
||||
case, leaving all other characters unchanged. It is only defined when
|
||||
<[c]> is an integer in the range <<EOF>> to <<255>>.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining this macro using `<<#undef tolower>>'.
|
||||
|
||||
<<_tolower>> performs the same conversion as <<tolower>>, but should
|
||||
only be used when <[c]> is known to be an uppercase character (<<A>>--<<Z>>).
|
||||
|
||||
RETURNS
|
||||
<<tolower>> returns the lower-case equivalent of <[c]> when it is a
|
||||
character between <<A>> and <<Z>>, and <[c]> otherwise.
|
||||
|
||||
<<_tolower>> returns the lower-case equivalent of <[c]> when it is a
|
||||
character between <<A>> and <<Z>>. If <[c]> is not one of these
|
||||
characters, the behaviour of <<_tolower>> is undefined.
|
||||
|
||||
PORTABILITY
|
||||
<<tolower>> is ANSI C. <<_tolower>> is not recommended for portable
|
||||
programs.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#undef tolower
|
||||
int
|
||||
_DEFUN(tolower,(c),int c)
|
||||
{
|
||||
return isupper(c) ? (c) - 'A' + 'a' : c;
|
||||
}
|
54
newlib/libc/ctype/toupper.c
Normal file
54
newlib/libc/ctype/toupper.c
Normal file
@ -0,0 +1,54 @@
|
||||
/*
|
||||
FUNCTION
|
||||
<<toupper>>---translate characters to upper case
|
||||
|
||||
INDEX
|
||||
toupper
|
||||
INDEX
|
||||
_toupper
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int toupper(int <[c]>);
|
||||
int _toupper(int <[c]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <ctype.h>
|
||||
int toupper(<[c]>);
|
||||
int _toupper(<[c]>);
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
<<toupper>> is a macro which converts lower-case characters to upper
|
||||
case, leaving all other characters unchanged. It is only defined when
|
||||
<[c]> is an integer in the range <<EOF>> to <<255>>.
|
||||
|
||||
You can use a compiled subroutine instead of the macro definition by
|
||||
undefining this macro using `<<#undef toupper>>'.
|
||||
|
||||
<<_toupper>> performs the same conversion as <<toupper>>, but should
|
||||
only be used when <[c]> is known to be a lowercase character (<<a>>--<<z>>).
|
||||
|
||||
RETURNS
|
||||
<<toupper>> returns the upper-case equivalent of <[c]> when it is a
|
||||
character between <<a>> and <<z>>, and <[c]> otherwise.
|
||||
|
||||
<<_toupper>> returns the upper-case equivalent of <[c]> when it is a
|
||||
character between <<a>> and <<z>>. If <[c]> is not one of these
|
||||
characters, the behaviour of <<_toupper>> is undefined.
|
||||
|
||||
PORTABILITY
|
||||
<<toupper>> is ANSI C. <<_toupper>> is not recommended for portable programs.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#undef toupper
|
||||
int
|
||||
_DEFUN(toupper,(c),int c)
|
||||
{
|
||||
return islower(c) ? c - 'a' + 'A' : c;
|
||||
}
|
26
newlib/libc/errno/Makefile.am
Normal file
26
newlib/libc/errno/Makefile.am
Normal file
@ -0,0 +1,26 @@
|
||||
## Process this file with automake to generate Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
noinst_LIBRARIES = lib.a
|
||||
|
||||
lib_a_SOURCES = errno.c
|
||||
|
||||
CHEWOUT_FILES =
|
||||
|
||||
SUFFIXES = .def
|
||||
|
||||
CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
|
||||
|
||||
.c.def:
|
||||
$(CHEW) < $< > $*.def 2> $*.ref
|
||||
touch stmp-def
|
||||
|
||||
TARGETDOC = ../tmp.texi
|
||||
|
||||
# No doc for errno.
|
||||
doc:
|
||||
|
||||
CLEANFILES = $(CHEWOUT_FILES) *.ref
|
297
newlib/libc/errno/Makefile.in
Normal file
297
newlib/libc/errno/Makefile.in
Normal file
@ -0,0 +1,297 @@
|
||||
# Makefile.in generated automatically by automake 1.4 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = ..
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
CC = @CC@
|
||||
CPP = @CPP@
|
||||
CRT0 = @CRT0@
|
||||
EXEEXT = @EXEEXT@
|
||||
LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
|
||||
LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
|
||||
LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
|
||||
LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
|
||||
LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
|
||||
LIBC_SYS_LIB = @LIBC_SYS_LIB@
|
||||
LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
machine_dir = @machine_dir@
|
||||
newlib_basedir = @newlib_basedir@
|
||||
sys_dir = @sys_dir@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
noinst_LIBRARIES = lib.a
|
||||
|
||||
lib_a_SOURCES = errno.c
|
||||
|
||||
CHEWOUT_FILES =
|
||||
|
||||
SUFFIXES = .def
|
||||
|
||||
CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
|
||||
|
||||
TARGETDOC = ../tmp.texi
|
||||
|
||||
CLEANFILES = $(CHEWOUT_FILES) *.ref
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
LIBRARIES = $(noinst_LIBRARIES)
|
||||
|
||||
|
||||
DEFS = @DEFS@ -I. -I$(srcdir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
lib_a_LIBADD =
|
||||
lib_a_OBJECTS = errno.o
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(lib_a_SOURCES)
|
||||
OBJECTS = $(lib_a_OBJECTS)
|
||||
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .c .def .o .s
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --cygnus errno/Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
|
||||
mostlyclean-noinstLIBRARIES:
|
||||
|
||||
clean-noinstLIBRARIES:
|
||||
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
||||
|
||||
distclean-noinstLIBRARIES:
|
||||
|
||||
maintainer-clean-noinstLIBRARIES:
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.s.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.S.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.o core *.core
|
||||
|
||||
clean-compile:
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
maintainer-clean-compile:
|
||||
|
||||
lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
|
||||
-rm -f lib.a
|
||||
$(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
|
||||
$(RANLIB) lib.a
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $$unique $(LISP)
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
subdir = errno
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
cp -pr $$/$$file $(distdir)/$$file; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file || :; \
|
||||
fi; \
|
||||
done
|
||||
info-am:
|
||||
info: info-am
|
||||
dvi-am:
|
||||
dvi: dvi-am
|
||||
check-am:
|
||||
check: check-am
|
||||
installcheck-am:
|
||||
installcheck: installcheck-am
|
||||
install-info-am:
|
||||
install-info: install-info-am
|
||||
install-exec-am:
|
||||
install-exec: install-exec-am
|
||||
|
||||
install-data-am:
|
||||
install-data: install-data-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
install: install-am
|
||||
uninstall-am:
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(LIBRARIES)
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs:
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
|
||||
maintainer-clean-generic:
|
||||
mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-tags mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
|
||||
mostlyclean-am
|
||||
|
||||
clean: clean-am
|
||||
|
||||
distclean-am: distclean-noinstLIBRARIES distclean-compile \
|
||||
distclean-tags distclean-generic clean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-tags \
|
||||
maintainer-clean-generic distclean-am
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
|
||||
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
|
||||
mostlyclean-compile distclean-compile clean-compile \
|
||||
maintainer-clean-compile tags mostlyclean-tags distclean-tags \
|
||||
clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
|
||||
check-am installcheck-am installcheck install-info-am install-info \
|
||||
install-exec-am install-exec install-data-am install-data install-am \
|
||||
install uninstall-am uninstall all-redirect all-am all installdirs \
|
||||
mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
.c.def:
|
||||
$(CHEW) < $< > $*.def 2> $*.ref
|
||||
touch stmp-def
|
||||
|
||||
# No doc for errno.
|
||||
doc:
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
16
newlib/libc/errno/errno.c
Normal file
16
newlib/libc/errno/errno.c
Normal file
@ -0,0 +1,16 @@
|
||||
/* The errno variable is stored in the reentrancy structure. This
|
||||
function returns its address for use by the macro errno defined in
|
||||
errno.h. */
|
||||
|
||||
#include <errno.h>
|
||||
#include <reent.h>
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
|
||||
int *
|
||||
__errno ()
|
||||
{
|
||||
return &_REENT->_errno;
|
||||
}
|
||||
|
||||
#endif
|
71
newlib/libc/include/_ansi.h
Normal file
71
newlib/libc/include/_ansi.h
Normal file
@ -0,0 +1,71 @@
|
||||
/* Provide support for both ANSI and non-ANSI environments. */
|
||||
|
||||
/* Some ANSI environments are "broken" in the sense that __STDC__ cannot be
|
||||
relied upon to have it's intended meaning. Therefore we must use our own
|
||||
concoction: _HAVE_STDC. Always use _HAVE_STDC instead of __STDC__ in newlib
|
||||
sources!
|
||||
|
||||
To get a strict ANSI C environment, define macro __STRICT_ANSI__. This will
|
||||
"comment out" the non-ANSI parts of the ANSI header files (non-ANSI header
|
||||
files aren't affected). */
|
||||
|
||||
#ifndef _ANSIDECL_H_
|
||||
#define _ANSIDECL_H_
|
||||
|
||||
#include <sys/config.h>
|
||||
|
||||
/* First try to figure out whether we really are in an ANSI C environment. */
|
||||
/* FIXME: This probably needs some work. Perhaps sys/config.h can be
|
||||
prevailed upon to give us a clue. */
|
||||
|
||||
#ifdef __STDC__
|
||||
#define _HAVE_STDC
|
||||
#endif
|
||||
|
||||
#ifdef _HAVE_STDC
|
||||
#define _PTR void *
|
||||
#define _AND ,
|
||||
#define _NOARGS void
|
||||
#define _CONST const
|
||||
#define _VOLATILE volatile
|
||||
#define _SIGNED signed
|
||||
#define _DOTS , ...
|
||||
#define _VOID void
|
||||
#define _EXFUN(name, proto) name proto
|
||||
#define _DEFUN(name, arglist, args) name(args)
|
||||
#define _DEFUN_VOID(name) name(_NOARGS)
|
||||
#define _CAST_VOID (void)
|
||||
#ifndef _LONG_DOUBLE
|
||||
#define _LONG_DOUBLE long double
|
||||
#endif
|
||||
#ifndef _PARAMS
|
||||
#define _PARAMS(paramlist) paramlist
|
||||
#endif
|
||||
#else
|
||||
#define _PTR char *
|
||||
#define _AND ;
|
||||
#define _NOARGS
|
||||
#define _CONST
|
||||
#define _VOLATILE
|
||||
#define _SIGNED
|
||||
#define _DOTS
|
||||
#define _VOID void
|
||||
#define _EXFUN(name, proto) name()
|
||||
#define _DEFUN(name, arglist, args) name arglist args;
|
||||
#define _DEFUN_VOID(name) name()
|
||||
#define _CAST_VOID
|
||||
#define _LONG_DOUBLE double
|
||||
#ifndef _PARAMS
|
||||
#define _PARAMS(paramlist) ()
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Support gcc's __attribute__ facility. */
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define _ATTRIBUTE(attrs) __attribute__ (attrs)
|
||||
#else
|
||||
#define _ATTRIBUTE(attrs)
|
||||
#endif
|
||||
|
||||
#endif /* _ANSIDECL_H_ */
|
29
newlib/libc/include/_syslist.h
Normal file
29
newlib/libc/include/_syslist.h
Normal file
@ -0,0 +1,29 @@
|
||||
/* internal use only -- mapping of "system calls" for libraries that lose
|
||||
and only provide C names, so that we end up in violation of ANSI */
|
||||
#ifndef __SYSLIST_H
|
||||
#define __SYSLIST_H
|
||||
#ifdef MISSING_SYSCALL_NAMES
|
||||
#define _close close
|
||||
#define _execve execve
|
||||
#define _fcntl fcntl
|
||||
#define _fork fork
|
||||
#define _fstat fstat
|
||||
#define _getpid getpid
|
||||
#define _gettimeofday gettimeofday
|
||||
#define _kill kill
|
||||
#define _link link
|
||||
#define _lseek lseek
|
||||
#define _open open
|
||||
#define _read read
|
||||
#define _sbrk sbrk
|
||||
#define _stat stat
|
||||
#define _times times
|
||||
#define _unlink unlink
|
||||
#define _wait wait
|
||||
#define _write write
|
||||
/* functions not yet sysfaked */
|
||||
#define _opendir opendir
|
||||
#define _readdir readdir
|
||||
#define _closedir closedir
|
||||
#endif
|
||||
#endif
|
69
newlib/libc/include/ar.h
Normal file
69
newlib/libc/include/ar.h
Normal file
@ -0,0 +1,69 @@
|
||||
/* $NetBSD: ar.h,v 1.4 1994/10/26 00:55:43 cgd Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1991, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
* (c) UNIX System Laboratories, Inc.
|
||||
* All or some portions of this file are derived from material licensed
|
||||
* to the University of California by American Telephone and Telegraph
|
||||
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
|
||||
* the permission of UNIX System Laboratories, Inc.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Hugh Smith at The University of Guelph.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)ar.h 8.2 (Berkeley) 1/21/94
|
||||
*/
|
||||
|
||||
#ifndef _AR_H_
|
||||
#define _AR_H_
|
||||
|
||||
/* Pre-4BSD archives had these magic numbers in them. */
|
||||
#define OARMAG1 0177555
|
||||
#define OARMAG2 0177545
|
||||
|
||||
#define ARMAG "!<arch>\n" /* ar "magic number" */
|
||||
#define SARMAG 8 /* strlen(ARMAG); */
|
||||
|
||||
#define AR_EFMT1 "#1/" /* extended format #1 */
|
||||
|
||||
struct ar_hdr {
|
||||
char ar_name[16]; /* name */
|
||||
char ar_date[12]; /* modification time */
|
||||
char ar_uid[6]; /* user id */
|
||||
char ar_gid[6]; /* group id */
|
||||
char ar_mode[8]; /* octal file permissions */
|
||||
char ar_size[10]; /* size in bytes */
|
||||
#define ARFMAG "`\n"
|
||||
char ar_fmag[2]; /* consistency check */
|
||||
};
|
||||
|
||||
#endif /* !_AR_H_ */
|
29
newlib/libc/include/assert.h
Normal file
29
newlib/libc/include/assert.h
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
assert.h
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "_ansi.h"
|
||||
|
||||
#undef assert
|
||||
|
||||
#ifdef NDEBUG /* required by ANSI standard */
|
||||
#define assert(p) ((void)0)
|
||||
#else
|
||||
|
||||
#ifdef __STDC__
|
||||
#define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__, #e))
|
||||
#else /* PCC */
|
||||
#define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__, "e"))
|
||||
#endif
|
||||
|
||||
#endif /* NDEBUG */
|
||||
|
||||
void _EXFUN(__assert,(const char *, int, const char *));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
73
newlib/libc/include/ctype.h
Normal file
73
newlib/libc/include/ctype.h
Normal file
@ -0,0 +1,73 @@
|
||||
#ifndef _CTYPE_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _CTYPE_H_
|
||||
|
||||
#include "_ansi.h"
|
||||
|
||||
int _EXFUN(isalnum, (int __c));
|
||||
int _EXFUN(isalpha, (int __c));
|
||||
int _EXFUN(iscntrl, (int __c));
|
||||
int _EXFUN(isdigit, (int __c));
|
||||
int _EXFUN(isgraph, (int __c));
|
||||
int _EXFUN(islower, (int __c));
|
||||
int _EXFUN(isprint, (int __c));
|
||||
int _EXFUN(ispunct, (int __c));
|
||||
int _EXFUN(isspace, (int __c));
|
||||
int _EXFUN(isupper, (int __c));
|
||||
int _EXFUN(isxdigit,(int __c));
|
||||
int _EXFUN(tolower, (int __c));
|
||||
int _EXFUN(toupper, (int __c));
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
int _EXFUN(isascii, (int __c));
|
||||
int _EXFUN(toascii, (int __c));
|
||||
int _EXFUN(_tolower, (int __c));
|
||||
int _EXFUN(_toupper, (int __c));
|
||||
#endif
|
||||
|
||||
#define _U 01
|
||||
#define _L 02
|
||||
#define _N 04
|
||||
#define _S 010
|
||||
#define _P 020
|
||||
#define _C 040
|
||||
#define _X 0100
|
||||
#define _B 0200
|
||||
|
||||
#if !defined(__CYGWIN32__) || defined(__INSIDE_CYGWIN__) || defined(_COMPILING_NEWLIB)
|
||||
extern _CONST char _ctype_[];
|
||||
#else
|
||||
extern _CONST char _ctype_[] __declspec(dllimport);
|
||||
#endif
|
||||
|
||||
#define isalpha(c) ((_ctype_+1)[(unsigned)(c)]&(_U|_L))
|
||||
#define isupper(c) ((_ctype_+1)[(unsigned)(c)]&_U)
|
||||
#define islower(c) ((_ctype_+1)[(unsigned)(c)]&_L)
|
||||
#define isdigit(c) ((_ctype_+1)[(unsigned)(c)]&_N)
|
||||
#define isxdigit(c) ((_ctype_+1)[(unsigned)(c)]&(_X|_N))
|
||||
#define isspace(c) ((_ctype_+1)[(unsigned)(c)]&_S)
|
||||
#define ispunct(c) ((_ctype_+1)[(unsigned)(c)]&_P)
|
||||
#define isalnum(c) ((_ctype_+1)[(unsigned)(c)]&(_U|_L|_N))
|
||||
#define isprint(c) ((_ctype_+1)[(unsigned)(c)]&(_P|_U|_L|_N|_B))
|
||||
#define isgraph(c) ((_ctype_+1)[(unsigned)(c)]&(_P|_U|_L|_N))
|
||||
#define iscntrl(c) ((_ctype_+1)[(unsigned)(c)]&_C)
|
||||
/* Non-gcc versions will get the library versions, and will be
|
||||
slightly slower */
|
||||
#ifdef __GNUC__
|
||||
# define toupper(c) \
|
||||
({ int __x = (c); islower(__x) ? (__x - 'a' + 'A') : __x;})
|
||||
# define tolower(c) \
|
||||
({ int __x = (c); isupper(__x) ? (__x - 'A' + 'a') : __x;})
|
||||
#endif
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
#define isascii(c) ((unsigned)(c)<=0177)
|
||||
#define toascii(c) ((c)&0177)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _CTYPE_H_ */
|
7
newlib/libc/include/dirent.h
Normal file
7
newlib/libc/include/dirent.h
Normal file
@ -0,0 +1,7 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <sys/dirent.h>
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
1
newlib/libc/include/errno.h
Normal file
1
newlib/libc/include/errno.h
Normal file
@ -0,0 +1 @@
|
||||
#include <sys/errno.h>
|
13
newlib/libc/include/fastmath.h
Normal file
13
newlib/libc/include/fastmath.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef _FASTMATH_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _FASTMATH_H_
|
||||
|
||||
#include <math.h>
|
||||
#include <machine/fastmath.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _FASTMATH_H_ */
|
1
newlib/libc/include/fcntl.h
Normal file
1
newlib/libc/include/fcntl.h
Normal file
@ -0,0 +1 @@
|
||||
#include <sys/fcntl.h>
|
85
newlib/libc/include/grp.h
Normal file
85
newlib/libc/include/grp.h
Normal file
@ -0,0 +1,85 @@
|
||||
/* $NetBSD: grp.h,v 1.7 1995/04/29 05:30:40 cgd Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
* (c) UNIX System Laboratories, Inc.
|
||||
* All or some portions of this file are derived from material licensed
|
||||
* to the University of California by American Telephone and Telegraph
|
||||
* Co. or Unix System Laboratories, Inc. and are reproduced herein with
|
||||
* the permission of UNIX System Laboratories, Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)grp.h 8.2 (Berkeley) 1/21/94
|
||||
*/
|
||||
|
||||
#ifndef _GRP_H_
|
||||
#define _GRP_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
|
||||
#define _PATH_GROUP "/etc/group"
|
||||
#endif
|
||||
|
||||
struct group {
|
||||
char *gr_name; /* group name */
|
||||
char *gr_passwd; /* group password */
|
||||
gid_t gr_gid; /* group id */
|
||||
char **gr_mem; /* group members */
|
||||
};
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct group *getgrgid (gid_t);
|
||||
struct group *getgrnam (const char *);
|
||||
int getgrnam_r (const char *, struct group *,
|
||||
char *, size_t, struct group **);
|
||||
int getgrgid_r (gid_t, struct group *,
|
||||
char *, size_t, struct group **);
|
||||
#ifndef _POSIX_SOURCE
|
||||
struct group *getgrent (void);
|
||||
void setgrent (void);
|
||||
void endgrent (void);
|
||||
void setgrfile (const char *);
|
||||
#ifndef _XOPEN_SOURCE
|
||||
char *group_from_gid (gid_t, int);
|
||||
int setgroupent (int);
|
||||
#endif /* !_XOPEN_SOURCE */
|
||||
#endif /* !_POSIX_SOURCE */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !_GRP_H_ */
|
241
newlib/libc/include/ieeefp.h
Normal file
241
newlib/libc/include/ieeefp.h
Normal file
@ -0,0 +1,241 @@
|
||||
#ifndef _IEEE_FP_H_
|
||||
#define _IEEE_FP_H_
|
||||
|
||||
#include "_ansi.h"
|
||||
|
||||
#include <machine/ieeefp.h>
|
||||
|
||||
/* FIXME FIXME FIXME:
|
||||
Neither of __ieee_{float,double}_shape_tape seem to be used anywhere
|
||||
except in libm/test. If that is the case, please delete these from here.
|
||||
If that is not the case, please insert documentation here describing why
|
||||
they're needed. */
|
||||
|
||||
#ifdef __IEEE_BIG_ENDIAN
|
||||
|
||||
typedef union
|
||||
{
|
||||
double value;
|
||||
struct
|
||||
{
|
||||
unsigned int sign : 1;
|
||||
unsigned int exponent: 11;
|
||||
unsigned int fraction0:4;
|
||||
unsigned int fraction1:16;
|
||||
unsigned int fraction2:16;
|
||||
unsigned int fraction3:16;
|
||||
|
||||
} number;
|
||||
struct
|
||||
{
|
||||
unsigned int sign : 1;
|
||||
unsigned int exponent: 11;
|
||||
unsigned int quiet:1;
|
||||
unsigned int function0:3;
|
||||
unsigned int function1:16;
|
||||
unsigned int function2:16;
|
||||
unsigned int function3:16;
|
||||
} nan;
|
||||
struct
|
||||
{
|
||||
unsigned long msw;
|
||||
unsigned long lsw;
|
||||
} parts;
|
||||
long aslong[2];
|
||||
} __ieee_double_shape_type;
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __IEEE_LITTLE_ENDIAN
|
||||
|
||||
typedef union
|
||||
{
|
||||
double value;
|
||||
struct
|
||||
{
|
||||
#ifdef __SMALL_BITFIELDS
|
||||
unsigned int fraction3:16;
|
||||
unsigned int fraction2:16;
|
||||
unsigned int fraction1:16;
|
||||
unsigned int fraction0: 4;
|
||||
#else
|
||||
unsigned int fraction1:32;
|
||||
unsigned int fraction0:20;
|
||||
#endif
|
||||
unsigned int exponent :11;
|
||||
unsigned int sign : 1;
|
||||
} number;
|
||||
struct
|
||||
{
|
||||
#ifdef __SMALL_BITFIELDS
|
||||
unsigned int function3:16;
|
||||
unsigned int function2:16;
|
||||
unsigned int function1:16;
|
||||
unsigned int function0:3;
|
||||
#else
|
||||
unsigned int function1:32;
|
||||
unsigned int function0:19;
|
||||
#endif
|
||||
unsigned int quiet:1;
|
||||
unsigned int exponent: 11;
|
||||
unsigned int sign : 1;
|
||||
} nan;
|
||||
struct
|
||||
{
|
||||
unsigned long lsw;
|
||||
unsigned long msw;
|
||||
} parts;
|
||||
|
||||
long aslong[2];
|
||||
|
||||
} __ieee_double_shape_type;
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __IEEE_BIG_ENDIAN
|
||||
|
||||
typedef union
|
||||
{
|
||||
float value;
|
||||
struct
|
||||
{
|
||||
unsigned int sign : 1;
|
||||
unsigned int exponent: 8;
|
||||
unsigned int fraction0: 7;
|
||||
unsigned int fraction1: 16;
|
||||
} number;
|
||||
struct
|
||||
{
|
||||
unsigned int sign:1;
|
||||
unsigned int exponent:8;
|
||||
unsigned int quiet:1;
|
||||
unsigned int function0:6;
|
||||
unsigned int function1:16;
|
||||
} nan;
|
||||
long p1;
|
||||
|
||||
} __ieee_float_shape_type;
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __IEEE_LITTLE_ENDIAN
|
||||
|
||||
typedef union
|
||||
{
|
||||
float value;
|
||||
struct
|
||||
{
|
||||
unsigned int fraction0: 7;
|
||||
unsigned int fraction1: 16;
|
||||
unsigned int exponent: 8;
|
||||
unsigned int sign : 1;
|
||||
} number;
|
||||
struct
|
||||
{
|
||||
unsigned int function1:16;
|
||||
unsigned int function0:6;
|
||||
unsigned int quiet:1;
|
||||
unsigned int exponent:8;
|
||||
unsigned int sign:1;
|
||||
} nan;
|
||||
long p1;
|
||||
|
||||
} __ieee_float_shape_type;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* FLOATING ROUNDING */
|
||||
|
||||
typedef int fp_rnd;
|
||||
#define FP_RN 0 /* Round to nearest */
|
||||
#define FP_RM 1 /* Round down */
|
||||
#define FP_RP 2 /* Round up */
|
||||
#define FP_RZ 3 /* Round to zero (trunate) */
|
||||
|
||||
fp_rnd _EXFUN(fpgetround,(void));
|
||||
fp_rnd _EXFUN(fpsetround, (fp_rnd));
|
||||
|
||||
/* EXCEPTIONS */
|
||||
|
||||
typedef int fp_except;
|
||||
#define FP_X_INV 0x10 /* Invalid operation */
|
||||
#define FP_X_DX 0x80 /* Divide by zero */
|
||||
#define FP_X_OFL 0x04 /* Overflow exception */
|
||||
#define FP_X_UFL 0x02 /* Underflow exception */
|
||||
#define FP_X_IMP 0x01 /* imprecise exception */
|
||||
|
||||
fp_except _EXFUN(fpgetmask,(void));
|
||||
fp_except _EXFUN(fpsetmask,(fp_except));
|
||||
fp_except _EXFUN(fpgetsticky,(void));
|
||||
fp_except _EXFUN(fpsetsticky, (fp_except));
|
||||
|
||||
/* INTEGER ROUNDING */
|
||||
|
||||
typedef int fp_rdi;
|
||||
#define FP_RDI_TOZ 0 /* Round to Zero */
|
||||
#define FP_RDI_RD 1 /* Follow float mode */
|
||||
|
||||
fp_rdi _EXFUN(fpgetroundtoi,(void));
|
||||
fp_rdi _EXFUN(fpsetroundtoi,(fp_rdi));
|
||||
|
||||
int _EXFUN(isnan, (double));
|
||||
int _EXFUN(isinf, (double));
|
||||
int _EXFUN(finite, (double));
|
||||
|
||||
|
||||
|
||||
int _EXFUN(isnanf, (float));
|
||||
int _EXFUN(isinff, (float));
|
||||
int _EXFUN(finitef, (float));
|
||||
|
||||
#define __IEEE_DBL_EXPBIAS 1023
|
||||
#define __IEEE_FLT_EXPBIAS 127
|
||||
|
||||
#define __IEEE_DBL_EXPLEN 11
|
||||
#define __IEEE_FLT_EXPLEN 8
|
||||
|
||||
|
||||
#define __IEEE_DBL_FRACLEN (64 - (__IEEE_DBL_EXPLEN + 1))
|
||||
#define __IEEE_FLT_FRACLEN (32 - (__IEEE_FLT_EXPLEN + 1))
|
||||
|
||||
#define __IEEE_DBL_MAXPOWTWO ((double)(1L << 32 - 2) * (1L << (32-11) - 32 + 1))
|
||||
#define __IEEE_FLT_MAXPOWTWO ((float)(1L << (32-8) - 1))
|
||||
|
||||
#define __IEEE_DBL_NAN_EXP 0x7ff
|
||||
#define __IEEE_FLT_NAN_EXP 0xff
|
||||
|
||||
|
||||
#define isnanf(x) (((*(long *)&(x) & 0x7f800000L)==0x7f800000L) && \
|
||||
((*(long *)&(x) & 0x007fffffL)!=0000000000L))
|
||||
|
||||
#define isinff(x) (((*(long *)&(x) & 0x7f800000L)==0x7f800000L) && \
|
||||
((*(long *)&(x) & 0x007fffffL)==0000000000L))
|
||||
|
||||
#define finitef(x) (((*(long *)&(x) & 0x7f800000L)!=0x7f800000L))
|
||||
|
||||
#ifdef _DOUBLE_IS_32BITS
|
||||
#undef __IEEE_DBL_EXPBIAS
|
||||
#define __IEEE_DBL_EXPBIAS __IEEE_FLT_EXPBIAS
|
||||
|
||||
#undef __IEEE_DBL_EXPLEN
|
||||
#define __IEEE_DBL_EXPLEN __IEEE_FLT_EXPLEN
|
||||
|
||||
#undef __IEEE_DBL_FRACLEN
|
||||
#define __IEEE_DBL_FRACLEN __IEEE_FLT_FRACLEN
|
||||
|
||||
#undef __IEEE_DBL_MAXPOWTWO
|
||||
#define __IEEE_DBL_MAXPOWTWO __IEEE_FLT_MAXPOWTWO
|
||||
|
||||
#undef __IEEE_DBL_NAN_EXP
|
||||
#define __IEEE_DBL_NAN_EXP __IEEE_FLT_NAN_EXP
|
||||
|
||||
#undef __ieee_double_shape_type
|
||||
#define __ieee_double_shape_type __ieee_float_shape_type
|
||||
|
||||
#endif /* _DOUBLE_IS_32BITS */
|
||||
|
||||
#endif /* _IEEE_FP_H_ */
|
60
newlib/libc/include/locale.h
Normal file
60
newlib/libc/include/locale.h
Normal file
@ -0,0 +1,60 @@
|
||||
/*
|
||||
locale.h
|
||||
Values appropriate for the formatting of monetary and other
|
||||
numberic quantities.
|
||||
*/
|
||||
|
||||
#ifndef _LOCALE_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _LOCALE_H_
|
||||
|
||||
#include "_ansi.h"
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
#define LC_ALL 0
|
||||
#define LC_COLLATE 1
|
||||
#define LC_CTYPE 2
|
||||
#define LC_MONETARY 3
|
||||
#define LC_NUMERIC 4
|
||||
#define LC_TIME 5
|
||||
|
||||
struct lconv
|
||||
{
|
||||
char *decimal_point;
|
||||
char *thousands_sep;
|
||||
char *grouping;
|
||||
char *int_curr_symbol;
|
||||
char *currency_symbol;
|
||||
char *mon_decimal_point;
|
||||
char *mon_thousands_sep;
|
||||
char *mon_grouping;
|
||||
char *positive_sign;
|
||||
char *negative_sign;
|
||||
char int_frac_digits;
|
||||
char frac_digits;
|
||||
char p_cs_precedes;
|
||||
char p_sep_by_space;
|
||||
char n_cs_precedes;
|
||||
char n_sep_by_space;
|
||||
char p_sign_posn;
|
||||
char n_sign_posn;
|
||||
};
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
char *_EXFUN(setlocale,(int category, const char *locale));
|
||||
struct lconv *_EXFUN(localeconv,(void));
|
||||
#endif
|
||||
|
||||
struct _reent;
|
||||
char *_EXFUN(_setlocale_r,(struct _reent *, int category, const char *locale));
|
||||
struct lconv *_EXFUN(_localeconv_r,(struct _reent *));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _LOCALE_H_ */
|
100
newlib/libc/include/machine/fastmath.h
Normal file
100
newlib/libc/include/machine/fastmath.h
Normal file
@ -0,0 +1,100 @@
|
||||
#ifdef __sysvnecv70_target
|
||||
double EXFUN(fast_sin,(double));
|
||||
double EXFUN(fast_cos,(double));
|
||||
double EXFUN(fast_tan,(double));
|
||||
|
||||
double EXFUN(fast_asin,(double));
|
||||
double EXFUN(fast_acos,(double));
|
||||
double EXFUN(fast_atan,(double));
|
||||
|
||||
double EXFUN(fast_sinh,(double));
|
||||
double EXFUN(fast_cosh,(double));
|
||||
double EXFUN(fast_tanh,(double));
|
||||
|
||||
double EXFUN(fast_asinh,(double));
|
||||
double EXFUN(fast_acosh,(double));
|
||||
double EXFUN(fast_atanh,(double));
|
||||
|
||||
double EXFUN(fast_abs,(double));
|
||||
double EXFUN(fast_sqrt,(double));
|
||||
double EXFUN(fast_exp2,(double));
|
||||
double EXFUN(fast_exp10,(double));
|
||||
double EXFUN(fast_expe,(double));
|
||||
double EXFUN(fast_log10,(double));
|
||||
double EXFUN(fast_log2,(double));
|
||||
double EXFUN(fast_loge,(double));
|
||||
|
||||
|
||||
#define sin(x) fast_sin(x)
|
||||
#define cos(x) fast_cos(x)
|
||||
#define tan(x) fast_tan(x)
|
||||
#define asin(x) fast_asin(x)
|
||||
#define acos(x) fast_acos(x)
|
||||
#define atan(x) fast_atan(x)
|
||||
#define sinh(x) fast_sinh(x)
|
||||
#define cosh(x) fast_cosh(x)
|
||||
#define tanh(x) fast_tanh(x)
|
||||
#define asinh(x) fast_asinh(x)
|
||||
#define acosh(x) fast_acosh(x)
|
||||
#define atanh(x) fast_atanh(x)
|
||||
#define abs(x) fast_abs(x)
|
||||
#define sqrt(x) fast_sqrt(x)
|
||||
#define exp2(x) fast_exp2(x)
|
||||
#define exp10(x) fast_exp10(x)
|
||||
#define expe(x) fast_expe(x)
|
||||
#define log10(x) fast_log10(x)
|
||||
#define log2(x) fast_log2(x)
|
||||
#define loge(x) fast_loge(x)
|
||||
|
||||
#ifdef _HAVE_STDC
|
||||
/* These functions are in assembler, they really do take floats. This
|
||||
can only be used with a real ANSI compiler */
|
||||
|
||||
float EXFUN(fast_sinf,(float));
|
||||
float EXFUN(fast_cosf,(float));
|
||||
float EXFUN(fast_tanf,(float));
|
||||
|
||||
float EXFUN(fast_asinf,(float));
|
||||
float EXFUN(fast_acosf,(float));
|
||||
float EXFUN(fast_atanf,(float));
|
||||
|
||||
float EXFUN(fast_sinhf,(float));
|
||||
float EXFUN(fast_coshf,(float));
|
||||
float EXFUN(fast_tanhf,(float));
|
||||
|
||||
float EXFUN(fast_asinhf,(float));
|
||||
float EXFUN(fast_acoshf,(float));
|
||||
float EXFUN(fast_atanhf,(float));
|
||||
|
||||
float EXFUN(fast_absf,(float));
|
||||
float EXFUN(fast_sqrtf,(float));
|
||||
float EXFUN(fast_exp2f,(float));
|
||||
float EXFUN(fast_exp10f,(float));
|
||||
float EXFUN(fast_expef,(float));
|
||||
float EXFUN(fast_log10f,(float));
|
||||
float EXFUN(fast_log2f,(float));
|
||||
float EXFUN(fast_logef,(float));
|
||||
#define sinf(x) fast_sinf(x)
|
||||
#define cosf(x) fast_cosf(x)
|
||||
#define tanf(x) fast_tanf(x)
|
||||
#define asinf(x) fast_asinf(x)
|
||||
#define acosf(x) fast_acosf(x)
|
||||
#define atanf(x) fast_atanf(x)
|
||||
#define sinhf(x) fast_sinhf(x)
|
||||
#define coshf(x) fast_coshf(x)
|
||||
#define tanhf(x) fast_tanhf(x)
|
||||
#define asinhf(x) fast_asinhf(x)
|
||||
#define acoshf(x) fast_acoshf(x)
|
||||
#define atanhf(x) fast_atanhf(x)
|
||||
#define absf(x) fast_absf(x)
|
||||
#define sqrtf(x) fast_sqrtf(x)
|
||||
#define exp2f(x) fast_exp2f(x)
|
||||
#define exp10f(x) fast_exp10f(x)
|
||||
#define expef(x) fast_expef(x)
|
||||
#define log10f(x) fast_log10f(x)
|
||||
#define log2f(x) fast_log2f(x)
|
||||
#define logef(x) fast_logef(x)
|
||||
#endif
|
||||
/* Override the functions defined in math.h */
|
||||
#endif /* __sysvnecv70_target */
|
||||
|
157
newlib/libc/include/machine/ieeefp.h
Normal file
157
newlib/libc/include/machine/ieeefp.h
Normal file
@ -0,0 +1,157 @@
|
||||
#ifndef __IEEE_BIG_ENDIAN
|
||||
#ifndef __IEEE_LITTLE_ENDIAN
|
||||
|
||||
#if defined(__arm__) || defined(__thumb__)
|
||||
/* ARM always has big-endian words. Within those words the byte ordering
|
||||
appears to be big or little endian. Newlib doesn't seem to care about
|
||||
the byte ordering within words. */
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __hppa__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __sparc__
|
||||
#ifdef __LITTLE_ENDIAN_DATA__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#else
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__m68k__) || defined(__mc68000__)
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#if defined (__H8300__) || defined (__H8300H__) || defined (__H8300S__)
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#define __SMALL_BITFIELDS
|
||||
#define _DOUBLE_IS_32BITS
|
||||
#endif
|
||||
|
||||
#ifdef __H8500__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#define __SMALL_BITFIELDS
|
||||
#define _DOUBLE_IS_32BITS
|
||||
#endif
|
||||
|
||||
#ifdef __sh__
|
||||
#ifdef __LITTLE_ENDIAN__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#else
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
#if defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__)
|
||||
#define _DOUBLE_IS_32BITS
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _AM29K
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __i386__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __i960__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __M32R__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __TIC80__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __MIPSEL__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
#ifdef __MIPSEB__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
/* necv70 was __IEEE_LITTLE_ENDIAN. */
|
||||
|
||||
#ifdef __W65__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#define __SMALL_BITFIELDS
|
||||
#define _DOUBLE_IS_32BITS
|
||||
#endif
|
||||
|
||||
#if defined(__Z8001__) || defined(__Z8002__)
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __m88k__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __mn10300__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __mn10200__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#define __SMALL_BITFIELDS
|
||||
#define _DOUBLE_IS_32BITS
|
||||
#endif
|
||||
|
||||
#ifdef __v800
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __v850
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __D10V__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#define _DOUBLE_IS_32BITS
|
||||
#define __SMALL_BITFIELDS
|
||||
#endif
|
||||
|
||||
#ifdef __PPC__
|
||||
#if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX)
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#else
|
||||
#if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(_WIN32) && _WIN32)
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __arc__
|
||||
#ifdef __big_endian__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#else
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __fr30__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __mcore__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifndef __IEEE_BIG_ENDIAN
|
||||
#ifndef __IEEE_LITTLE_ENDIAN
|
||||
#error Endianess not declared!!
|
||||
#endif /* not __IEEE_LITTLE_ENDIAN */
|
||||
#endif /* not __IEEE_BIG_ENDIAN */
|
||||
|
||||
#endif /* not __IEEE_LITTLE_ENDIAN */
|
||||
#endif /* not __IEEE_BIG_ENDIAN */
|
||||
|
44
newlib/libc/include/machine/setjmp-dj.h
Normal file
44
newlib/libc/include/machine/setjmp-dj.h
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
|
||||
**
|
||||
** This file is distributed under the terms listed in the document
|
||||
** "copying.dj", available from DJ Delorie at the address above.
|
||||
** A copy of "copying.dj" should accompany this file; if not, a copy
|
||||
** should be available from where this file was obtained. This file
|
||||
** may not be distributed without a verbatim copy of "copying.dj".
|
||||
**
|
||||
** This file is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
/* Modified to use SETJMP_DJ_H rather than SETJMP_H to avoid
|
||||
conflicting with setjmp.h. Ian Taylor, Cygnus support, April,
|
||||
1993. */
|
||||
|
||||
#ifndef _SETJMP_DJ_H_
|
||||
#define _SETJMP_DJ_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
unsigned long eax;
|
||||
unsigned long ebx;
|
||||
unsigned long ecx;
|
||||
unsigned long edx;
|
||||
unsigned long esi;
|
||||
unsigned long edi;
|
||||
unsigned long ebp;
|
||||
unsigned long esp;
|
||||
unsigned long eip;
|
||||
} jmp_buf[1];
|
||||
|
||||
extern int setjmp(jmp_buf);
|
||||
extern void longjmp(jmp_buf, int);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
168
newlib/libc/include/machine/setjmp.h
Normal file
168
newlib/libc/include/machine/setjmp.h
Normal file
@ -0,0 +1,168 @@
|
||||
#if defined(__arm__) || defined(__thumb__)
|
||||
/*
|
||||
* All callee preserved registers:
|
||||
* v1 - v7, fp, ip, sp, lr, f4, f5, f6, f7
|
||||
*/
|
||||
#define _JBLEN 23
|
||||
#endif
|
||||
|
||||
#ifdef __sparc__
|
||||
/*
|
||||
* onsstack,sigmask,sp,pc,npc,psr,g1,o0,wbcnt (sigcontext).
|
||||
* All else recovered by under/over(flow) handling.
|
||||
*/
|
||||
#define _JBLEN 13
|
||||
#endif
|
||||
|
||||
/* necv70 was 9 as well. */
|
||||
|
||||
#ifdef __mc68000__
|
||||
/*
|
||||
* onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6,
|
||||
* fp2-fp7 for 68881.
|
||||
* All else recovered by under/over(flow) handling.
|
||||
*/
|
||||
#define _JBLEN 34
|
||||
#endif
|
||||
|
||||
#if defined(__Z8001__) || defined(__Z8002__)
|
||||
/* 16 regs + pc */
|
||||
#define _JBLEN 20
|
||||
#endif
|
||||
|
||||
#ifdef _AM29K
|
||||
/*
|
||||
* onsstack,sigmask,sp,pc,npc,psr,g1,o0,wbcnt (sigcontext).
|
||||
* All else recovered by under/over(flow) handling.
|
||||
*/
|
||||
#define _JBLEN 9
|
||||
#endif
|
||||
|
||||
#if defined(__CYGWIN__) && !defined (_JBLEN)
|
||||
#define _JBLEN (13 * 4)
|
||||
#elif defined (__i386__)
|
||||
#ifdef __unix__
|
||||
# define _JBLEN 36
|
||||
#else
|
||||
#include "setjmp-dj.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __i960__
|
||||
#define _JBLEN 35
|
||||
#endif
|
||||
|
||||
#ifdef __M32R__
|
||||
/* Only 8 words are currently needed. 10 gives us some slop if we need
|
||||
to expand. */
|
||||
#define _JBLEN 10
|
||||
#endif
|
||||
|
||||
#ifdef __mips__
|
||||
#define _JBLEN 11
|
||||
#endif
|
||||
|
||||
#ifdef __m88000__
|
||||
#define _JBLEN 21
|
||||
#endif
|
||||
|
||||
#ifdef __H8300__
|
||||
#define _JBLEN 5
|
||||
typedef int jmp_buf[_JBLEN];
|
||||
#endif
|
||||
|
||||
#ifdef __H8300H__
|
||||
/* same as H8/300 but registers are twice as big */
|
||||
#define _JBLEN 5
|
||||
#define _JBTYPE long
|
||||
#endif
|
||||
|
||||
#ifdef __H8300S__
|
||||
/* same as H8/300 but registers are twice as big */
|
||||
#define _JBLEN 5
|
||||
#define _JBTYPE long
|
||||
#endif
|
||||
|
||||
#ifdef __H8500__
|
||||
#define _JBLEN 4
|
||||
#endif
|
||||
|
||||
#ifdef __sh__
|
||||
#define _JBLEN 20
|
||||
#endif
|
||||
|
||||
#ifdef __v800
|
||||
#define _JBLEN 28
|
||||
#endif
|
||||
|
||||
#ifdef __PPC__
|
||||
#define _JBLEN 32
|
||||
#define _JBTYPE double
|
||||
#endif
|
||||
|
||||
#ifdef __hppa__
|
||||
/* %r30, %r2-%r18, %r27, pad, %fr12-%fr15.
|
||||
Note space exists for the FP registers, but they are not
|
||||
saved. */
|
||||
#define _JBLEN 28
|
||||
#endif
|
||||
|
||||
#if defined(__mn10300__) || defined(__mn10200__)
|
||||
/* A guess */
|
||||
#define _JBLEN 10
|
||||
#endif
|
||||
|
||||
#ifdef __v850
|
||||
/* I think our setjmp is saving 15 regs at the moment. Gives us one word
|
||||
slop if we need to expand. */
|
||||
#define _JBLEN 16
|
||||
#endif
|
||||
|
||||
#ifdef __TIC80__
|
||||
#define _JBLEN 13
|
||||
#endif
|
||||
|
||||
#ifdef __D10V__
|
||||
#define _JBLEN 8
|
||||
#endif
|
||||
|
||||
#ifdef __D30V__
|
||||
#define _JBLEN ((64 /* GPR */ + (2*2) /* ACs */ + 18 /* CRs */) / 2)
|
||||
#define _JBTYPE double
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __fr30__
|
||||
#define _JBLEN 10
|
||||
#endif
|
||||
|
||||
#ifdef __mcore__
|
||||
#define _JBLEN 16
|
||||
#endif
|
||||
|
||||
#ifdef _JBLEN
|
||||
#ifdef _JBTYPE
|
||||
typedef _JBTYPE jmp_buf[_JBLEN];
|
||||
#else
|
||||
typedef int jmp_buf[_JBLEN];
|
||||
#endif
|
||||
|
||||
#if defined(__CYGWIN32__) || defined(__rtems__)
|
||||
#include <signal.h>
|
||||
|
||||
/* POSIX sigsetjmp/siglongjmp macros */
|
||||
typedef int sigjmp_buf[_JBLEN+2];
|
||||
|
||||
#define _SAVEMASK _JBLEN
|
||||
#define _SIGMASK (_JBLEN+1)
|
||||
|
||||
#define sigsetjmp(env, savemask) (env[_SAVEMASK] = savemask,\
|
||||
sigprocmask (SIG_SETMASK, 0, (sigset_t *) &env[_SIGMASK]),\
|
||||
setjmp (env))
|
||||
|
||||
#define siglongjmp(env, val) (((env[_SAVEMASK])?\
|
||||
sigprocmask (SIG_SETMASK, (sigset_t *) &env[_SIGMASK], 0):0),\
|
||||
longjmp (env, val))
|
||||
|
||||
#endif /* __CYGWIN32__ or __rtems__ */
|
||||
#endif
|
10
newlib/libc/include/machine/time.h
Normal file
10
newlib/libc/include/machine/time.h
Normal file
@ -0,0 +1,10 @@
|
||||
#ifndef _MACHTIME_H_
|
||||
#define _MACHTIME_H_
|
||||
|
||||
#if defined(__arm__) || defined(__thumb__)
|
||||
#define _CLOCKS_PER_SEC_ 100
|
||||
#endif
|
||||
|
||||
#endif /* _MACHTIME_H_ */
|
||||
|
||||
|
9
newlib/libc/include/machine/types.h
Normal file
9
newlib/libc/include/machine/types.h
Normal file
@ -0,0 +1,9 @@
|
||||
#ifndef _MACHTYPES_H_
|
||||
#define _MACHTYPES_H_
|
||||
|
||||
#define _CLOCK_T_ unsigned long /* clock() */
|
||||
#define _TIME_T_ long /* time() */
|
||||
|
||||
#endif /* _MACHTYPES_H_ */
|
||||
|
||||
|
97
newlib/libc/include/malloc.h
Normal file
97
newlib/libc/include/malloc.h
Normal file
@ -0,0 +1,97 @@
|
||||
/* malloc.h -- header file for memory routines. */
|
||||
|
||||
#ifndef _INCLUDE_MALLOC_H_
|
||||
#define _INCLUDE_MALLOC_H_
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <sys/reent.h>
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* This version of struct mallinfo must match the one in
|
||||
libc/stdlib/mallocr.c. */
|
||||
|
||||
struct mallinfo {
|
||||
int arena; /* total space allocated from system */
|
||||
int ordblks; /* number of non-inuse chunks */
|
||||
int smblks; /* unused -- always zero */
|
||||
int hblks; /* number of mmapped regions */
|
||||
int hblkhd; /* total space in mmapped regions */
|
||||
int usmblks; /* unused -- always zero */
|
||||
int fsmblks; /* unused -- always zero */
|
||||
int uordblks; /* total allocated space */
|
||||
int fordblks; /* total non-inuse space */
|
||||
int keepcost; /* top-most, releasable (via malloc_trim) space */
|
||||
};
|
||||
|
||||
/* The routines. */
|
||||
|
||||
extern _PTR malloc _PARAMS ((size_t));
|
||||
extern _PTR _malloc_r _PARAMS ((struct _reent *, size_t));
|
||||
|
||||
extern _VOID free _PARAMS ((_PTR));
|
||||
extern _VOID _free_r _PARAMS ((struct _reent *, _PTR));
|
||||
|
||||
extern _PTR realloc _PARAMS ((_PTR, size_t));
|
||||
extern _PTR _realloc_r _PARAMS ((struct _reent *, _PTR, size_t));
|
||||
|
||||
extern _PTR calloc _PARAMS ((size_t, size_t));
|
||||
extern _PTR _calloc_r _PARAMS ((struct _reent *, size_t, size_t));
|
||||
|
||||
extern _PTR memalign _PARAMS ((size_t, size_t));
|
||||
extern _PTR _memalign_r _PARAMS ((struct _reent *, size_t, size_t));
|
||||
|
||||
extern struct mallinfo mallinfo _PARAMS ((void));
|
||||
extern struct mallinfo _mallinfo_r _PARAMS ((struct _reent *));
|
||||
|
||||
extern void malloc_stats _PARAMS ((void));
|
||||
extern void _malloc_stats_r _PARAMS ((struct _reent *));
|
||||
|
||||
extern int mallopt _PARAMS ((int, int));
|
||||
extern int _mallopt_r _PARAMS ((struct _reent *, int, int));
|
||||
|
||||
extern size_t malloc_usable_size _PARAMS ((_PTR));
|
||||
extern size_t _malloc_usable_size_r _PARAMS ((struct _reent *, _PTR));
|
||||
|
||||
/* These aren't too useful on an embedded system, but we define them
|
||||
anyhow. */
|
||||
|
||||
extern _PTR valloc _PARAMS ((size_t));
|
||||
extern _PTR _valloc_r _PARAMS ((struct _reent *, size_t));
|
||||
|
||||
extern _PTR pvalloc _PARAMS ((size_t));
|
||||
extern _PTR _pvalloc_r _PARAMS ((struct _reent *, size_t));
|
||||
|
||||
extern int malloc_trim _PARAMS ((size_t));
|
||||
extern int _malloc_trim_r _PARAMS ((struct _reent *, size_t));
|
||||
|
||||
/* Some systems provide this, so do too for compatibility. */
|
||||
|
||||
extern void cfree _PARAMS ((_PTR));
|
||||
|
||||
/* A compatibility routine for an earlier version of the allocator. */
|
||||
|
||||
extern _VOID mstats _PARAMS ((char *));
|
||||
extern _VOID _mstats_r _PARAMS ((struct _reent *, char *));
|
||||
|
||||
#ifdef __CYGWIN32__
|
||||
|
||||
/* Cygwin32 needs to be able to copy all the malloc information from
|
||||
the parent to the child. However, cygwin32 does not normally copy
|
||||
any data in the DLL data section. This routine handles copying
|
||||
that information. */
|
||||
|
||||
extern int __malloc_copy _PARAMS ((int (*) (void *, void *, void *, int),
|
||||
void *, int));
|
||||
#endif /* __CYGWIN32 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _INCLUDE_MALLOC_H_ */
|
273
newlib/libc/include/math.h
Normal file
273
newlib/libc/include/math.h
Normal file
@ -0,0 +1,273 @@
|
||||
/* math.h -- Definitions for the math floating point package. */
|
||||
|
||||
#ifndef _MATH_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _MATH_H_
|
||||
|
||||
#include <sys/reent.h>
|
||||
#include <machine/ieeefp.h>
|
||||
#include "_ansi.h"
|
||||
|
||||
#ifndef HUGE_VAL
|
||||
|
||||
/* Define HUGE_VAL as infinity, unless HUGE_VAL is already defined
|
||||
(which might have been done by something like math-68881.h). */
|
||||
|
||||
union __dmath
|
||||
{
|
||||
__uint32_t i[2];
|
||||
double d;
|
||||
};
|
||||
|
||||
extern const union __dmath __infinity;
|
||||
|
||||
#define HUGE_VAL (__infinity.d)
|
||||
|
||||
#endif /* ! defined (HUGE_VAL) */
|
||||
|
||||
/* Reentrant ANSI C functions. */
|
||||
|
||||
#ifndef __math_68881
|
||||
extern double atan _PARAMS((double));
|
||||
extern double cos _PARAMS((double));
|
||||
extern double sin _PARAMS((double));
|
||||
extern double tan _PARAMS((double));
|
||||
extern double tanh _PARAMS((double));
|
||||
extern double frexp _PARAMS((double, int *));
|
||||
extern double modf _PARAMS((double, double *));
|
||||
extern double ceil _PARAMS((double));
|
||||
extern double fabs _PARAMS((double));
|
||||
extern double floor _PARAMS((double));
|
||||
#endif /* ! defined (__math_68881) */
|
||||
|
||||
/* Non reentrant ANSI C functions. */
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
#ifndef __math_6881
|
||||
extern double acos _PARAMS((double));
|
||||
extern double asin _PARAMS((double));
|
||||
extern double atan2 _PARAMS((double, double));
|
||||
extern double cosh _PARAMS((double));
|
||||
extern double sinh _PARAMS((double));
|
||||
extern double exp _PARAMS((double));
|
||||
extern double ldexp _PARAMS((double, int));
|
||||
extern double log _PARAMS((double));
|
||||
extern double log10 _PARAMS((double));
|
||||
extern double pow _PARAMS((double, double));
|
||||
extern double sqrt _PARAMS((double));
|
||||
extern double fmod _PARAMS((double, double));
|
||||
#endif /* ! defined (__math_68881) */
|
||||
#endif /* ! defined (_REENT_ONLY) */
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
|
||||
/* Non ANSI double precision functions. */
|
||||
|
||||
extern double infinity _PARAMS((void));
|
||||
extern double nan _PARAMS((void));
|
||||
extern int isnan _PARAMS((double));
|
||||
extern int isinf _PARAMS((double));
|
||||
extern int finite _PARAMS((double));
|
||||
extern double copysign _PARAMS((double, double));
|
||||
extern int ilogb _PARAMS((double));
|
||||
|
||||
extern double asinh _PARAMS((double));
|
||||
extern double cbrt _PARAMS((double));
|
||||
extern double nextafter _PARAMS((double, double));
|
||||
extern double rint _PARAMS((double));
|
||||
extern double scalbn _PARAMS((double, int));
|
||||
|
||||
#ifndef __math_68881
|
||||
extern double log1p _PARAMS((double));
|
||||
extern double expm1 _PARAMS((double));
|
||||
#endif /* ! defined (__math_68881) */
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
extern double acosh _PARAMS((double));
|
||||
extern double atanh _PARAMS((double));
|
||||
extern double remainder _PARAMS((double, double));
|
||||
extern double gamma _PARAMS((double));
|
||||
extern double gamma_r _PARAMS((double, int *));
|
||||
extern double lgamma _PARAMS((double));
|
||||
extern double lgamma_r _PARAMS((double, int *));
|
||||
extern double erf _PARAMS((double));
|
||||
extern double erfc _PARAMS((double));
|
||||
extern double y0 _PARAMS((double));
|
||||
extern double y1 _PARAMS((double));
|
||||
extern double yn _PARAMS((int, double));
|
||||
extern double j0 _PARAMS((double));
|
||||
extern double j1 _PARAMS((double));
|
||||
extern double jn _PARAMS((int, double));
|
||||
#define log2(x) (log (x) / M_LOG2_E)
|
||||
|
||||
#ifndef __math_68881
|
||||
extern double hypot _PARAMS((double, double));
|
||||
#endif
|
||||
|
||||
extern double cabs();
|
||||
extern double drem _PARAMS((double, double));
|
||||
|
||||
#endif /* ! defined (_REENT_ONLY) */
|
||||
|
||||
/* Single precision versions of ANSI functions. */
|
||||
|
||||
extern float atanf _PARAMS((float));
|
||||
extern float cosf _PARAMS((float));
|
||||
extern float sinf _PARAMS((float));
|
||||
extern float tanf _PARAMS((float));
|
||||
extern float tanhf _PARAMS((float));
|
||||
extern float frexpf _PARAMS((float, int *));
|
||||
extern float modff _PARAMS((float, float *));
|
||||
extern float ceilf _PARAMS((float));
|
||||
extern float fabsf _PARAMS((float));
|
||||
extern float floorf _PARAMS((float));
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
extern float acosf _PARAMS((float));
|
||||
extern float asinf _PARAMS((float));
|
||||
extern float atan2f _PARAMS((float, float));
|
||||
extern float coshf _PARAMS((float));
|
||||
extern float sinhf _PARAMS((float));
|
||||
extern float expf _PARAMS((float));
|
||||
extern float ldexpf _PARAMS((float, int));
|
||||
extern float logf _PARAMS((float));
|
||||
extern float log10f _PARAMS((float));
|
||||
extern float powf _PARAMS((float, float));
|
||||
extern float sqrtf _PARAMS((float));
|
||||
extern float fmodf _PARAMS((float, float));
|
||||
#endif /* ! defined (_REENT_ONLY) */
|
||||
|
||||
/* Other single precision functions. */
|
||||
|
||||
extern float infinityf _PARAMS((void));
|
||||
extern float nanf _PARAMS((void));
|
||||
extern int isnanf _PARAMS((float));
|
||||
extern int isinff _PARAMS((float));
|
||||
extern int finitef _PARAMS((float));
|
||||
extern float copysignf _PARAMS((float, float));
|
||||
extern int ilogbf _PARAMS((float));
|
||||
|
||||
extern float asinhf _PARAMS((float));
|
||||
extern float cbrtf _PARAMS((float));
|
||||
extern float nextafterf _PARAMS((float, float));
|
||||
extern float rintf _PARAMS((float));
|
||||
extern float scalbnf _PARAMS((float, int));
|
||||
extern float log1pf _PARAMS((float));
|
||||
extern float expm1f _PARAMS((float));
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
extern float acoshf _PARAMS((float));
|
||||
extern float atanhf _PARAMS((float));
|
||||
extern float remainderf _PARAMS((float, float));
|
||||
extern float gammaf _PARAMS((float));
|
||||
extern float gammaf_r _PARAMS((float, int *));
|
||||
extern float lgammaf _PARAMS((float));
|
||||
extern float lgammaf_r _PARAMS((float, int *));
|
||||
extern float erff _PARAMS((float));
|
||||
extern float erfcf _PARAMS((float));
|
||||
extern float y0f _PARAMS((float));
|
||||
extern float y1f _PARAMS((float));
|
||||
extern float ynf _PARAMS((int, float));
|
||||
extern float j0f _PARAMS((float));
|
||||
extern float j1f _PARAMS((float));
|
||||
extern float jnf _PARAMS((int, float));
|
||||
#define log2f(x) (logf (x) / (float) M_LOG2_E)
|
||||
extern float hypotf _PARAMS((float, float));
|
||||
|
||||
extern float cabsf();
|
||||
extern float dremf _PARAMS((float, float));
|
||||
|
||||
#endif /* ! defined (_REENT_ONLY) */
|
||||
|
||||
/* The gamma functions use a global variable, signgam. */
|
||||
|
||||
extern int signgam;
|
||||
|
||||
/* The exception structure passed to the matherr routine. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
struct __exception
|
||||
#else
|
||||
struct exception
|
||||
#endif
|
||||
{
|
||||
int type;
|
||||
char *name;
|
||||
double arg1;
|
||||
double arg2;
|
||||
double retval;
|
||||
int err;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern int matherr _PARAMS((struct __exception *e));
|
||||
#else
|
||||
extern int matherr _PARAMS((struct exception *e));
|
||||
#endif
|
||||
|
||||
/* Values for the type field of struct exception. */
|
||||
|
||||
#define DOMAIN 1
|
||||
#define SING 2
|
||||
#define OVERFLOW 3
|
||||
#define UNDERFLOW 4
|
||||
#define TLOSS 5
|
||||
#define PLOSS 6
|
||||
|
||||
/* Useful constants. */
|
||||
|
||||
#define M_E 2.7182818284590452354
|
||||
#define M_LOG2E 1.4426950408889634074
|
||||
#define M_LOG10E 0.43429448190325182765
|
||||
#define M_LN2 0.69314718055994530942
|
||||
#define M_LN10 2.30258509299404568402
|
||||
#define M_PI 3.14159265358979323846
|
||||
#define M_TWOPI (M_PI * 2.0)
|
||||
#define M_PI_2 1.57079632679489661923
|
||||
#define M_PI_4 0.78539816339744830962
|
||||
#define M_3PI_4 2.3561944901923448370E0
|
||||
#define M_SQRTPI 1.77245385090551602792981
|
||||
#define M_1_PI 0.31830988618379067154
|
||||
#define M_2_PI 0.63661977236758134308
|
||||
#define M_2_SQRTPI 1.12837916709551257390
|
||||
#define M_SQRT2 1.41421356237309504880
|
||||
#define M_SQRT1_2 0.70710678118654752440
|
||||
#define M_LN2LO 1.9082149292705877000E-10
|
||||
#define M_LN2HI 6.9314718036912381649E-1
|
||||
#define M_SQRT3 1.73205080756887719000
|
||||
#define M_IVLN10 0.43429448190325182765 /* 1 / log(10) */
|
||||
#define M_LOG2_E 0.693147180559945309417
|
||||
#define M_INVLN2 1.4426950408889633870E0 /* 1 / log(2) */
|
||||
|
||||
/* Global control over fdlibm error handling. */
|
||||
|
||||
enum __fdlibm_version
|
||||
{
|
||||
__fdlibm_ieee = -1,
|
||||
__fdlibm_svid,
|
||||
__fdlibm_xopen,
|
||||
__fdlibm_posix
|
||||
};
|
||||
|
||||
#define _LIB_VERSION_TYPE enum __fdlibm_version
|
||||
#define _LIB_VERSION __fdlib_version
|
||||
|
||||
extern _CONST _LIB_VERSION_TYPE _LIB_VERSION;
|
||||
|
||||
#define _IEEE_ __fdlibm_ieee
|
||||
#define _SVID_ __fdlibm_svid
|
||||
#define _XOPEN_ __fdlibm_xopen
|
||||
#define _POSIX_ __fdlibm_posix
|
||||
|
||||
#endif /* ! defined (__STRICT_ANSI__) */
|
||||
|
||||
#ifdef __FAST_MATH__
|
||||
#include <machine/fastmath.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _MATH_H_ */
|
7
newlib/libc/include/paths.h
Normal file
7
newlib/libc/include/paths.h
Normal file
@ -0,0 +1,7 @@
|
||||
#ifndef _PATHS_H_
|
||||
#define _PATHS_H_
|
||||
|
||||
#define _PATH_DEV "/dev/"
|
||||
#define _PATH_BSHELL "/bin/sh"
|
||||
|
||||
#endif /* _PATHS_H_ */
|
60
newlib/libc/include/process.h
Normal file
60
newlib/libc/include/process.h
Normal file
@ -0,0 +1,60 @@
|
||||
/* process.h. This file comes with MSDOS and WIN32 systems. */
|
||||
|
||||
#ifndef __PROCESS_H_
|
||||
#define __PROCESS_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int execl(const char *path, const char *argv0, ...);
|
||||
int execle(const char *path, const char *argv0, ... /*, char * const *envp */);
|
||||
int execlp(const char *path, const char *argv0, ...);
|
||||
int execlpe(const char *path, const char *argv0, ... /*, char * const *envp */);
|
||||
|
||||
int execv(const char *path, char * const *argv);
|
||||
int execve(const char *path, char * const *argv, char * const *envp);
|
||||
int execvp(const char *path, char * const *argv);
|
||||
int execvpe(const char *path, char * const *argv, char * const *envp);
|
||||
|
||||
int spawnl(int mode, const char *path, const char *argv0, ...);
|
||||
int spawnle(int mode, const char *path, const char *argv0, ... /*, char * const *envp */);
|
||||
int spawnlp(int mode, const char *path, const char *argv0, ...);
|
||||
int spawnlpe(int mode, const char *path, const char *argv0, ... /*, char * const *envp */);
|
||||
|
||||
int spawnv(int mode, const char *path, const char * const *argv);
|
||||
int spawnve(int mode, const char *path, char * const *argv, const char * const *envp);
|
||||
int spawnvp(int mode, const char *path, const char * const *argv);
|
||||
int spawnvpe(int mode, const char *path, const char * const *argv, const char * const *envp);
|
||||
|
||||
#ifdef __CYGWIN32__
|
||||
/* Secure exec() functions family */
|
||||
/* The first arg should really be a HANDLE which is a void *. But we
|
||||
can't include windows.h here so... */
|
||||
#include <sys/types.h>
|
||||
pid_t sexecl(void *, const char *path, const char *argv0, ...);
|
||||
pid_t sexecle(void *, const char *path, const char *argv0, ... /*, char * const *envp */);
|
||||
pid_t sexeclp(void *, const char *path, const char *argv0, ...);
|
||||
pid_t sexeclpe(void *, const char *path, const char *argv0, ... /*, char * const *envp */);
|
||||
|
||||
pid_t sexecv(void *, const char *path, const char * const *argv);
|
||||
pid_t sexecve(void *, const char *path, const char * const *argv, const char * const *envp);
|
||||
pid_t sexecvp(void *, const char *path, const char * const *argv);
|
||||
pid_t sexecvpe(void *, const char *path, const char * const *argv, const char * const *envp);
|
||||
#endif
|
||||
|
||||
int cwait(int *, int, int);
|
||||
|
||||
#define _P_WAIT 1
|
||||
#define _P_NOWAIT 2 /* always generates error */
|
||||
#define _P_OVERLAY 3
|
||||
#define _P_NOWAITO 4
|
||||
#define _P_DETACH 5
|
||||
|
||||
#define WAIT_CHILD 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
76
newlib/libc/include/pwd.h
Normal file
76
newlib/libc/include/pwd.h
Normal file
@ -0,0 +1,76 @@
|
||||
/*-
|
||||
* Copyright (c) 1989 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)pwd.h 5.13 (Berkeley) 5/28/91
|
||||
*/
|
||||
|
||||
#ifndef _PWD_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _PWD_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define _PATH_PASSWD "/etc/passwd"
|
||||
|
||||
#define _PASSWORD_LEN 128 /* max length, not counting NULL */
|
||||
#endif
|
||||
|
||||
struct passwd {
|
||||
char *pw_name; /* user name */
|
||||
char *pw_passwd; /* encrypted password */
|
||||
int pw_uid; /* user uid */
|
||||
int pw_gid; /* user gid */
|
||||
char *pw_comment; /* comment */
|
||||
char *pw_gecos; /* Honeywell login info */
|
||||
char *pw_dir; /* home directory */
|
||||
char *pw_shell; /* default shell */
|
||||
};
|
||||
|
||||
struct passwd *getpwuid (uid_t);
|
||||
struct passwd *getpwnam (const char *);
|
||||
int getpwnam_r (const char *, struct passwd *,
|
||||
char *, size_t , struct passwd **);
|
||||
int getpwuid_r (uid_t, struct passwd *, char *,
|
||||
size_t, struct passwd **);
|
||||
#ifndef _POSIX_SOURCE
|
||||
struct passwd *getpwent (void);
|
||||
void setpwent (void);
|
||||
void endpwent (void);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _PWD_H_ */
|
87
newlib/libc/include/reent.h
Normal file
87
newlib/libc/include/reent.h
Normal file
@ -0,0 +1,87 @@
|
||||
/* This header file provides the reentrancy. */
|
||||
|
||||
/* The reentrant system calls here serve two purposes:
|
||||
|
||||
1) Provide reentrant versions of the system calls the ANSI C library
|
||||
requires.
|
||||
2) Provide these system calls in a namespace clean way.
|
||||
|
||||
It is intended that *all* system calls that the ANSI C library needs
|
||||
be declared here. It documents them all in one place. All library access
|
||||
to the system is via some form of these functions.
|
||||
|
||||
There are three ways a target may provide the needed syscalls.
|
||||
|
||||
1) Define the reentrant versions of the syscalls directly.
|
||||
(eg: _open_r, _close_r, etc.). Please keep the namespace clean.
|
||||
When you do this, set "syscall_dir" to "syscalls" in configure.in,
|
||||
and add -DREENTRANT_SYSCALLS_PROVIDED to target_cflags in configure.in.
|
||||
|
||||
2) Define namespace clean versions of the system calls by prefixing
|
||||
them with '_' (eg: _open, _close, etc.). Technically, there won't be
|
||||
true reentrancy at the syscall level, but the library will be namespace
|
||||
clean.
|
||||
When you do this, set "syscall_dir" to "syscalls" in configure.in.
|
||||
|
||||
3) Define or otherwise provide the regular versions of the syscalls
|
||||
(eg: open, close, etc.). The library won't be reentrant nor namespace
|
||||
clean, but at least it will work.
|
||||
When you do this, add -DMISSING_SYSCALL_NAMES to target_cflags in
|
||||
configure.in.
|
||||
|
||||
Stubs of the reentrant versions of the syscalls exist in the libc/reent
|
||||
source directory and are used if REENTRANT_SYSCALLS_PROVIDED isn't defined.
|
||||
They use the native system calls: _open, _close, etc. if they're available
|
||||
(MISSING_SYSCALL_NAMES is *not* defined), otherwise open, close, etc.
|
||||
(MISSING_SYSCALL_NAMES *is* defined). */
|
||||
|
||||
/* WARNING: All identifiers here must begin with an underscore. This file is
|
||||
included by stdio.h and others and we therefore must only use identifiers
|
||||
in the namespace allotted to us. */
|
||||
|
||||
#ifndef _REENT_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _REENT_H_
|
||||
|
||||
#include <sys/reent.h>
|
||||
#include <sys/_types.h>
|
||||
#include <machine/types.h>
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
/* FIXME: not namespace clean */
|
||||
struct stat;
|
||||
struct tms;
|
||||
struct timeval;
|
||||
struct timezone;
|
||||
|
||||
/* Reentrant versions of system calls. */
|
||||
|
||||
extern int _close_r _PARAMS ((struct _reent *, int));
|
||||
extern int _execve_r _PARAMS ((struct _reent *, char *, char **, char **));
|
||||
extern int _fcntl_r _PARAMS ((struct _reent *, int, int, int));
|
||||
extern int _fork_r _PARAMS ((struct _reent *));
|
||||
extern int _fstat_r _PARAMS ((struct _reent *, int, struct stat *));
|
||||
extern int _getpid_r _PARAMS ((struct _reent *));
|
||||
extern int _kill_r _PARAMS ((struct _reent *, int, int));
|
||||
extern int _link_r _PARAMS ((struct _reent *, const char *, const char *));
|
||||
extern _off_t _lseek_r _PARAMS ((struct _reent *, int, _off_t, int));
|
||||
extern int _open_r _PARAMS ((struct _reent *, const char *, int, int));
|
||||
extern _ssize_t _read_r _PARAMS ((struct _reent *, int, void *, size_t));
|
||||
extern void *_sbrk_r _PARAMS ((struct _reent *, size_t));
|
||||
extern int _stat_r _PARAMS ((struct _reent *, const char *, struct stat *));
|
||||
extern _CLOCK_T_ _times_r _PARAMS ((struct _reent *, struct tms *));
|
||||
extern int _unlink_r _PARAMS ((struct _reent *, const char *));
|
||||
extern int _wait_r _PARAMS ((struct _reent *, int *));
|
||||
extern _ssize_t _write_r _PARAMS ((struct _reent *, int, const void *, size_t));
|
||||
|
||||
/* This one is not guaranteed to be available on all targets. */
|
||||
extern int _gettimeofday_r _PARAMS ((struct _reent *, struct timeval *tp, struct timezone *tzp));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _REENT_H_ */
|
7
newlib/libc/include/regdef.h
Normal file
7
newlib/libc/include/regdef.h
Normal file
@ -0,0 +1,7 @@
|
||||
/* regdef.h -- define register names. */
|
||||
|
||||
/* This is a standard include file for MIPS targets. Other target
|
||||
probably don't define it, and attempts to include this file will
|
||||
fail. */
|
||||
|
||||
#include <machine/regdef.h>
|
22
newlib/libc/include/setjmp.h
Normal file
22
newlib/libc/include/setjmp.h
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
setjmp.h
|
||||
stubs for future use.
|
||||
*/
|
||||
|
||||
#ifndef _SETJMP_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _SETJMP_H_
|
||||
|
||||
#include "_ansi.h"
|
||||
#include <machine/setjmp.h>
|
||||
|
||||
void _EXFUN(longjmp,(jmp_buf __jmpb, int __retval));
|
||||
int _EXFUN(setjmp,(jmp_buf __jmpb));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _SETJMP_H_ */
|
||||
|
37
newlib/libc/include/signal.h
Normal file
37
newlib/libc/include/signal.h
Normal file
@ -0,0 +1,37 @@
|
||||
#ifndef _SIGNAL_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _SIGNAL_H_
|
||||
|
||||
#include "_ansi.h"
|
||||
#include <sys/signal.h>
|
||||
|
||||
typedef int sig_atomic_t; /* Atomic entity type (ANSI) */
|
||||
|
||||
#if defined(__STDC__) || defined(__cplusplus)
|
||||
#define SIG_DFL ((void (*)(int))0) /* Default action */
|
||||
#define SIG_IGN ((void (*)(int))1) /* Ignore action */
|
||||
#define SIG_ERR ((void (*)(int))-1) /* Error return */
|
||||
#else
|
||||
#define SIG_DFL ((void (*)())0) /* Default action */
|
||||
#define SIG_IGN ((void (*)())1) /* Ignore action */
|
||||
#define SIG_ERR ((void (*)())-1) /* Error return */
|
||||
#endif
|
||||
|
||||
typedef void (*_sig_func_ptr) (int);
|
||||
|
||||
struct _reent;
|
||||
|
||||
_sig_func_ptr _EXFUN(_signal_r, (struct _reent *, int, _sig_func_ptr));
|
||||
int _EXFUN(_raise_r, (struct _reent *, int));
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
_sig_func_ptr _EXFUN(signal, (int, _sig_func_ptr));
|
||||
int _EXFUN(raise, (int));
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _SIGNAL_H_ */
|
313
newlib/libc/include/stdio.h
Normal file
313
newlib/libc/include/stdio.h
Normal file
@ -0,0 +1,313 @@
|
||||
/*
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms are permitted
|
||||
* provided that the above copyright notice and this paragraph are
|
||||
* duplicated in all such forms and that any documentation,
|
||||
* advertising materials, and other materials related to such
|
||||
* distribution and use acknowledge that the software was developed
|
||||
* by the University of California, Berkeley. The name of the
|
||||
* University may not be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
* @(#)stdio.h 5.3 (Berkeley) 3/15/86
|
||||
*/
|
||||
|
||||
/*
|
||||
* NB: to fit things in six character monocase externals, the
|
||||
* stdio code uses the prefix `__s' for stdio objects, typically
|
||||
* followed by a three-character attempt at a mnemonic.
|
||||
*/
|
||||
|
||||
#ifndef _STDIO_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _STDIO_H_
|
||||
|
||||
#include "_ansi.h"
|
||||
|
||||
#define _FSTDIO /* ``function stdio'' */
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
#define __need___va_list
|
||||
#include <stdarg.h>
|
||||
|
||||
/*
|
||||
* <sys/reent.h> defines __sFILE, _fpos_t.
|
||||
* They must be defined there because struct _reent needs them (and we don't
|
||||
* want reent.h to include this file.
|
||||
*/
|
||||
|
||||
#include <sys/reent.h>
|
||||
|
||||
typedef _fpos_t fpos_t;
|
||||
|
||||
typedef struct __sFILE FILE;
|
||||
|
||||
#define __SLBF 0x0001 /* line buffered */
|
||||
#define __SNBF 0x0002 /* unbuffered */
|
||||
#define __SRD 0x0004 /* OK to read */
|
||||
#define __SWR 0x0008 /* OK to write */
|
||||
/* RD and WR are never simultaneously asserted */
|
||||
#define __SRW 0x0010 /* open for reading & writing */
|
||||
#define __SEOF 0x0020 /* found EOF */
|
||||
#define __SERR 0x0040 /* found error */
|
||||
#define __SMBF 0x0080 /* _buf is from malloc */
|
||||
#define __SAPP 0x0100 /* fdopen()ed in append mode - so must write to end */
|
||||
#define __SSTR 0x0200 /* this is an sprintf/snprintf string */
|
||||
#define __SOPT 0x0400 /* do fseek() optimisation */
|
||||
#define __SNPT 0x0800 /* do not do fseek() optimisation */
|
||||
#define __SOFF 0x1000 /* set iff _offset is in fact correct */
|
||||
#define __SMOD 0x2000 /* true => fgetline modified _p text */
|
||||
|
||||
/*
|
||||
* The following three definitions are for ANSI C, which took them
|
||||
* from System V, which stupidly took internal interface macros and
|
||||
* made them official arguments to setvbuf(), without renaming them.
|
||||
* Hence, these ugly _IOxxx names are *supposed* to appear in user code.
|
||||
*
|
||||
* Although these happen to match their counterparts above, the
|
||||
* implementation does not rely on that (so these could be renumbered).
|
||||
*/
|
||||
#define _IOFBF 0 /* setvbuf should set fully buffered */
|
||||
#define _IOLBF 1 /* setvbuf should set line buffered */
|
||||
#define _IONBF 2 /* setvbuf should set unbuffered */
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
#define BUFSIZ 1024
|
||||
#define EOF (-1)
|
||||
|
||||
#define FOPEN_MAX 20 /* must be <= OPEN_MAX <sys/syslimits.h> */
|
||||
#define FILENAME_MAX 1024 /* must be <= PATH_MAX <sys/syslimits.h> */
|
||||
#define L_tmpnam 1024 /* XXX must be == PATH_MAX */
|
||||
#ifndef __STRICT_ANSI__
|
||||
#define P_tmpdir "/tmp"
|
||||
#endif
|
||||
|
||||
#ifndef SEEK_SET
|
||||
#define SEEK_SET 0 /* set file offset to offset */
|
||||
#endif
|
||||
#ifndef SEEK_CUR
|
||||
#define SEEK_CUR 1 /* set file offset to current plus offset */
|
||||
#endif
|
||||
#ifndef SEEK_END
|
||||
#define SEEK_END 2 /* set file offset to EOF plus offset */
|
||||
#endif
|
||||
|
||||
#define TMP_MAX 26
|
||||
|
||||
#define stdin (_impure_ptr->_stdin)
|
||||
#define stdout (_impure_ptr->_stdout)
|
||||
#define stderr (_impure_ptr->_stderr)
|
||||
|
||||
#define _stdin_r(x) ((x)->_stdin)
|
||||
#define _stdout_r(x) ((x)->_stdout)
|
||||
#define _stderr_r(x) ((x)->_stderr)
|
||||
|
||||
/*
|
||||
* Functions defined in ANSI C standard.
|
||||
*/
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define __VALIST __gnuc_va_list
|
||||
#else
|
||||
#define __VALIST char*
|
||||
#endif
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
int _EXFUN(remove, (const char *));
|
||||
int _EXFUN(rename, (const char *, const char *));
|
||||
#endif
|
||||
char * _EXFUN(tempnam, (const char *, const char *));
|
||||
FILE * _EXFUN(tmpfile, (void));
|
||||
char * _EXFUN(tmpnam, (char *));
|
||||
int _EXFUN(fclose, (FILE *));
|
||||
int _EXFUN(fflush, (FILE *));
|
||||
FILE * _EXFUN(freopen, (const char *, const char *, FILE *));
|
||||
void _EXFUN(setbuf, (FILE *, char *));
|
||||
int _EXFUN(setvbuf, (FILE *, char *, int, size_t));
|
||||
int _EXFUN(fprintf, (FILE *, const char *, ...));
|
||||
int _EXFUN(fscanf, (FILE *, const char *, ...));
|
||||
int _EXFUN(printf, (const char *, ...));
|
||||
int _EXFUN(scanf, (const char *, ...));
|
||||
int _EXFUN(sscanf, (const char *, const char *, ...));
|
||||
int _EXFUN(vfprintf, (FILE *, const char *, __VALIST));
|
||||
int _EXFUN(vprintf, (const char *, __VALIST));
|
||||
int _EXFUN(vsprintf, (char *, const char *, __VALIST));
|
||||
int _EXFUN(vsnprintf, (char *, size_t, const char *, __VALIST));
|
||||
int _EXFUN(fgetc, (FILE *));
|
||||
char * _EXFUN(fgets, (char *, int, FILE *));
|
||||
int _EXFUN(fputc, (int, FILE *));
|
||||
int _EXFUN(fputs, (const char *, FILE *));
|
||||
int _EXFUN(getc, (FILE *));
|
||||
int _EXFUN(getchar, (void));
|
||||
char * _EXFUN(gets, (char *));
|
||||
int _EXFUN(putc, (int, FILE *));
|
||||
int _EXFUN(putchar, (int));
|
||||
int _EXFUN(puts, (const char *));
|
||||
int _EXFUN(ungetc, (int, FILE *));
|
||||
size_t _EXFUN(fread, (_PTR, size_t _size, size_t _n, FILE *));
|
||||
size_t _EXFUN(fwrite, (const _PTR , size_t _size, size_t _n, FILE *));
|
||||
int _EXFUN(fgetpos, (FILE *, fpos_t *));
|
||||
int _EXFUN(fseek, (FILE *, long, int));
|
||||
int _EXFUN(fsetpos, (FILE *, const fpos_t *));
|
||||
long _EXFUN(ftell, ( FILE *));
|
||||
void _EXFUN(rewind, (FILE *));
|
||||
void _EXFUN(clearerr, (FILE *));
|
||||
int _EXFUN(feof, (FILE *));
|
||||
int _EXFUN(ferror, (FILE *));
|
||||
void _EXFUN(perror, (const char *));
|
||||
#ifndef _REENT_ONLY
|
||||
FILE * _EXFUN(fopen, (const char *_name, const char *_type));
|
||||
int _EXFUN(sprintf, (char *, const char *, ...));
|
||||
int _EXFUN(snprintf, (char *, size_t, const char *, ...));
|
||||
#endif
|
||||
#ifndef __STRICT_ANSI__
|
||||
int _EXFUN(vfiprintf, (FILE *, const char *, __VALIST));
|
||||
int _EXFUN(iprintf, (const char *, ...));
|
||||
int _EXFUN(fiprintf, (FILE *, const char *, ...));
|
||||
int _EXFUN(siprintf, (char *, const char *, ...));
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Routines in POSIX 1003.1.
|
||||
*/
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
#ifndef _REENT_ONLY
|
||||
FILE * _EXFUN(fdopen, (int, const char *));
|
||||
#endif
|
||||
int _EXFUN(fileno, (FILE *));
|
||||
int _EXFUN(getw, (FILE *));
|
||||
int _EXFUN(pclose, (FILE *));
|
||||
FILE * _EXFUN(popen, (const char *, const char *));
|
||||
int _EXFUN(putw, (int, FILE *));
|
||||
void _EXFUN(setbuffer, (FILE *, char *, int));
|
||||
int _EXFUN(setlinebuf, (FILE *));
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Recursive versions of the above.
|
||||
*/
|
||||
|
||||
FILE * _EXFUN(_fdopen_r, (struct _reent *, int, const char *));
|
||||
FILE * _EXFUN(_fopen_r, (struct _reent *, const char *, const char *));
|
||||
int _EXFUN(_getchar_r, (struct _reent *));
|
||||
char * _EXFUN(_gets_r, (struct _reent *, char *));
|
||||
int _EXFUN(_iprintf_r, (struct _reent *, const char *, ...));
|
||||
int _EXFUN(_mkstemp_r, (struct _reent *, char *));
|
||||
char * _EXFUN(_mktemp_r, (struct _reent *, char *));
|
||||
void _EXFUN(_perror_r, (struct _reent *, const char *));
|
||||
int _EXFUN(_printf_r, (struct _reent *, const char *, ...));
|
||||
int _EXFUN(_putchar_r, (struct _reent *, int));
|
||||
int _EXFUN(_puts_r, (struct _reent *, const char *));
|
||||
int _EXFUN(_remove_r, (struct _reent *, const char *));
|
||||
int _EXFUN(_rename_r, (struct _reent *,
|
||||
const char *_old, const char *_new));
|
||||
int _EXFUN(_scanf_r, (struct _reent *, const char *, ...));
|
||||
int _EXFUN(_sprintf_r, (struct _reent *, char *, const char *, ...));
|
||||
int _EXFUN(_snprintf_r, (struct _reent *, char *, size_t, const char *, ...));
|
||||
char * _EXFUN(_tempnam_r, (struct _reent *, const char *, const char *));
|
||||
FILE * _EXFUN(_tmpfile_r, (struct _reent *));
|
||||
char * _EXFUN(_tmpnam_r, (struct _reent *, char *));
|
||||
int _EXFUN(_vfprintf_r, (struct _reent *, FILE *, const char *, __VALIST));
|
||||
int _EXFUN(_vprintf_r, (struct _reent *, const char *, __VALIST));
|
||||
int _EXFUN(_vsprintf_r, (struct _reent *, char *, const char *, __VALIST));
|
||||
int _EXFUN(_vsnprintf_r, (struct _reent *, char *, size_t, const char *, __VALIST));
|
||||
|
||||
/*
|
||||
* Routines internal to the implementation.
|
||||
*/
|
||||
|
||||
int _EXFUN(__srget, (FILE *));
|
||||
int _EXFUN(__swbuf, (int, FILE *));
|
||||
|
||||
/*
|
||||
* Stdio function-access interface.
|
||||
*/
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
FILE *_EXFUN(funopen,(const _PTR _cookie,
|
||||
int (*readfn)(_PTR _cookie, char *_buf, int _n),
|
||||
int (*writefn)(_PTR _cookie, const char *_buf, int _n),
|
||||
fpos_t (*seekfn)(_PTR _cookie, fpos_t _off, int _whence),
|
||||
int (*closefn)(_PTR _cookie)));
|
||||
|
||||
#define fropen(cookie, fn) funopen(cookie, fn, (int (*)())0, (fpos_t (*)())0, (int (*)())0)
|
||||
#define fwopen(cookie, fn) funopen(cookie, (int (*)())0, fn, (fpos_t (*)())0, (int (*)())0)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The __sfoo macros are here so that we can
|
||||
* define function versions in the C library.
|
||||
*/
|
||||
#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++))
|
||||
#ifdef _never /* __GNUC__ */
|
||||
/* If this inline is actually used, then systems using coff debugging
|
||||
info get hopelessly confused. 21sept93 rich@cygnus.com. */
|
||||
static __inline int __sputc(int _c, FILE *_p) {
|
||||
if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
|
||||
return (*_p->_p++ = _c);
|
||||
else
|
||||
return (__swbuf(_c, _p));
|
||||
}
|
||||
#else
|
||||
/*
|
||||
* This has been tuned to generate reasonable code on the vax using pcc
|
||||
*/
|
||||
#define __sputc(c, p) \
|
||||
(--(p)->_w < 0 ? \
|
||||
(p)->_w >= (p)->_lbfsize ? \
|
||||
(*(p)->_p = (c)), *(p)->_p != '\n' ? \
|
||||
(int)*(p)->_p++ : \
|
||||
__swbuf('\n', p) : \
|
||||
__swbuf((int)(c), p) : \
|
||||
(*(p)->_p = (c), (int)*(p)->_p++))
|
||||
#endif
|
||||
|
||||
#define __sfeof(p) (((p)->_flags & __SEOF) != 0)
|
||||
#define __sferror(p) (((p)->_flags & __SERR) != 0)
|
||||
#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF)))
|
||||
#define __sfileno(p) ((p)->_file)
|
||||
|
||||
#define feof(p) __sfeof(p)
|
||||
#define ferror(p) __sferror(p)
|
||||
#define clearerr(p) __sclearerr(p)
|
||||
|
||||
#if 0 /*ndef __STRICT_ANSI__ - FIXME: must initialize stdio first, use fn */
|
||||
#define fileno(p) __sfileno(p)
|
||||
#endif
|
||||
|
||||
#ifndef lint
|
||||
#define getc(fp) __sgetc(fp)
|
||||
#define putc(x, fp) __sputc(x, fp)
|
||||
#endif /* lint */
|
||||
|
||||
#define getchar() getc(stdin)
|
||||
#define putchar(x) putc(x, stdout)
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
/* fast always-buffered version, true iff error */
|
||||
#define fast_putc(x,p) (--(p)->_w < 0 ? \
|
||||
__swbuf((int)(x), p) == EOF : (*(p)->_p = (x), (p)->_p++, 0))
|
||||
|
||||
#define L_cuserid 9 /* posix says it goes in stdio.h :( */
|
||||
#ifdef __CYGWIN32__
|
||||
#define L_ctermid 16
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _STDIO_H_ */
|
142
newlib/libc/include/stdlib.h
Normal file
142
newlib/libc/include/stdlib.h
Normal file
@ -0,0 +1,142 @@
|
||||
/*
|
||||
* stdlib.h
|
||||
*
|
||||
* Definitions for common types, variables, and functions.
|
||||
*/
|
||||
|
||||
#ifndef _STDLIB_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _STDLIB_H_
|
||||
|
||||
#include "_ansi.h"
|
||||
|
||||
#define __need_size_t
|
||||
#define __need_wchar_t
|
||||
#include <stddef.h>
|
||||
|
||||
#include <sys/reent.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int quot; /* quotient */
|
||||
int rem; /* remainder */
|
||||
} div_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
long quot; /* quotient */
|
||||
long rem; /* remainder */
|
||||
} ldiv_t;
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
#define EXIT_FAILURE 1
|
||||
#define EXIT_SUCCESS 0
|
||||
|
||||
#define RAND_MAX 0x7fffffff
|
||||
|
||||
#if (defined(__CYGWIN__) || defined(__CYGWIN32__)) && ! defined(_COMPILING_NEWLIB)
|
||||
extern __declspec(dllimport) int __mb_cur_max;
|
||||
#else
|
||||
extern int __mb_cur_max;
|
||||
#endif
|
||||
|
||||
#define MB_CUR_MAX __mb_cur_max
|
||||
|
||||
_VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn)));
|
||||
int _EXFUN(abs,(int));
|
||||
int _EXFUN(atexit,(_VOID (*__func)(_VOID)));
|
||||
double _EXFUN(atof,(const char *__nptr));
|
||||
#ifndef __STRICT_ANSI__
|
||||
float _EXFUN(atoff,(const char *__nptr));
|
||||
#endif
|
||||
int _EXFUN(atoi,(const char *__nptr));
|
||||
long _EXFUN(atol,(const char *__nptr));
|
||||
_PTR _EXFUN(bsearch,(const _PTR __key,
|
||||
const _PTR __base,
|
||||
size_t __nmemb,
|
||||
size_t __size,
|
||||
int _EXFUN((*_compar),(const _PTR, const _PTR))));
|
||||
_PTR _EXFUN(calloc,(size_t __nmemb, size_t __size));
|
||||
div_t _EXFUN(div,(int __numer, int __denom));
|
||||
_VOID _EXFUN(exit,(int __status) _ATTRIBUTE ((noreturn)));
|
||||
_VOID _EXFUN(free,(_PTR));
|
||||
char * _EXFUN(getenv,(const char *__string));
|
||||
char * _EXFUN(_getenv_r,(struct _reent *, const char *__string));
|
||||
char * _EXFUN(_findenv,(_CONST char *, int *));
|
||||
char * _EXFUN(_findenv_r,(struct _reent *, _CONST char *, int *));
|
||||
long _EXFUN(labs,(long));
|
||||
ldiv_t _EXFUN(ldiv,(long __numer, long __denom));
|
||||
_PTR _EXFUN(malloc,(size_t __size));
|
||||
int _EXFUN(mblen,(const char *, size_t));
|
||||
int _EXFUN(_mblen_r,(struct _reent *, const char *, size_t, int *));
|
||||
int _EXFUN(mbtowc,(wchar_t *, const char *, size_t));
|
||||
int _EXFUN(_mbtowc_r,(struct _reent *, wchar_t *, const char *, size_t, int *));
|
||||
int _EXFUN(wctomb,(char *, wchar_t));
|
||||
int _EXFUN(_wctomb_r,(struct _reent *, char *, wchar_t, int *));
|
||||
size_t _EXFUN(mbstowcs,(wchar_t *, const char *, size_t));
|
||||
size_t _EXFUN(_mbstowcs_r,(struct _reent *, wchar_t *, const char *, size_t, int *));
|
||||
size_t _EXFUN(wcstombs,(char *, const wchar_t *, size_t));
|
||||
size_t _EXFUN(_wcstombs_r,(struct _reent *, char *, const wchar_t *, size_t, int *));
|
||||
_VOID _EXFUN(qsort,(_PTR __base, size_t __nmemb, size_t __size, int(*_compar)(const _PTR, const _PTR)));
|
||||
int _EXFUN(rand,(_VOID));
|
||||
_PTR _EXFUN(realloc,(_PTR __r, size_t __size));
|
||||
_VOID _EXFUN(srand,(unsigned __seed));
|
||||
double _EXFUN(strtod,(const char *__n, char **_end_PTR));
|
||||
#ifndef __STRICT_ANSI__
|
||||
float _EXFUN(strtodf,(const char *__n, char **_end_PTR));
|
||||
#endif
|
||||
long _EXFUN(strtol,(const char *__n, char **_end_PTR, int __base));
|
||||
unsigned long _EXFUN(strtoul,(const char *_n_PTR, char **_end_PTR, int __base));
|
||||
unsigned long _EXFUN(_strtoul_r,(struct _reent *,const char *_n_PTR, char **_end_PTR, int __base));
|
||||
int _EXFUN(system,(const char *__string));
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
_VOID _EXFUN(cfree,(_PTR));
|
||||
int _EXFUN(putenv,(const char *__string));
|
||||
int _EXFUN(_putenv_r,(struct _reent *, const char *__string));
|
||||
int _EXFUN(setenv,(const char *__string, const char *__value, int __overwrite));
|
||||
int _EXFUN(_setenv_r,(struct _reent *, const char *__string, const char *__value, int __overwrite));
|
||||
|
||||
char * _EXFUN(gcvt,(double,int,char *));
|
||||
char * _EXFUN(gcvtf,(float,int,char *));
|
||||
char * _EXFUN(fcvt,(double,int,int *,int *));
|
||||
char * _EXFUN(fcvtf,(float,int,int *,int *));
|
||||
char * _EXFUN(ecvt,(double,int,int *,int *));
|
||||
char * _EXFUN(ecvtbuf,(double, int, int*, int*, char *));
|
||||
char * _EXFUN(fcvtbuf,(double, int, int*, int*, char *));
|
||||
char * _EXFUN(ecvtf,(float,int,int *,int *));
|
||||
char * _EXFUN(dtoa,(double, int, int, int *, int*, char**));
|
||||
int _EXFUN(rand_r,(unsigned *__seed));
|
||||
|
||||
#ifdef __CYGWIN32__
|
||||
char * _EXFUN(realpath,(const char *, char *));
|
||||
void _EXFUN(unsetenv,(const char *__string));
|
||||
void _EXFUN(_unsetenv_r,(struct _reent *, const char *__string));
|
||||
int _EXFUN(random,(_VOID));
|
||||
long _EXFUN(srandom,(unsigned __seed));
|
||||
char * _EXFUN(ptsname, (int));
|
||||
int _EXFUN(grantpt, (int));
|
||||
int _EXFUN(unlockpt,(int));
|
||||
#endif
|
||||
|
||||
#endif /* ! __STRICT_ANSI__ */
|
||||
|
||||
char * _EXFUN(_dtoa_r,(struct _reent *, double, int, int, int *, int*, char**));
|
||||
_PTR _EXFUN(_malloc_r,(struct _reent *, size_t));
|
||||
_PTR _EXFUN(_calloc_r,(struct _reent *, size_t, size_t));
|
||||
_VOID _EXFUN(_free_r,(struct _reent *, _PTR));
|
||||
_PTR _EXFUN(_realloc_r,(struct _reent *, _PTR, size_t));
|
||||
_VOID _EXFUN(_mstats_r,(struct _reent *, char *));
|
||||
int _EXFUN(_system_r,(struct _reent *, const char *));
|
||||
|
||||
_VOID _EXFUN(__eprintf,(const char *, const char *, unsigned int, const char *));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _STDLIB_H_ */
|
92
newlib/libc/include/string.h
Normal file
92
newlib/libc/include/string.h
Normal file
@ -0,0 +1,92 @@
|
||||
/*
|
||||
* string.h
|
||||
*
|
||||
* Definitions for memory and string functions.
|
||||
*/
|
||||
|
||||
#ifndef _STRING_H_
|
||||
#define _STRING_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "_ansi.h"
|
||||
#include <sys/reent.h>
|
||||
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
_PTR _EXFUN(memchr,(const _PTR, int, size_t));
|
||||
int _EXFUN(memcmp,(const _PTR, const _PTR, size_t));
|
||||
_PTR _EXFUN(memcpy,(_PTR, const _PTR, size_t));
|
||||
_PTR _EXFUN(memmove,(_PTR, const _PTR, size_t));
|
||||
_PTR _EXFUN(memset,(_PTR, int, size_t));
|
||||
char *_EXFUN(strcat,(char *, const char *));
|
||||
char *_EXFUN(strchr,(const char *, int));
|
||||
int _EXFUN(strcmp,(const char *, const char *));
|
||||
int _EXFUN(strcoll,(const char *, const char *));
|
||||
char *_EXFUN(strcpy,(char *, const char *));
|
||||
size_t _EXFUN(strcspn,(const char *, const char *));
|
||||
char *_EXFUN(strerror,(int));
|
||||
size_t _EXFUN(strlen,(const char *));
|
||||
char *_EXFUN(strncat,(char *, const char *, size_t));
|
||||
int _EXFUN(strncmp,(const char *, const char *, size_t));
|
||||
char *_EXFUN(strncpy,(char *, const char *, size_t));
|
||||
char *_EXFUN(strpbrk,(const char *, const char *));
|
||||
char *_EXFUN(strrchr,(const char *, int));
|
||||
size_t _EXFUN(strspn,(const char *, const char *));
|
||||
char *_EXFUN(strstr,(const char *, const char *));
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
char *_EXFUN(strtok,(char *, const char *));
|
||||
#endif
|
||||
|
||||
size_t _EXFUN(strxfrm,(char *, const char *, size_t));
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
char *_EXFUN(strtok_r,(char *, const char *, char **));
|
||||
|
||||
int _EXFUN(bcmp,(const char *, const char *, size_t));
|
||||
void _EXFUN(bcopy,(const char *, char *, size_t));
|
||||
void _EXFUN(bzero,(char *, size_t));
|
||||
int _EXFUN(ffs,(int));
|
||||
char *_EXFUN(index,(const char *, int));
|
||||
_PTR _EXFUN(memccpy,(_PTR, const _PTR, int, size_t));
|
||||
char *_EXFUN(rindex,(const char *, int));
|
||||
int _EXFUN(strcasecmp,(const char *, const char *));
|
||||
char *_EXFUN(strdup,(const char *));
|
||||
char *_EXFUN(_strdup_r,(struct _reent *, const char *));
|
||||
int _EXFUN(strncasecmp,(const char *, const char *, size_t));
|
||||
char *_EXFUN(strsep,(char **, const char *));
|
||||
char *_EXFUN(strlwr,(char *));
|
||||
char *_EXFUN(strupr,(char *));
|
||||
#ifdef __CYGWIN32__
|
||||
char *_EXFUN(strsignal, (int __signo));
|
||||
int _EXFUN(strtosigno, (const char *__name));
|
||||
#endif
|
||||
|
||||
/* These function names are used on Windows and perhaps other systems. */
|
||||
#ifndef strcmpi
|
||||
#define strcmpi strcasecmp
|
||||
#endif
|
||||
#ifndef stricmp
|
||||
#define stricmp strcasecmp
|
||||
#endif
|
||||
#ifndef strncmpi
|
||||
#define strncmpi strncasecmp
|
||||
#endif
|
||||
#ifndef strnicmp
|
||||
#define strnicmp strncasecmp
|
||||
#endif
|
||||
|
||||
#endif /* ! __STRICT_ANSI__ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _STRING_H_ */
|
15
newlib/libc/include/sys/_types.h
Normal file
15
newlib/libc/include/sys/_types.h
Normal file
@ -0,0 +1,15 @@
|
||||
/* ANSI C namespace clean utility typedefs */
|
||||
|
||||
/* This file defines various typedefs needed by the system calls that support
|
||||
the C library. Basically, they're just the POSIX versions with an '_'
|
||||
prepended. This file lives in the `sys' directory so targets can provide
|
||||
their own if desired (or they can put target dependant conditionals here).
|
||||
*/
|
||||
|
||||
#ifndef _SYS__TYPES_H
|
||||
#define _SYS__TYPES_H
|
||||
|
||||
typedef long _off_t;
|
||||
typedef long _ssize_t;
|
||||
|
||||
#endif /* _SYS__TYPES_H */
|
115
newlib/libc/include/sys/config.h
Normal file
115
newlib/libc/include/sys/config.h
Normal file
@ -0,0 +1,115 @@
|
||||
#ifndef __SYS_CONFIG_H__
|
||||
#define __SYS_CONFIG_H__
|
||||
|
||||
/* exceptions first */
|
||||
/* ??? Why is much of this stuff duplicated with machine/ieeefp.h? */
|
||||
#if defined(__H8300__) || defined(__H8500__) || defined (__H8300H__) || defined(__W65__) || defined (__H8300S__)
|
||||
#define _FLOAT_ARG float
|
||||
#define __SMALL_BITFIELDS
|
||||
#define _DOUBLE_IS_32BITS
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
/* ??? This conditional is true for the h8500 and the w65, defining H8300
|
||||
in those cases probably isn't the right thing to do. */
|
||||
#define H8300 1
|
||||
#endif
|
||||
|
||||
#ifdef __W65__
|
||||
#define _DOUBLE_IS_32BITS
|
||||
#define __SMALL_BITFIELDS
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#undef INT_MAX
|
||||
#undef UINT_MAX
|
||||
#define INT_MAX 32767
|
||||
#define UINT_MAX 65535
|
||||
|
||||
#endif
|
||||
|
||||
/* 16 bit integer machines */
|
||||
#if defined(__Z8001__) || defined(__Z8002__) || defined(__H8300__) || defined(__H8500__) || defined(__W65__) || defined (__H8300H__) || defined (__H8300S__) || defined (__mn10200__)
|
||||
|
||||
#undef INT_MAX
|
||||
#undef UINT_MAX
|
||||
#define INT_MAX 32767
|
||||
#define UINT_MAX 65535
|
||||
#endif
|
||||
|
||||
#if defined(__D10V__)
|
||||
#undef INT_MAX
|
||||
#undef UINT_MAX
|
||||
#define INT_MAX __INT_MAX__
|
||||
#define UINT_MAX (__INT_MAX__ * 2U + 1)
|
||||
#define _DOUBLE_IS_32BITS
|
||||
#define _POINTER_INT short
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef ___AM29K__
|
||||
#define _FLOAT_RET double
|
||||
#endif
|
||||
|
||||
#ifdef __i386__
|
||||
#ifndef __unix__
|
||||
/* in other words, go32 */
|
||||
#define _FLOAT_RET double
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __M32R__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __m68k__
|
||||
/* This is defined in machine/ieeefp.h; need to check is it redundant here? */
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __mn10300__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __mn10200__
|
||||
#define _DOUBLE_IS_32BITS
|
||||
#define __SMALL_BITFIELDS
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __TIC80__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#ifdef __v850
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__))
|
||||
#endif
|
||||
|
||||
#ifdef __D30V__
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
|
||||
/* For the PowerPC eabi, force the _impure_ptr to be in .sdata */
|
||||
#if defined(__PPC__) && defined(_CALL_SYSV)
|
||||
#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
|
||||
#endif
|
||||
|
||||
#ifdef __sparc__
|
||||
#ifdef __LITTLE_ENDIAN_DATA__
|
||||
#define __IEEE_LITTLE_ENDIAN
|
||||
#else
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if INT_MAX == 32767
|
||||
typedef long int __int32_t;
|
||||
typedef unsigned long int __uint32_t;
|
||||
#else
|
||||
typedef int __int32_t;
|
||||
typedef unsigned int __uint32_t;
|
||||
#endif
|
||||
|
||||
#ifndef _POINTER_INT
|
||||
#define _POINTER_INT long
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __SYS_CONFIG_H__ */
|
15
newlib/libc/include/sys/dirent.h
Normal file
15
newlib/libc/include/sys/dirent.h
Normal file
@ -0,0 +1,15 @@
|
||||
/* <dirent.h> includes <sys/dirent.h>, which is this file. On a
|
||||
system which supports <dirent.h>, this file is overridden by
|
||||
dirent.h in the libc/sys/.../sys directory. On a system which does
|
||||
not support <dirent.h>, we will get this file which tries to find
|
||||
any other <dirent.h> which may be lurking around. If there isn't
|
||||
one, the user will get an error indicating that there is no
|
||||
<dirent.h>. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include_next <dirent.h>
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
154
newlib/libc/include/sys/errno.h
Normal file
154
newlib/libc/include/sys/errno.h
Normal file
@ -0,0 +1,154 @@
|
||||
/* errno is not a global variable, because that would make using it
|
||||
non-reentrant. Instead, its address is returned by the function
|
||||
__errno. */
|
||||
|
||||
#ifndef _SYS_ERRNO_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _SYS_ERRNO_H_
|
||||
|
||||
#include <sys/reent.h>
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
#define errno (*__errno())
|
||||
extern int *__errno _PARAMS ((void));
|
||||
#endif
|
||||
|
||||
#if !defined(__CYGWIN32__) || defined(__INSIDE_CYGWIN__)
|
||||
extern _CONST char * _CONST _sys_errlist[];
|
||||
extern int _sys_nerr;
|
||||
#else
|
||||
extern _CONST char * _CONST _sys_errlist[] __declspec(dllimport);
|
||||
extern int _sys_nerr __declspec(dllimport);
|
||||
#endif
|
||||
|
||||
#define __errno_r(ptr) ((ptr)->_errno)
|
||||
|
||||
#define EPERM 1 /* Not super-user */
|
||||
#define ENOENT 2 /* No such file or directory */
|
||||
#define ESRCH 3 /* No such process */
|
||||
#define EINTR 4 /* Interrupted system call */
|
||||
#define EIO 5 /* I/O error */
|
||||
#define ENXIO 6 /* No such device or address */
|
||||
#define E2BIG 7 /* Arg list too long */
|
||||
#define ENOEXEC 8 /* Exec format error */
|
||||
#define EBADF 9 /* Bad file number */
|
||||
#define ECHILD 10 /* No children */
|
||||
#define EAGAIN 11 /* No more processes */
|
||||
#define ENOMEM 12 /* Not enough core */
|
||||
#define EACCES 13 /* Permission denied */
|
||||
#define EFAULT 14 /* Bad address */
|
||||
#define ENOTBLK 15 /* Block device required */
|
||||
#define EBUSY 16 /* Mount device busy */
|
||||
#define EEXIST 17 /* File exists */
|
||||
#define EXDEV 18 /* Cross-device link */
|
||||
#define ENODEV 19 /* No such device */
|
||||
#define ENOTDIR 20 /* Not a directory */
|
||||
#define EISDIR 21 /* Is a directory */
|
||||
#define EINVAL 22 /* Invalid argument */
|
||||
#define ENFILE 23 /* Too many open files in system */
|
||||
#define EMFILE 24 /* Too many open files */
|
||||
#define ENOTTY 25 /* Not a typewriter */
|
||||
#define ETXTBSY 26 /* Text file busy */
|
||||
#define EFBIG 27 /* File too large */
|
||||
#define ENOSPC 28 /* No space left on device */
|
||||
#define ESPIPE 29 /* Illegal seek */
|
||||
#define EROFS 30 /* Read only file system */
|
||||
#define EMLINK 31 /* Too many links */
|
||||
#define EPIPE 32 /* Broken pipe */
|
||||
#define EDOM 33 /* Math arg out of domain of func */
|
||||
#define ERANGE 34 /* Math result not representable */
|
||||
#define ENOMSG 35 /* No message of desired type */
|
||||
#define EIDRM 36 /* Identifier removed */
|
||||
#define ECHRNG 37 /* Channel number out of range */
|
||||
#define EL2NSYNC 38 /* Level 2 not synchronized */
|
||||
#define EL3HLT 39 /* Level 3 halted */
|
||||
#define EL3RST 40 /* Level 3 reset */
|
||||
#define ELNRNG 41 /* Link number out of range */
|
||||
#define EUNATCH 42 /* Protocol driver not attached */
|
||||
#define ENOCSI 43 /* No CSI structure available */
|
||||
#define EL2HLT 44 /* Level 2 halted */
|
||||
#define EDEADLK 45 /* Deadlock condition */
|
||||
#define ENOLCK 46 /* No record locks available */
|
||||
#define EBADE 50 /* Invalid exchange */
|
||||
#define EBADR 51 /* Invalid request descriptor */
|
||||
#define EXFULL 52 /* Exchange full */
|
||||
#define ENOANO 53 /* No anode */
|
||||
#define EBADRQC 54 /* Invalid request code */
|
||||
#define EBADSLT 55 /* Invalid slot */
|
||||
#define EDEADLOCK 56 /* File locking deadlock error */
|
||||
#define EBFONT 57 /* Bad font file fmt */
|
||||
#define ENOSTR 60 /* Device not a stream */
|
||||
#define ENODATA 61 /* No data (for no delay io) */
|
||||
#define ETIME 62 /* Timer expired */
|
||||
#define ENOSR 63 /* Out of streams resources */
|
||||
#define ENONET 64 /* Machine is not on the network */
|
||||
#define ENOPKG 65 /* Package not installed */
|
||||
#define EREMOTE 66 /* The object is remote */
|
||||
#define ENOLINK 67 /* The link has been severed */
|
||||
#define EADV 68 /* Advertise error */
|
||||
#define ESRMNT 69 /* Srmount error */
|
||||
#define ECOMM 70 /* Communication error on send */
|
||||
#define EPROTO 71 /* Protocol error */
|
||||
#define EMULTIHOP 74 /* Multihop attempted */
|
||||
#define ELBIN 75 /* Inode is remote (not really error) */
|
||||
#define EDOTDOT 76 /* Cross mount point (not really error) */
|
||||
#define EBADMSG 77 /* Trying to read unreadable message */
|
||||
#define ENOTUNIQ 80 /* Given log. name not unique */
|
||||
#define EBADFD 81 /* f.d. invalid for this operation */
|
||||
#define EREMCHG 82 /* Remote address changed */
|
||||
#define ELIBACC 83 /* Can't access a needed shared lib */
|
||||
#define ELIBBAD 84 /* Accessing a corrupted shared lib */
|
||||
#define ELIBSCN 85 /* .lib section in a.out corrupted */
|
||||
#define ELIBMAX 86 /* Attempting to link in too many libs */
|
||||
#define ELIBEXEC 87 /* Attempting to exec a shared library */
|
||||
#define ENOSYS 88 /* Function not implemented */
|
||||
#define ENMFILE 89 /* No more files */
|
||||
#define ENOTEMPTY 90 /* Directory not empty */
|
||||
#define ENAMETOOLONG 91 /* File or path name too long */
|
||||
#define ELOOP 92 /* Too many symbolic links */
|
||||
#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
|
||||
#define EPFNOSUPPORT 96 /* Protocol family not supported */
|
||||
#define ECONNRESET 104 /* Connection reset by peer */
|
||||
#define ENOBUFS 105 /* No buffer space available */
|
||||
#define EAFNOSUPPORT 106
|
||||
#define EPROTOTYPE 107
|
||||
#define ENOTSOCK 108
|
||||
#define ENOPROTOOPT 109
|
||||
#define ESHUTDOWN 110
|
||||
#define ECONNREFUSED 111 /* Connection refused */
|
||||
#define EADDRINUSE 112 /* Address already in use */
|
||||
#define ECONNABORTED 113 /* Connection aborted */
|
||||
#define ENETUNREACH 114
|
||||
#define ENETDOWN 115
|
||||
#define ETIMEDOUT 116
|
||||
#define EHOSTDOWN 117
|
||||
#define EHOSTUNREACH 118
|
||||
#define EINPROGRESS 119
|
||||
#define EALREADY 120
|
||||
#define EDESTADDRREQ 121
|
||||
#define EMSGSIZE 122
|
||||
#define EPROTONOSUPPORT 123
|
||||
#define ESOCKTNOSUPPORT 124
|
||||
#define EADDRNOTAVAIL 125
|
||||
#define ENETRESET 126
|
||||
#define EISCONN 127
|
||||
#define ENOTCONN 128
|
||||
#define ETOOMANYREFS 129
|
||||
#define EPROCLIM 130
|
||||
#define EUSERS 131
|
||||
#define EDQUOT 132
|
||||
#define ESTALE 133
|
||||
#define ENOTSUP 134
|
||||
#define ENOMEDIUM 135
|
||||
|
||||
/* From cygwin32. */
|
||||
#define EWOULDBLOCK EAGAIN /* Operation would block */
|
||||
|
||||
#define __ELASTERROR 2000 /* Users can add values starting here */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _SYS_ERRNO_H */
|
178
newlib/libc/include/sys/fcntl.h
Normal file
178
newlib/libc/include/sys/fcntl.h
Normal file
@ -0,0 +1,178 @@
|
||||
|
||||
#ifndef _FCNTL_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _FCNTL_
|
||||
#include <_ansi.h>
|
||||
#define _FOPEN (-1) /* from sys/file.h, kernel use only */
|
||||
#define _FREAD 0x0001 /* read enabled */
|
||||
#define _FWRITE 0x0002 /* write enabled */
|
||||
#define _FNDELAY 0x0004 /* non blocking I/O (4.2 style) */
|
||||
#define _FAPPEND 0x0008 /* append (writes guaranteed at the end) */
|
||||
#define _FMARK 0x0010 /* internal; mark during gc() */
|
||||
#define _FDEFER 0x0020 /* internal; defer for next gc pass */
|
||||
#define _FASYNC 0x0040 /* signal pgrp when data ready */
|
||||
#define _FSHLOCK 0x0080 /* BSD flock() shared lock present */
|
||||
#define _FEXLOCK 0x0100 /* BSD flock() exclusive lock present */
|
||||
#define _FCREAT 0x0200 /* open with file create */
|
||||
#define _FTRUNC 0x0400 /* open with truncation */
|
||||
#define _FEXCL 0x0800 /* error on open if file exists */
|
||||
#define _FNBIO 0x1000 /* non blocking I/O (sys5 style) */
|
||||
#define _FSYNC 0x2000 /* do all writes synchronously */
|
||||
#define _FNONBLOCK 0x4000 /* non blocking I/O (POSIX style) */
|
||||
#define _FNOCTTY 0x8000 /* don't assign a ctty on this open */
|
||||
|
||||
#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
|
||||
|
||||
/*
|
||||
* Flag values for open(2) and fcntl(2)
|
||||
* The kernel adds 1 to the open modes to turn it into some
|
||||
* combination of FREAD and FWRITE.
|
||||
*/
|
||||
#define O_RDONLY 0 /* +1 == FREAD */
|
||||
#define O_WRONLY 1 /* +1 == FWRITE */
|
||||
#define O_RDWR 2 /* +1 == FREAD|FWRITE */
|
||||
#define O_APPEND _FAPPEND
|
||||
#define O_CREAT _FCREAT
|
||||
#define O_TRUNC _FTRUNC
|
||||
#define O_EXCL _FEXCL
|
||||
/* O_SYNC _FSYNC not posix, defined below */
|
||||
/* O_NDELAY _FNDELAY set in include/fcntl.h */
|
||||
/* O_NDELAY _FNBIO set in 5include/fcntl.h */
|
||||
#define O_NONBLOCK _FNONBLOCK
|
||||
#define O_NOCTTY _FNOCTTY
|
||||
/* For machines which care - */
|
||||
#if defined (_WIN32) || defined (__CYGWIN__)
|
||||
#define _FBINARY 0x10000
|
||||
#define _FTEXT 0x20000
|
||||
#define _FNOINHERIT 0x40000
|
||||
|
||||
#define O_BINARY _FBINARY
|
||||
#define O_TEXT _FTEXT
|
||||
#define O_NOINHERIT _FNOINHERIT
|
||||
|
||||
/* The windows header files define versions with a leading underscore. */
|
||||
#define _O_RDONLY O_RDONLY
|
||||
#define _O_WRONLY O_WRONLY
|
||||
#define _O_RDWR O_RDWR
|
||||
#define _O_APPEND O_APPEND
|
||||
#define _O_CREAT O_CREAT
|
||||
#define _O_TRUNC O_TRUNC
|
||||
#define _O_EXCL O_EXCL
|
||||
#define _O_TEXT O_TEXT
|
||||
#define _O_BINARY O_BINARY
|
||||
#define _O_RAW O_BINARY
|
||||
#define _O_NOINHERIT O_NOINHERIT
|
||||
#endif
|
||||
|
||||
#ifndef _POSIX_SOURCE
|
||||
|
||||
#define O_SYNC _FSYNC
|
||||
|
||||
/*
|
||||
* Flags that work for fcntl(fd, F_SETFL, FXXXX)
|
||||
*/
|
||||
#define FAPPEND _FAPPEND
|
||||
#define FSYNC _FSYNC
|
||||
#define FASYNC _FASYNC
|
||||
#define FNBIO _FNBIO
|
||||
#define FNONBIO _FNONBLOCK /* XXX fix to be NONBLOCK everywhere */
|
||||
#define FNDELAY _FNDELAY
|
||||
|
||||
/*
|
||||
* Flags that are disallowed for fcntl's (FCNTLCANT);
|
||||
* used for opens, internal state, or locking.
|
||||
*/
|
||||
#define FREAD _FREAD
|
||||
#define FWRITE _FWRITE
|
||||
#define FMARK _FMARK
|
||||
#define FDEFER _FDEFER
|
||||
#define FSHLOCK _FSHLOCK
|
||||
#define FEXLOCK _FEXLOCK
|
||||
|
||||
/*
|
||||
* The rest of the flags, used only for opens
|
||||
*/
|
||||
#define FOPEN _FOPEN
|
||||
#define FCREAT _FCREAT
|
||||
#define FTRUNC _FTRUNC
|
||||
#define FEXCL _FEXCL
|
||||
#define FNOCTTY _FNOCTTY
|
||||
|
||||
#endif /* !_POSIX_SOURCE */
|
||||
|
||||
/* XXX close on exec request; must match UF_EXCLOSE in user.h */
|
||||
#define FD_CLOEXEC 1 /* posix */
|
||||
|
||||
/* fcntl(2) requests */
|
||||
#define F_DUPFD 0 /* Duplicate fildes */
|
||||
#define F_GETFD 1 /* Get fildes flags (close on exec) */
|
||||
#define F_SETFD 2 /* Set fildes flags (close on exec) */
|
||||
#define F_GETFL 3 /* Get file flags */
|
||||
#define F_SETFL 4 /* Set file flags */
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define F_GETOWN 5 /* Get owner - for ASYNC */
|
||||
#define F_SETOWN 6 /* Set owner - for ASYNC */
|
||||
#endif /* !_POSIX_SOURCE */
|
||||
#define F_GETLK 7 /* Get record-locking information */
|
||||
#define F_SETLK 8 /* Set or Clear a record-lock (Non-Blocking) */
|
||||
#define F_SETLKW 9 /* Set or Clear a record-lock (Blocking) */
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define F_RGETLK 10 /* Test a remote lock to see if it is blocked */
|
||||
#define F_RSETLK 11 /* Set or unlock a remote lock */
|
||||
#define F_CNVT 12 /* Convert a fhandle to an open fd */
|
||||
#define F_RSETLKW 13 /* Set or Clear remote record-lock(Blocking) */
|
||||
#endif /* !_POSIX_SOURCE */
|
||||
|
||||
/* fcntl(2) flags (l_type field of flock structure) */
|
||||
#define F_RDLCK 1 /* read lock */
|
||||
#define F_WRLCK 2 /* write lock */
|
||||
#define F_UNLCK 3 /* remove lock(s) */
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define F_UNLKSYS 4 /* remove remote locks for a given system */
|
||||
#endif /* !_POSIX_SOURCE */
|
||||
|
||||
/*#include <sys/stdtypes.h>*/
|
||||
|
||||
/* file segment locking set data type - information passed to system by user */
|
||||
struct flock {
|
||||
short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */
|
||||
short l_whence; /* flag to choose starting offset */
|
||||
long l_start; /* relative offset, in bytes */
|
||||
long l_len; /* length, in bytes; 0 means lock to EOF */
|
||||
short l_pid; /* returned with F_GETLK */
|
||||
short l_xxx; /* reserved for future use */
|
||||
};
|
||||
|
||||
#ifndef _POSIX_SOURCE
|
||||
/* extended file segment locking set data type */
|
||||
struct eflock {
|
||||
short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */
|
||||
short l_whence; /* flag to choose starting offset */
|
||||
long l_start; /* relative offset, in bytes */
|
||||
long l_len; /* length, in bytes; 0 means lock to EOF */
|
||||
short l_pid; /* returned with F_GETLK */
|
||||
short l_xxx; /* reserved for future use */
|
||||
long l_rpid; /* Remote process id wanting this lock */
|
||||
long l_rsys; /* Remote system id wanting this lock */
|
||||
};
|
||||
#endif /* !_POSIX_SOURCE */
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h> /* sigh. for the mode bits for open/creat */
|
||||
|
||||
extern int open _PARAMS ((const char *, int, ...));
|
||||
extern int creat _PARAMS ((const char *, mode_t));
|
||||
extern int fcntl _PARAMS ((int, int, ...));
|
||||
|
||||
/* Provide _<systemcall> prototypes for functions provided by some versions
|
||||
of newlib. */
|
||||
extern int _open _PARAMS ((const char *, int, ...));
|
||||
extern int _fcntl _PARAMS ((int, int, ...));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* !_FCNTL_ */
|
2
newlib/libc/include/sys/file.h
Normal file
2
newlib/libc/include/sys/file.h
Normal file
@ -0,0 +1,2 @@
|
||||
|
||||
#include <sys/fcntl.h>
|
18
newlib/libc/include/sys/param.h
Normal file
18
newlib/libc/include/sys/param.h
Normal file
@ -0,0 +1,18 @@
|
||||
/* This is a dummy <sys/param.h> file, not customized for any
|
||||
particular system. If there is a param.h in libc/sys/SYSDIR/sys,
|
||||
it will override this one. */
|
||||
|
||||
#ifndef _SYS_PARAM_H
|
||||
# define _SYS_PARAM_H
|
||||
|
||||
# define HZ (60)
|
||||
# define NOFILE (60)
|
||||
# define PATHSIZE (1024)
|
||||
|
||||
#ifdef __i386__
|
||||
#define BIG_ENDIAN 4321
|
||||
#define LITTLE_ENDIAN 1234
|
||||
#define BYTE_ORDER LITTLE_ENDIAN
|
||||
#endif
|
||||
|
||||
#endif
|
238
newlib/libc/include/sys/reent.h
Normal file
238
newlib/libc/include/sys/reent.h
Normal file
@ -0,0 +1,238 @@
|
||||
/* This header file provides the reentrancy. */
|
||||
|
||||
/* WARNING: All identifiers here must begin with an underscore. This file is
|
||||
included by stdio.h and others and we therefore must only use identifiers
|
||||
in the namespace allotted to us. */
|
||||
|
||||
#ifndef _SYS_REENT_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _SYS_REENT_H_
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <time.h>
|
||||
|
||||
#ifndef __Long
|
||||
#if __LONG_MAX__ == 2147483647L
|
||||
#define __Long long
|
||||
typedef unsigned __Long __ULong;
|
||||
#elif __INT_MAX__ == 2147483647
|
||||
#define __Long int
|
||||
typedef unsigned __Long __ULong;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __Long
|
||||
#define __Long __int32_t
|
||||
typedef __uint32_t __ULong;
|
||||
#endif
|
||||
|
||||
struct _glue
|
||||
{
|
||||
struct _glue *_next;
|
||||
int _niobs;
|
||||
struct __sFILE *_iobs;
|
||||
};
|
||||
|
||||
struct _Bigint
|
||||
{
|
||||
struct _Bigint *_next;
|
||||
int _k, _maxwds, _sign, _wds;
|
||||
__ULong _x[1];
|
||||
};
|
||||
|
||||
/*
|
||||
* atexit() support
|
||||
*/
|
||||
|
||||
#define _ATEXIT_SIZE 32 /* must be at least 32 to guarantee ANSI conformance */
|
||||
|
||||
struct _atexit {
|
||||
struct _atexit *_next; /* next in list */
|
||||
int _ind; /* next index in this table */
|
||||
void (*_fns[_ATEXIT_SIZE])(void); /* the table itself */
|
||||
};
|
||||
|
||||
/*
|
||||
* Stdio buffers.
|
||||
*
|
||||
* This and __sFILE are defined here because we need them for struct _reent,
|
||||
* but we don't want stdio.h included when stdlib.h is.
|
||||
*/
|
||||
|
||||
struct __sbuf {
|
||||
unsigned char *_base;
|
||||
int _size;
|
||||
};
|
||||
|
||||
/*
|
||||
* We need fpos_t for the following, but it doesn't have a leading "_",
|
||||
* so we use _fpos_t instead.
|
||||
*/
|
||||
|
||||
typedef long _fpos_t; /* XXX must match off_t in <sys/types.h> */
|
||||
/* (and must be `long' for now) */
|
||||
|
||||
/*
|
||||
* Stdio state variables.
|
||||
*
|
||||
* The following always hold:
|
||||
*
|
||||
* if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
|
||||
* _lbfsize is -_bf._size, else _lbfsize is 0
|
||||
* if _flags&__SRD, _w is 0
|
||||
* if _flags&__SWR, _r is 0
|
||||
*
|
||||
* This ensures that the getc and putc macros (or inline functions) never
|
||||
* try to write or read from a file that is in `read' or `write' mode.
|
||||
* (Moreover, they can, and do, automatically switch from read mode to
|
||||
* write mode, and back, on "r+" and "w+" files.)
|
||||
*
|
||||
* _lbfsize is used only to make the inline line-buffered output stream
|
||||
* code as compact as possible.
|
||||
*
|
||||
* _ub, _up, and _ur are used when ungetc() pushes back more characters
|
||||
* than fit in the current _bf, or when ungetc() pushes back a character
|
||||
* that does not match the previous one in _bf. When this happens,
|
||||
* _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
|
||||
* _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
|
||||
*/
|
||||
|
||||
struct __sFILE {
|
||||
unsigned char *_p; /* current position in (some) buffer */
|
||||
int _r; /* read space left for getc() */
|
||||
int _w; /* write space left for putc() */
|
||||
short _flags; /* flags, below; this FILE is free if 0 */
|
||||
short _file; /* fileno, if Unix descriptor, else -1 */
|
||||
struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */
|
||||
int _lbfsize; /* 0 or -_bf._size, for inline putc */
|
||||
|
||||
/* operations */
|
||||
_PTR _cookie; /* cookie passed to io functions */
|
||||
|
||||
int _EXFUN((*_read),(_PTR _cookie, char *_buf, int _n));
|
||||
int _EXFUN((*_write),(_PTR _cookie, const char *_buf, int _n));
|
||||
_fpos_t _EXFUN((*_seek),(_PTR _cookie, _fpos_t _offset, int _whence));
|
||||
int _EXFUN((*_close),(_PTR _cookie));
|
||||
|
||||
/* separate buffer for long sequences of ungetc() */
|
||||
struct __sbuf _ub; /* ungetc buffer */
|
||||
unsigned char *_up; /* saved _p when _p is doing ungetc data */
|
||||
int _ur; /* saved _r when _r is counting ungetc data */
|
||||
|
||||
/* tricks to meet minimum requirements even when malloc() fails */
|
||||
unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */
|
||||
unsigned char _nbuf[1]; /* guarantee a getc() buffer */
|
||||
|
||||
/* separate buffer for fgetline() when line crosses buffer boundary */
|
||||
struct __sbuf _lb; /* buffer for fgetline() */
|
||||
|
||||
/* Unix stdio files get aligned to block boundaries on fseek() */
|
||||
int _blksize; /* stat.st_blksize (may be != _bf._size) */
|
||||
int _offset; /* current lseek offset */
|
||||
|
||||
struct _reent *_data;
|
||||
};
|
||||
|
||||
/*
|
||||
* struct _reent
|
||||
*
|
||||
* This structure contains *all* globals needed by the library.
|
||||
* It's raison d'etre is to facilitate threads by making all library routines
|
||||
* reentrant. IE: All state information is contained here.
|
||||
*/
|
||||
|
||||
struct _reent
|
||||
{
|
||||
/* local copy of errno */
|
||||
int _errno;
|
||||
|
||||
/* FILE is a big struct and may change over time. To try to achieve binary
|
||||
compatibility with future versions, put stdin,stdout,stderr here.
|
||||
These are pointers into member __sf defined below. */
|
||||
struct __sFILE *_stdin, *_stdout, *_stderr;
|
||||
|
||||
int _inc; /* used by tmpnam */
|
||||
char _emergency[25];
|
||||
|
||||
int _current_category; /* used by setlocale */
|
||||
_CONST char *_current_locale;
|
||||
|
||||
int __sdidinit; /* 1 means stdio has been init'd */
|
||||
|
||||
void _EXFUN((*__cleanup),(struct _reent *));
|
||||
|
||||
/* used by mprec routines */
|
||||
struct _Bigint *_result;
|
||||
int _result_k;
|
||||
struct _Bigint *_p5s;
|
||||
struct _Bigint **_freelist;
|
||||
|
||||
/* used by some fp conversion routines */
|
||||
int _cvtlen; /* should be size_t */
|
||||
char *_cvtbuf;
|
||||
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
unsigned int _rand_next;
|
||||
char * _strtok_last;
|
||||
char _asctime_buf[26];
|
||||
struct tm _localtime_buf;
|
||||
int _gamma_signgam;
|
||||
} _reent;
|
||||
/* Two next two fields were once used by malloc. They are no longer
|
||||
used. They are used to preserve the space used before so as to
|
||||
allow addition of new reent fields and keep binary compatibility. */
|
||||
struct
|
||||
{
|
||||
#define _N_LISTS 30
|
||||
unsigned char * _nextf[_N_LISTS];
|
||||
unsigned int _nmalloc[_N_LISTS];
|
||||
} _unused;
|
||||
} _new;
|
||||
|
||||
/* atexit stuff */
|
||||
struct _atexit *_atexit; /* points to head of LIFO stack */
|
||||
struct _atexit _atexit0; /* one guaranteed table, required by ANSI */
|
||||
|
||||
/* signal info */
|
||||
void (**(_sig_func))(int);
|
||||
|
||||
/* These are here last so that __sFILE can grow without changing the offsets
|
||||
of the above members (on the off chance that future binary compatibility
|
||||
would be broken otherwise). */
|
||||
struct _glue __sglue; /* root of glue chain */
|
||||
struct __sFILE __sf[3]; /* first three file descriptors */
|
||||
};
|
||||
|
||||
#define _REENT_INIT(var) \
|
||||
{ 0, &var.__sf[0], &var.__sf[1], &var.__sf[2], 0, "", 0, "C", \
|
||||
0, NULL, NULL, 0, NULL, NULL, 0, NULL, { {1, NULL, "", \
|
||||
{ 0,0,0,0,0,0,0,0}, 0 } } }
|
||||
|
||||
/*
|
||||
* All references to struct _reent are via this pointer.
|
||||
* Internally, newlib routines that need to reference it should use _REENT.
|
||||
*/
|
||||
|
||||
#ifndef __ATTRIBUTE_IMPURE_PTR__
|
||||
#define __ATTRIBUTE_IMPURE_PTR__
|
||||
#endif
|
||||
|
||||
extern struct _reent *_impure_ptr __ATTRIBUTE_IMPURE_PTR__;
|
||||
|
||||
void _reclaim_reent _PARAMS ((struct _reent *));
|
||||
|
||||
/* #define _REENT_ONLY define this to get only reentrant routines */
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
#define _REENT _impure_ptr
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _SYS_REENT_H_ */
|
15
newlib/libc/include/sys/resource.h
Normal file
15
newlib/libc/include/sys/resource.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef _SYS_RESOURCE_H_
|
||||
#define _SYS_RESOURCE_H_
|
||||
|
||||
#include <sys/time.h>
|
||||
|
||||
#define RUSAGE_SELF 0 /* calling process */
|
||||
#define RUSAGE_CHILDREN -1 /* terminated child processes */
|
||||
|
||||
struct rusage {
|
||||
struct timeval ru_utime; /* user time used */
|
||||
struct timeval ru_stime; /* system time used */
|
||||
};
|
||||
|
||||
#endif
|
||||
|
182
newlib/libc/include/sys/signal.h
Normal file
182
newlib/libc/include/sys/signal.h
Normal file
@ -0,0 +1,182 @@
|
||||
/* sys/signal.h */
|
||||
|
||||
#ifndef _SYS_SIGNAL_H
|
||||
#define _SYS_SIGNAL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "_ansi.h"
|
||||
|
||||
#ifndef __STRICT_ANSI__
|
||||
typedef unsigned long sigset_t;
|
||||
struct sigaction
|
||||
{
|
||||
void (*sa_handler)(int);
|
||||
sigset_t sa_mask;
|
||||
int sa_flags;
|
||||
};
|
||||
#define SA_NOCLDSTOP 1 /* only value supported now for sa_flags */
|
||||
#define SIG_SETMASK 0 /* set mask with sigprocmask() */
|
||||
#define SIG_BLOCK 1 /* set of signals to block */
|
||||
#define SIG_UNBLOCK 2 /* set of signals to, well, unblock */
|
||||
|
||||
/* These depend upon the type of sigset_t, which right now
|
||||
is always a long.. They're in the POSIX namespace, but
|
||||
are not ANSI. */
|
||||
#define sigaddset(what,sig) (*(what) |= (1<<(sig)))
|
||||
#define sigemptyset(what) (*(what) = 0)
|
||||
|
||||
int sigprocmask (int __how, const sigset_t *__a, sigset_t *__b);
|
||||
|
||||
/* protos for functions found in winsup sources */
|
||||
#if defined(__CYGWIN32__)
|
||||
#undef sigaddset
|
||||
#undef sigemptyset
|
||||
/* The first argument to kill should be pid_t. Right now
|
||||
<sys/types.h> always defines pid_t to be int. If that ever
|
||||
changes, then we will need to do something else, perhaps along the
|
||||
lines of <machine/types.h>. */
|
||||
int _EXFUN(kill, (int, int));
|
||||
int _EXFUN(sigaction, (int, const struct sigaction *, struct sigaction *));
|
||||
int _EXFUN(sigaddset, (sigset_t *, const int));
|
||||
int _EXFUN(sigdelset, (sigset_t *, const int));
|
||||
int _EXFUN(sigismember, (const sigset_t *, int));
|
||||
int _EXFUN(sigfillset, (sigset_t *));
|
||||
int _EXFUN(sigemptyset, (sigset_t *));
|
||||
int _EXFUN(sigpending, (sigset_t *));
|
||||
int _EXFUN(sigsuspend, (const sigset_t *));
|
||||
int _EXFUN(sigpause, (int));
|
||||
#endif
|
||||
|
||||
#endif /* __STRICT_ANSI__ */
|
||||
|
||||
#if defined(___AM29K__)
|
||||
/* These all need to be defined for ANSI C, but I don't think they are
|
||||
meaningful. */
|
||||
#define SIGABRT 1
|
||||
#define SIGFPE 1
|
||||
#define SIGILL 1
|
||||
#define SIGINT 1
|
||||
#define SIGSEGV 1
|
||||
#define SIGTERM 1
|
||||
/* These need to be defined for POSIX, and some others do too. */
|
||||
#define SIGHUP 1
|
||||
#define SIGQUIT 1
|
||||
#define NSIG 2
|
||||
#elif defined(__GO32__)
|
||||
#define SIGINT 1
|
||||
#define SIGKILL 2
|
||||
#define SIGPIPE 3
|
||||
#define SIGFPE 4
|
||||
#define SIGHUP 5
|
||||
#define SIGTERM 6
|
||||
#define SIGSEGV 7
|
||||
#define SIGTSTP 8
|
||||
#define SIGQUIT 9
|
||||
#define SIGTRAP 10
|
||||
#define SIGILL 11
|
||||
#define SIGEMT 12
|
||||
#define SIGALRM 13
|
||||
#define SIGBUS 14
|
||||
#define SIGLOST 15
|
||||
#define SIGSTOP 16
|
||||
#define SIGABRT 17
|
||||
#define SIGUSR1 18
|
||||
#define SIGUSR2 19
|
||||
#define NSIG 20
|
||||
#elif defined(__CYGWIN32__) /* BSD signals symantics */
|
||||
#define SIGHUP 1 /* hangup */
|
||||
#define SIGINT 2 /* interrupt */
|
||||
#define SIGQUIT 3 /* quit */
|
||||
#define SIGILL 4 /* illegal instruction (not reset when caught) */
|
||||
#define SIGTRAP 5 /* trace trap (not reset when caught) */
|
||||
#define SIGABRT 6 /* used by abort */
|
||||
#define SIGEMT 7 /* EMT instruction */
|
||||
#define SIGFPE 8 /* floating point exception */
|
||||
#define SIGKILL 9 /* kill (cannot be caught or ignored) */
|
||||
#define SIGBUS 10 /* bus error */
|
||||
#define SIGSEGV 11 /* segmentation violation */
|
||||
#define SIGSYS 12 /* bad argument to system call */
|
||||
#define SIGPIPE 13 /* write on a pipe with no one to read it */
|
||||
#define SIGALRM 14 /* alarm clock */
|
||||
#define SIGTERM 15 /* software termination signal from kill */
|
||||
#define SIGURG 16 /* urgent condition on IO channel */
|
||||
#define SIGSTOP 17 /* sendable stop signal not from tty */
|
||||
#define SIGTSTP 18 /* stop signal from tty */
|
||||
#define SIGCONT 19 /* continue a stopped process */
|
||||
#define SIGCHLD 20 /* to parent on child stop or exit */
|
||||
#define SIGCLD 20 /* System V name for SIGCHLD */
|
||||
#define SIGTTIN 21 /* to readers pgrp upon background tty read */
|
||||
#define SIGTTOU 22 /* like TTIN for output if (tp->t_local<OSTOP) */
|
||||
#define SIGIO 23 /* input/output possible signal */
|
||||
#define SIGPOLL SIGIO /* System V name for SIGIO */
|
||||
#define SIGXCPU 24 /* exceeded CPU time limit */
|
||||
#define SIGXFSZ 25 /* exceeded file size limit */
|
||||
#define SIGVTALRM 26 /* virtual time alarm */
|
||||
#define SIGPROF 27 /* profiling time alarm */
|
||||
#define SIGWINCH 28 /* window changed */
|
||||
#define SIGLOST 29 /* resource lost (eg, record-lock lost) */
|
||||
#define SIGUSR1 30 /* user defined signal 1 */
|
||||
#define SIGUSR2 31 /* user defined signal 2 */
|
||||
#define NSIG 32 /* signal 0 implied */
|
||||
#else
|
||||
#define SIGHUP 1 /* hangup */
|
||||
#define SIGINT 2 /* interrupt */
|
||||
#define SIGQUIT 3 /* quit */
|
||||
#define SIGILL 4 /* illegal instruction (not reset when caught) */
|
||||
#define SIGTRAP 5 /* trace trap (not reset when caught) */
|
||||
#define SIGIOT 6 /* IOT instruction */
|
||||
#define SIGABRT 6 /* used by abort, replace SIGIOT in the future */
|
||||
#define SIGEMT 7 /* EMT instruction */
|
||||
#define SIGFPE 8 /* floating point exception */
|
||||
#define SIGKILL 9 /* kill (cannot be caught or ignored) */
|
||||
#define SIGBUS 10 /* bus error */
|
||||
#define SIGSEGV 11 /* segmentation violation */
|
||||
#define SIGSYS 12 /* bad argument to system call */
|
||||
#define SIGPIPE 13 /* write on a pipe with no one to read it */
|
||||
#define SIGALRM 14 /* alarm clock */
|
||||
#define SIGTERM 15 /* software termination signal from kill */
|
||||
|
||||
#if defined(__svr4__)
|
||||
/* svr4 specifics. different signals above 15, and sigaction. */
|
||||
#define SIGUSR1 16
|
||||
#define SIGUSR2 17
|
||||
#define SIGCLD 18
|
||||
#define SIGPWR 19
|
||||
#define SIGWINCH 20
|
||||
#define SIGPOLL 22 /* 20 for x.out binaries!!!! */
|
||||
#define SIGSTOP 23 /* sendable stop signal not from tty */
|
||||
#define SIGTSTP 24 /* stop signal from tty */
|
||||
#define SIGCONT 25 /* continue a stopped process */
|
||||
#define SIGTTIN 26 /* to readers pgrp upon background tty read */
|
||||
#define SIGTTOU 27 /* like TTIN for output if (tp->t_local<OSTOP) */
|
||||
#define NSIG 28
|
||||
#else
|
||||
#define SIGURG 16 /* urgent condition on IO channel */
|
||||
#define SIGSTOP 17 /* sendable stop signal not from tty */
|
||||
#define SIGTSTP 18 /* stop signal from tty */
|
||||
#define SIGCONT 19 /* continue a stopped process */
|
||||
#define SIGCHLD 20 /* to parent on child stop or exit */
|
||||
#define SIGCLD 20 /* System V name for SIGCHLD */
|
||||
#define SIGTTIN 21 /* to readers pgrp upon background tty read */
|
||||
#define SIGTTOU 22 /* like TTIN for output if (tp->t_local<OSTOP) */
|
||||
#define SIGIO 23 /* input/output possible signal */
|
||||
#define SIGPOLL SIGIO /* System V name for SIGIO */
|
||||
#define SIGXCPU 24 /* exceeded CPU time limit */
|
||||
#define SIGXFSZ 25 /* exceeded file size limit */
|
||||
#define SIGVTALRM 26 /* virtual time alarm */
|
||||
#define SIGPROF 27 /* profiling time alarm */
|
||||
#define SIGWINCH 28 /* window changed */
|
||||
#define SIGLOST 29 /* resource lost (eg, record-lock lost) */
|
||||
#define SIGUSR1 30 /* user defined signal 1 */
|
||||
#define SIGUSR2 31 /* user defined signal 2 */
|
||||
#define NSIG 32 /* signal 0 implied */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _SYS_SIGNAL_H */
|
59
newlib/libc/include/sys/stat-dj.h
Normal file
59
newlib/libc/include/sys/stat-dj.h
Normal file
@ -0,0 +1,59 @@
|
||||
/* This is file STAT.H */
|
||||
/*
|
||||
** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
|
||||
**
|
||||
** This file is distributed under the terms listed in the document
|
||||
** "copying.dj", available from DJ Delorie at the address above.
|
||||
** A copy of "copying.dj" should accompany this file; if not, a copy
|
||||
** should be available from where this file was obtained. This file
|
||||
** may not be distributed without a verbatim copy of "copying.dj".
|
||||
**
|
||||
** This file is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#ifndef _STAT_H_
|
||||
#define _STAT_H_
|
||||
|
||||
struct stat {
|
||||
short st_dev;
|
||||
short st_ino;
|
||||
unsigned short st_mode;
|
||||
short st_nlink;
|
||||
short st_uid;
|
||||
short st_gid;
|
||||
short st_rdev;
|
||||
short st_align_for_word32;
|
||||
long st_size;
|
||||
long st_atime;
|
||||
long st_mtime;
|
||||
long st_ctime;
|
||||
long st_blksize;
|
||||
};
|
||||
|
||||
#define S_IFMT 0xF000 /* file type mask */
|
||||
#define S_IFDIR 0x4000 /* directory */
|
||||
#define S_IFIFO 0x1000 /* FIFO special */
|
||||
#define S_IFCHR 0x2000 /* character special */
|
||||
#define S_IFBLK 0x3000 /* block special */
|
||||
#define S_IFREG 0x8000 /* or just 0x0000, regular */
|
||||
#define S_IREAD 0x0100 /* owner may read */
|
||||
#define S_IWRITE 0x0080 /* owner may write */
|
||||
#define S_IEXEC 0x0040 /* owner may execute <directory search> */
|
||||
|
||||
#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
|
||||
#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
|
||||
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
|
||||
#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
|
||||
#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
int stat(const char *, struct stat *);
|
||||
int fstat(int, struct stat *);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
149
newlib/libc/include/sys/stat.h
Normal file
149
newlib/libc/include/sys/stat.h
Normal file
@ -0,0 +1,149 @@
|
||||
#ifndef _SYS_STAT_H
|
||||
#define _SYS_STAT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <time.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef __i386__
|
||||
#ifdef __MSDOS__
|
||||
#include "stat-dj.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* dj's stat defines _STAT_H_ */
|
||||
#ifndef _STAT_H_
|
||||
|
||||
/* It is intended that the layout of this structure not change when the
|
||||
sizes of any of the basic types change (short, int, long) [via a compile
|
||||
time option]. */
|
||||
|
||||
struct stat
|
||||
{
|
||||
dev_t st_dev;
|
||||
ino_t st_ino;
|
||||
mode_t st_mode;
|
||||
nlink_t st_nlink;
|
||||
uid_t st_uid;
|
||||
gid_t st_gid;
|
||||
dev_t st_rdev;
|
||||
off_t st_size;
|
||||
/* SysV/sco doesn't have the rest... But Solaris, eabi does. */
|
||||
#if defined(__svr4__) && !defined(__PPC__) && !defined(__sun__)
|
||||
time_t st_atime;
|
||||
time_t st_mtime;
|
||||
time_t st_ctime;
|
||||
#else
|
||||
time_t st_atime;
|
||||
long st_spare1;
|
||||
time_t st_mtime;
|
||||
long st_spare2;
|
||||
time_t st_ctime;
|
||||
long st_spare3;
|
||||
long st_blksize;
|
||||
long st_blocks;
|
||||
long st_spare4[2];
|
||||
#endif
|
||||
};
|
||||
|
||||
#define _IFMT 0170000 /* type of file */
|
||||
#define _IFDIR 0040000 /* directory */
|
||||
#define _IFCHR 0020000 /* character special */
|
||||
#define _IFBLK 0060000 /* block special */
|
||||
#define _IFREG 0100000 /* regular */
|
||||
#define _IFLNK 0120000 /* symbolic link */
|
||||
#define _IFSOCK 0140000 /* socket */
|
||||
#define _IFIFO 0010000 /* fifo */
|
||||
|
||||
#define S_BLKSIZE 1024 /* size of a block */
|
||||
|
||||
#define S_ISUID 0004000 /* set user id on execution */
|
||||
#define S_ISGID 0002000 /* set group id on execution */
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define S_ISVTX 0001000 /* save swapped text even after use */
|
||||
#define S_IREAD 0000400 /* read permission, owner */
|
||||
#define S_IWRITE 0000200 /* write permission, owner */
|
||||
#define S_IEXEC 0000100 /* execute/search permission, owner */
|
||||
|
||||
#define S_ENFMT 0002000 /* enforcement-mode locking */
|
||||
|
||||
#define S_IFMT _IFMT
|
||||
#define S_IFDIR _IFDIR
|
||||
#define S_IFCHR _IFCHR
|
||||
#define S_IFBLK _IFBLK
|
||||
#define S_IFREG _IFREG
|
||||
#define S_IFLNK _IFLNK
|
||||
#define S_IFSOCK _IFSOCK
|
||||
#define S_IFIFO _IFIFO
|
||||
#endif /* !_POSIX_SOURCE */
|
||||
|
||||
#ifdef _WIN32
|
||||
/* The Windows header files define _S_ forms of these, so we do too
|
||||
for easier portability. */
|
||||
#define _S_IFMT _IFMT
|
||||
#define _S_IFDIR _IFDIR
|
||||
#define _S_IFCHR _IFCHR
|
||||
#define _S_IFIFO _IFIFO
|
||||
#define _S_IFREG _IFREG
|
||||
#define _S_IREAD 0000400
|
||||
#define _S_IWRITE 0000200
|
||||
#define _S_IEXEC 0000100
|
||||
#endif
|
||||
|
||||
#define S_IRWXU 0000700 /* rwx, owner */
|
||||
#define S_IRUSR 0000400 /* read permission, owner */
|
||||
#define S_IWUSR 0000200 /* write permission, owner */
|
||||
#define S_IXUSR 0000100 /* execute/search permission, owner */
|
||||
#define S_IRWXG 0000070 /* rwx, group */
|
||||
#define S_IRGRP 0000040 /* read permission, group */
|
||||
#define S_IWGRP 0000020 /* write permission, grougroup */
|
||||
#define S_IXGRP 0000010 /* execute/search permission, group */
|
||||
#define S_IRWXO 0000007 /* rwx, other */
|
||||
#define S_IROTH 0000004 /* read permission, other */
|
||||
#define S_IWOTH 0000002 /* write permission, other */
|
||||
#define S_IXOTH 0000001 /* execute/search permission, other */
|
||||
|
||||
#define S_ISBLK(m) (((m)&_IFMT) == _IFBLK)
|
||||
#define S_ISCHR(m) (((m)&_IFMT) == _IFCHR)
|
||||
#define S_ISDIR(m) (((m)&_IFMT) == _IFDIR)
|
||||
#define S_ISFIFO(m) (((m)&_IFMT) == _IFIFO)
|
||||
#define S_ISREG(m) (((m)&_IFMT) == _IFREG)
|
||||
#define S_ISLNK(m) (((m)&_IFMT) == _IFLNK)
|
||||
#define S_ISSOCK(m) (((m)&_IFMT) == _IFSOCK)
|
||||
|
||||
|
||||
int _EXFUN(chmod,( const char *__path, mode_t __mode ));
|
||||
int _EXFUN(fchmod,(int __fd, mode_t __mode));
|
||||
int _EXFUN(fstat,( int __fd, struct stat *__sbuf ));
|
||||
int _EXFUN(mkdir,( const char *_path, mode_t __mode ));
|
||||
int _EXFUN(mkfifo,( const char *__path, mode_t __mode ));
|
||||
int _EXFUN(stat,( const char *__path, struct stat *__sbuf ));
|
||||
mode_t _EXFUN(umask,( mode_t __mask ));
|
||||
|
||||
#if defined(__rtems__)
|
||||
int _EXFUN(mknod,( const char *_path, mode_t _mode, dev_t dev ));
|
||||
#endif
|
||||
|
||||
/* Provide prototypes for most of the _<systemcall> names that are
|
||||
provided in newlib for some compilers. */
|
||||
int _EXFUN(_fstat,( int __fd, struct stat *__sbuf ));
|
||||
int _EXFUN(_stat,( const char *__path, struct stat *__sbuf ));
|
||||
|
||||
#ifdef __CYGWIN32__
|
||||
int _EXFUN(lstat,( const char *__path, struct stat *__buf ));
|
||||
#endif
|
||||
|
||||
#if defined(__rtems__)
|
||||
int _EXFUN(mknod,( const char *_path, mode_t _mode, dev_t dev ));
|
||||
int _EXFUN(lstat,( const char *_path, struct stat *_sbuf ));
|
||||
#endif
|
||||
|
||||
#endif /* !_STAT_H_ */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _SYS_STAT_H */
|
51
newlib/libc/include/sys/time.h
Normal file
51
newlib/libc/include/sys/time.h
Normal file
@ -0,0 +1,51 @@
|
||||
/* time.h -- An implementation of the standard Unix <sys/time.h> file.
|
||||
Written by Geoffrey Noer <noer@cygnus.com>
|
||||
Public domain; no rights reserved. */
|
||||
|
||||
#ifndef _SYS_TIME_H_
|
||||
#define _SYS_TIME_H_
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef _WINSOCK_H
|
||||
struct timeval {
|
||||
long tv_sec;
|
||||
long tv_usec;
|
||||
};
|
||||
|
||||
struct timezone {
|
||||
int tz_minuteswest;
|
||||
int tz_dsttime;
|
||||
};
|
||||
|
||||
#ifdef __CYGWIN32__
|
||||
#include <sys/select.h>
|
||||
#endif /* __CYGWIN32__ */
|
||||
|
||||
#endif /* _WINSOCK_H */
|
||||
|
||||
#define ITIMER_REAL 0
|
||||
#define ITIMER_VIRTUAL 1
|
||||
#define ITIMER_PROF 2
|
||||
|
||||
struct itimerval {
|
||||
struct timeval it_interval;
|
||||
struct timeval it_value;
|
||||
};
|
||||
|
||||
int _EXFUN(gettimeofday, (struct timeval *__p, struct timezone *__z));
|
||||
int _EXFUN(settimeofday, (const struct timeval *, const struct timezone *));
|
||||
int _EXFUN(utimes, (const char *__path, struct timeval *__tvp));
|
||||
int _EXFUN(getitimer, (int __which, struct itimerval *__value));
|
||||
int _EXFUN(setitimer, (int __which, const struct itimerval *__value,
|
||||
struct itimerval *__ovalue));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _SYS_TIME_H_ */
|
39
newlib/libc/include/sys/timeb.h
Normal file
39
newlib/libc/include/sys/timeb.h
Normal file
@ -0,0 +1,39 @@
|
||||
/* timeb.h -- An implementation of the standard Unix <sys/timeb.h> file.
|
||||
Written by Ian Lance Taylor <ian@cygnus.com>
|
||||
Public domain; no rights reserved.
|
||||
|
||||
<sys/timeb.h> declares the structure used by the ftime function, as
|
||||
well as the ftime function itself. Newlib does not provide an
|
||||
implementation of ftime. */
|
||||
|
||||
#ifndef _SYS_TIMEB_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define _SYS_TIMEB_H
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <machine/types.h>
|
||||
|
||||
#ifndef __time_t_defined
|
||||
typedef _TIME_T_ time_t;
|
||||
#define __time_t_defined
|
||||
#endif
|
||||
|
||||
struct timeb
|
||||
{
|
||||
time_t time;
|
||||
unsigned short millitm;
|
||||
short timezone;
|
||||
short dstflag;
|
||||
};
|
||||
|
||||
extern int ftime _PARAMS ((struct timeb *));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ! defined (_SYS_TIMEB_H) */
|
27
newlib/libc/include/sys/times.h
Normal file
27
newlib/libc/include/sys/times.h
Normal file
@ -0,0 +1,27 @@
|
||||
#ifndef _SYS_TIMES_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define _SYS_TIMES_H
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <machine/types.h>
|
||||
|
||||
#ifndef __clock_t_defined
|
||||
typedef _CLOCK_T_ clock_t;
|
||||
#define __clock_t_defined
|
||||
#endif
|
||||
|
||||
struct tms {
|
||||
clock_t tms_utime; /* user time */
|
||||
clock_t tms_stime; /* system time */
|
||||
clock_t tms_cutime; /* user time, children */
|
||||
clock_t tms_cstime; /* system time, children */
|
||||
};
|
||||
|
||||
clock_t _EXFUN(times,(struct tms *));
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* !_SYS_TIMES_H */
|
174
newlib/libc/include/sys/types.h
Normal file
174
newlib/libc/include/sys/types.h
Normal file
@ -0,0 +1,174 @@
|
||||
/* unified sys/types.h:
|
||||
start with sef's sysvi386 version.
|
||||
merge go32 version -- a few ifdefs.
|
||||
h8300hms, h8300xray, and sysvnecv70 disagree on the following types:
|
||||
|
||||
typedef int gid_t;
|
||||
typedef int uid_t;
|
||||
typedef int dev_t;
|
||||
typedef int ino_t;
|
||||
typedef int mode_t;
|
||||
typedef int caddr_t;
|
||||
|
||||
however, these aren't "reasonable" values, the sysvi386 ones make far
|
||||
more sense, and should work sufficiently well (in particular, h8300
|
||||
doesn't have a stat, and the necv70 doesn't matter.) -- eichin
|
||||
*/
|
||||
|
||||
#ifndef _SYS_TYPES_H
|
||||
#define _SYS_TYPES_H
|
||||
|
||||
#if defined (_WIN32) || defined (__CYGWIN__)
|
||||
#define __MS_types__
|
||||
#endif
|
||||
|
||||
#ifdef __i386__
|
||||
#if defined (GO32) || defined (__MSDOS__)
|
||||
#define __MS_types__
|
||||
#endif
|
||||
#endif
|
||||
|
||||
# include <stddef.h>
|
||||
# include <machine/types.h>
|
||||
|
||||
/* To ensure the stat struct's layout doesn't change when sizeof(int), etc.
|
||||
changes, we assume sizeof short and long never change and have all types
|
||||
used to define struct stat use them and not int where possible.
|
||||
Where not possible, _ST_INTxx are used. It would be preferable to not have
|
||||
such assumptions, but until the extra fluff is necessary, it's avoided.
|
||||
No 64 bit targets use stat yet. What to do about them is postponed
|
||||
until necessary. */
|
||||
#ifdef __GNUC__
|
||||
#define _ST_INT32 __attribute__ ((__mode__ (__SI__)))
|
||||
#else
|
||||
#define _ST_INT32
|
||||
#endif
|
||||
|
||||
# ifndef _POSIX_SOURCE
|
||||
|
||||
# define physadr physadr_t
|
||||
# define quad quad_t
|
||||
|
||||
#ifndef _WINSOCK_H
|
||||
typedef unsigned char u_char;
|
||||
typedef unsigned short u_short;
|
||||
typedef unsigned int u_int;
|
||||
typedef unsigned long u_long;
|
||||
#endif
|
||||
|
||||
typedef unsigned short ushort; /* System V compatibility */
|
||||
typedef unsigned int uint; /* System V compatibility */
|
||||
# endif /*!_POSIX_SOURCE */
|
||||
|
||||
#ifndef __time_t_defined
|
||||
typedef _TIME_T_ time_t;
|
||||
#define __time_t_defined
|
||||
#endif
|
||||
|
||||
typedef long daddr_t;
|
||||
typedef char * caddr_t;
|
||||
|
||||
#ifdef __MS_types__
|
||||
typedef unsigned long ino_t;
|
||||
#else
|
||||
#ifdef __sparc__
|
||||
typedef unsigned long ino_t;
|
||||
#else
|
||||
typedef unsigned short ino_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __MS_types__
|
||||
typedef unsigned long vm_offset_t;
|
||||
typedef unsigned long vm_size_t;
|
||||
|
||||
#define __BIT_TYPES_DEFINED__
|
||||
|
||||
typedef char int8_t;
|
||||
typedef unsigned char u_int8_t;
|
||||
typedef short int16_t;
|
||||
typedef unsigned short u_int16_t;
|
||||
typedef int int32_t;
|
||||
typedef unsigned int u_int32_t;
|
||||
typedef long long int64_t;
|
||||
typedef unsigned long long u_int64_t;
|
||||
typedef int32_t register_t;
|
||||
#endif /* __MS_types__ */
|
||||
|
||||
/*
|
||||
* All these should be machine specific - right now they are all broken.
|
||||
* However, for all of Cygnus' embedded targets, we want them to all be
|
||||
* the same. Otherwise things like sizeof (struct stat) might depend on
|
||||
* how the file was compiled (e.g. -mint16 vs -mint32, etc.).
|
||||
*/
|
||||
|
||||
typedef short dev_t;
|
||||
|
||||
typedef long off_t;
|
||||
|
||||
typedef unsigned short uid_t;
|
||||
typedef unsigned short gid_t;
|
||||
typedef int pid_t;
|
||||
typedef long key_t;
|
||||
typedef long ssize_t;
|
||||
|
||||
#ifdef __MS_types__
|
||||
typedef char * addr_t;
|
||||
typedef int mode_t;
|
||||
#else
|
||||
#if defined (__sparc__) && !defined (__sparc_v9__)
|
||||
#ifdef __svr4__
|
||||
typedef unsigned long mode_t;
|
||||
#else
|
||||
typedef unsigned short mode_t;
|
||||
#endif
|
||||
#else
|
||||
typedef unsigned int mode_t _ST_INT32;
|
||||
#endif
|
||||
#endif /* ! __MS_types__ */
|
||||
|
||||
typedef unsigned short nlink_t;
|
||||
|
||||
/* We don't define fd_set and friends if we are compiling POSIX
|
||||
source, or if we have included the Windows Sockets.h header (which
|
||||
defines Windows versions of them). Note that a program which
|
||||
includes the Windows sockets.h header must know what it is doing;
|
||||
it must not call the cygwin32 select function. */
|
||||
# if ! defined (_POSIX_SOURCE) && ! defined (_WINSOCK_H)
|
||||
|
||||
# define NBBY 8 /* number of bits in a byte */
|
||||
/*
|
||||
* Select uses bit masks of file descriptors in longs.
|
||||
* These macros manipulate such bit fields (the filesystem macros use chars).
|
||||
* FD_SETSIZE may be defined by the user, but the default here
|
||||
* should be >= NOFILE (param.h).
|
||||
*/
|
||||
# ifndef FD_SETSIZE
|
||||
# define FD_SETSIZE 64
|
||||
# endif
|
||||
|
||||
typedef long fd_mask;
|
||||
# define NFDBITS (sizeof (fd_mask) * NBBY) /* bits per mask */
|
||||
# ifndef howmany
|
||||
# define howmany(x,y) (((x)+((y)-1))/(y))
|
||||
# endif
|
||||
|
||||
/* We use a macro for fd_set so that including Sockets.h afterwards
|
||||
can work. */
|
||||
typedef struct _types_fd_set {
|
||||
fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
|
||||
} _types_fd_set;
|
||||
|
||||
#define fd_set _types_fd_set
|
||||
|
||||
# define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS)))
|
||||
# define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS)))
|
||||
# define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS)))
|
||||
# define FD_ZERO(p) bzero((caddr_t)(p), sizeof (*(p)))
|
||||
|
||||
# endif /* ! defined (_POSIX_SOURCE) && ! defined (_WINSOCK_H) */
|
||||
|
||||
#undef __MS_types__
|
||||
#undef _ST_INT32
|
||||
|
||||
#endif /* _SYS_TYPES_H */
|
175
newlib/libc/include/sys/unistd.h
Normal file
175
newlib/libc/include/sys/unistd.h
Normal file
@ -0,0 +1,175 @@
|
||||
#ifndef _SYS_UNISTD_H
|
||||
#define _SYS_UNISTD_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
extern char **environ;
|
||||
|
||||
void _EXFUN(_exit, (int __status ) _ATTRIBUTE ((noreturn)));
|
||||
|
||||
int _EXFUN(access,(const char *__path, int __amode ));
|
||||
unsigned _EXFUN(alarm, (unsigned __secs ));
|
||||
int _EXFUN(chdir, (const char *__path ));
|
||||
int _EXFUN(chmod, (const char *__path, mode_t __mode ));
|
||||
int _EXFUN(chown, (const char *__path, uid_t __owner, gid_t __group ));
|
||||
int _EXFUN(close, (int __fildes ));
|
||||
char _EXFUN(*ctermid, (char *__s ));
|
||||
char _EXFUN(*cuserid, (char *__s ));
|
||||
int _EXFUN(dup, (int __fildes ));
|
||||
int _EXFUN(dup2, (int __fildes, int __fildes2 ));
|
||||
int _EXFUN(execl, (const char *__path, const char *, ... ));
|
||||
int _EXFUN(execle, (const char *__path, const char *, ... ));
|
||||
int _EXFUN(execlp, (const char *__file, const char *, ... ));
|
||||
int _EXFUN(execv, (const char *__path, char * const __argv[] ));
|
||||
int _EXFUN(execve, (const char *__path, char * const __argv[], char * const __envp[] ));
|
||||
int _EXFUN(execvp, (const char *__file, char * const __argv[] ));
|
||||
pid_t _EXFUN(fork, (void ));
|
||||
long _EXFUN(fpathconf, (int __fd, int __name ));
|
||||
int _EXFUN(fsync, (int __fd));
|
||||
char _EXFUN(*getcwd, (char *__buf, size_t __size ));
|
||||
gid_t _EXFUN(getegid, (void ));
|
||||
uid_t _EXFUN(geteuid, (void ));
|
||||
gid_t _EXFUN(getgid, (void ));
|
||||
int _EXFUN(getgroups, (int __gidsetsize, gid_t __grouplist[] ));
|
||||
char _EXFUN(*getlogin, (void ));
|
||||
char _EXFUN(*getpass, (__const char *__prompt));
|
||||
size_t _EXFUN(getpagesize, (void));
|
||||
pid_t _EXFUN(getpgrp, (void ));
|
||||
pid_t _EXFUN(getpid, (void ));
|
||||
pid_t _EXFUN(getppid, (void ));
|
||||
uid_t _EXFUN(getuid, (void ));
|
||||
int _EXFUN(isatty, (int __fildes ));
|
||||
int _EXFUN(link, (const char *__path1, const char *__path2 ));
|
||||
int _EXFUN(nice, (int __nice_value ));
|
||||
off_t _EXFUN(lseek, (int __fildes, off_t __offset, int __whence ));
|
||||
long _EXFUN(pathconf, (const char *__path, int __name ));
|
||||
int _EXFUN(pause, (void ));
|
||||
int _EXFUN(pipe, (int __fildes[2] ));
|
||||
int _EXFUN(read, (int __fildes, void *__buf, size_t __nbyte ));
|
||||
int _EXFUN(rmdir, (const char *__path ));
|
||||
void * _EXFUN(sbrk, (size_t __incr));
|
||||
int _EXFUN(setgid, (gid_t __gid ));
|
||||
int _EXFUN(setpgid, (pid_t __pid, pid_t __pgid ));
|
||||
pid_t _EXFUN(setsid, (void ));
|
||||
int _EXFUN(setuid, (uid_t __uid ));
|
||||
unsigned _EXFUN(sleep, (unsigned int __seconds ));
|
||||
void _EXFUN(swab, (const void *, void *, ssize_t));
|
||||
long _EXFUN(sysconf, (int __name ));
|
||||
pid_t _EXFUN(tcgetpgrp, (int __fildes ));
|
||||
int _EXFUN(tcsetpgrp, (int __fildes, pid_t __pgrp_id ));
|
||||
char _EXFUN(*ttyname, (int __fildes ));
|
||||
int _EXFUN(unlink, (const char *__path ));
|
||||
int _EXFUN(write, (int __fildes, const void *__buf, size_t __nbyte ));
|
||||
|
||||
/* Provide prototypes for most of the _<systemcall> names that are
|
||||
provided in newlib for some compilers. */
|
||||
int _EXFUN(_close, (int __fildes ));
|
||||
pid_t _EXFUN(_fork, (void ));
|
||||
pid_t _EXFUN(_getpid, (void ));
|
||||
int _EXFUN(_link, (const char *__path1, const char *__path2 ));
|
||||
off_t _EXFUN(_lseek, (int __fildes, off_t __offset, int __whence ));
|
||||
int _EXFUN(_read, (int __fildes, void *__buf, size_t __nbyte ));
|
||||
void * _EXFUN(_sbrk, (size_t __incr));
|
||||
int _EXFUN(_unlink, (const char *__path ));
|
||||
int _EXFUN(_write, (int __fildes, const void *__buf, size_t __nbyte ));
|
||||
|
||||
#if defined(__CYGWIN32__) || defined(__rtems__)
|
||||
unsigned _EXFUN(usleep, (unsigned int __useconds));
|
||||
int _EXFUN(ftruncate, (int __fd, off_t __length));
|
||||
int _EXFUN(truncate, (const char *, off_t __length));
|
||||
int _EXFUN(gethostname, (char *__name, size_t __len));
|
||||
char * _EXFUN(mktemp, (char *));
|
||||
int _EXFUN(sync, (void));
|
||||
int _EXFUN(readlink, (const char *__path, char *__buf, int __buflen));
|
||||
int _EXFUN(symlink, (const char *__name1, const char *__name2));
|
||||
#endif
|
||||
|
||||
# define F_OK 0
|
||||
# define R_OK 4
|
||||
# define W_OK 2
|
||||
# define X_OK 1
|
||||
|
||||
# define SEEK_SET 0
|
||||
# define SEEK_CUR 1
|
||||
# define SEEK_END 2
|
||||
|
||||
/*
|
||||
* RTEMS adheres to a later version of POSIX -- 1003.1b.
|
||||
*
|
||||
* XXX this version string should change.
|
||||
*/
|
||||
|
||||
#ifdef __rtems__
|
||||
#ifndef _POSIX_JOB_CONTROL
|
||||
# define _POSIX_JOB_CONTROL 1
|
||||
#endif
|
||||
#ifndef _POSIX_SAVED_IDS
|
||||
# define _POSIX_SAVED_IDS 1
|
||||
#endif
|
||||
# define _POSIX_VERSION 199009L
|
||||
#else
|
||||
#ifdef __svr4__
|
||||
# define _POSIX_JOB_CONTROL 1
|
||||
# define _POSIX_SAVED_IDS 1
|
||||
# define _POSIX_VERSION 199009L
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __CYGWIN32__
|
||||
# define _POSIX_JOB_CONTROL 1
|
||||
# define _POSIX_SAVED_IDS 0
|
||||
# define _POSIX_VERSION 199009L
|
||||
#endif
|
||||
|
||||
#define STDIN_FILENO 0 /* standard input file descriptor */
|
||||
#define STDOUT_FILENO 1 /* standard output file descriptor */
|
||||
#define STDERR_FILENO 2 /* standard error file descriptor */
|
||||
|
||||
long _EXFUN(sysconf, (int __name));
|
||||
|
||||
# define _SC_ARG_MAX 0
|
||||
# define _SC_CHILD_MAX 1
|
||||
# define _SC_CLK_TCK 2
|
||||
# define _SC_NGROUPS_MAX 3
|
||||
# define _SC_OPEN_MAX 4
|
||||
/* no _SC_STREAM_MAX */
|
||||
# define _SC_JOB_CONTROL 5
|
||||
# define _SC_SAVED_IDS 6
|
||||
# define _SC_VERSION 7
|
||||
# define _SC_PAGESIZE 8
|
||||
|
||||
# define _PC_LINK_MAX 0
|
||||
# define _PC_MAX_CANON 1
|
||||
# define _PC_MAX_INPUT 2
|
||||
# define _PC_NAME_MAX 3
|
||||
# define _PC_PATH_MAX 4
|
||||
# define _PC_PIPE_BUF 5
|
||||
# define _PC_CHOWN_RESTRICTED 6
|
||||
# define _PC_NO_TRUNC 7
|
||||
# define _PC_VDISABLE 8
|
||||
# define _PC_ASYNC_IO 9
|
||||
# define _PC_PRIO_IO 10
|
||||
# define _PC_SYNC_IO 11
|
||||
|
||||
# ifndef _POSIX_SOURCE
|
||||
# define MAXNAMLEN 1024
|
||||
# endif /* _POSIX_SOURCE */
|
||||
|
||||
/* FIXME: This is temporary until winsup gets sorted out. */
|
||||
#ifdef __CYGWIN32__
|
||||
#define MAXPATHLEN (260 - 1 /* NUL */)
|
||||
#else
|
||||
# define MAXPATHLEN 1024
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _SYS_UNISTD_H */
|
22
newlib/libc/include/sys/utime.h
Normal file
22
newlib/libc/include/sys/utime.h
Normal file
@ -0,0 +1,22 @@
|
||||
#ifndef _SYS_UTIME_H
|
||||
#define _SYS_UTIME_H
|
||||
|
||||
/* This is a dummy <sys/utime.h> file, not customized for any
|
||||
particular system. If there is a utime.h in libc/sys/SYSDIR/sys,
|
||||
it will override this one. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct utimbuf
|
||||
{
|
||||
time_t actime;
|
||||
time_t modtime;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* _SYS_UTIME_H */
|
40
newlib/libc/include/sys/wait.h
Normal file
40
newlib/libc/include/sys/wait.h
Normal file
@ -0,0 +1,40 @@
|
||||
#ifndef _SYS_WAIT_H
|
||||
#define _SYS_WAIT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
#define WNOHANG 1
|
||||
#define WUNTRACED 2
|
||||
|
||||
/* A status looks like:
|
||||
<2 bytes info> <2 bytes code>
|
||||
|
||||
<code> == 0, child has exited, info is the exit value
|
||||
<code> == 1..7e, child has exited, info is the signal number.
|
||||
<code> == 7f, child has stopped, info was the signal number.
|
||||
<code> == 80, there was a core dump.
|
||||
*/
|
||||
|
||||
#define WIFEXITED(w) (((w) & 0xff) == 0)
|
||||
#define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
|
||||
#define WIFSTOPPED(w) (((w) & 0xff) == 0x7f)
|
||||
#define WEXITSTATUS(w) (((w) >> 8) & 0xff)
|
||||
#define WTERMSIG(w) ((w) & 0x7f)
|
||||
#define WSTOPSIG WEXITSTATUS
|
||||
|
||||
pid_t wait (int *);
|
||||
pid_t waitpid (pid_t, int *, int);
|
||||
|
||||
/* Provide prototypes for most of the _<systemcall> names that are
|
||||
provided in newlib for some compilers. */
|
||||
pid_t _wait (int *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
7
newlib/libc/include/termios.h
Normal file
7
newlib/libc/include/termios.h
Normal file
@ -0,0 +1,7 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <sys/termios.h>
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
90
newlib/libc/include/time.h
Normal file
90
newlib/libc/include/time.h
Normal file
@ -0,0 +1,90 @@
|
||||
/*
|
||||
* time.h
|
||||
*
|
||||
* Struct and function declarations for dealing with time.
|
||||
*/
|
||||
|
||||
#ifndef _TIME_H_
|
||||
#define _TIME_H_
|
||||
|
||||
#include "_ansi.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
/* Get _CLOCKS_PER_SEC_ */
|
||||
#include <machine/time.h>
|
||||
|
||||
#ifndef _CLOCKS_PER_SEC_
|
||||
#define _CLOCKS_PER_SEC_ 1000
|
||||
#endif
|
||||
|
||||
#define CLOCKS_PER_SEC _CLOCKS_PER_SEC_
|
||||
#define CLK_TCK CLOCKS_PER_SEC
|
||||
#define __need_size_t
|
||||
#include <stddef.h>
|
||||
|
||||
/* Get _CLOCK_T_ and _TIME_T_. */
|
||||
#include <machine/types.h>
|
||||
|
||||
#ifndef __clock_t_defined
|
||||
typedef _CLOCK_T_ clock_t;
|
||||
#define __clock_t_defined
|
||||
#endif
|
||||
|
||||
#ifndef __time_t_defined
|
||||
typedef _TIME_T_ time_t;
|
||||
#define __time_t_defined
|
||||
#endif
|
||||
|
||||
struct tm
|
||||
{
|
||||
int tm_sec;
|
||||
int tm_min;
|
||||
int tm_hour;
|
||||
int tm_mday;
|
||||
int tm_mon;
|
||||
int tm_year;
|
||||
int tm_wday;
|
||||
int tm_yday;
|
||||
int tm_isdst;
|
||||
};
|
||||
|
||||
clock_t _EXFUN(clock, (void));
|
||||
double _EXFUN(difftime, (time_t _time2, time_t _time1));
|
||||
time_t _EXFUN(mktime, (struct tm *_timeptr));
|
||||
time_t _EXFUN(time, (time_t *_timer));
|
||||
#ifndef _REENT_ONLY
|
||||
char *_EXFUN(asctime, (const struct tm *_tblock));
|
||||
char *_EXFUN(ctime, (const time_t *_time));
|
||||
struct tm *_EXFUN(gmtime, (const time_t *_timer));
|
||||
struct tm *_EXFUN(localtime,(const time_t *_timer));
|
||||
#endif
|
||||
size_t _EXFUN(strftime, (char *_s, size_t _maxsize, const char *_fmt, const struct tm *_t));
|
||||
|
||||
char *_EXFUN(asctime_r, (const struct tm *, char *));
|
||||
char *_EXFUN(ctime_r, (const time_t *, char *));
|
||||
struct tm *_EXFUN(gmtime_r, (const time_t *, struct tm *));
|
||||
struct tm *_EXFUN(localtime_r, (const time_t *, struct tm *));
|
||||
|
||||
#ifdef __CYGWIN32__
|
||||
#ifndef __STRICT_ANSI__
|
||||
extern time_t _timezone __declspec(dllimport);
|
||||
extern int _daylight __declspec(dllimport);
|
||||
extern char *_tzname[2] __declspec(dllimport);
|
||||
|
||||
char *_EXFUN(timezone, (void));
|
||||
void _EXFUN(tzset, (void));
|
||||
#endif
|
||||
#endif /* __CYGWIN32__ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _TIME_H_ */
|
||||
|
46
newlib/libc/include/unctrl.h
Normal file
46
newlib/libc/include/unctrl.h
Normal file
@ -0,0 +1,46 @@
|
||||
/* From curses.h. */
|
||||
/*
|
||||
* Copyright (c) 1981, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _UNCTRL_H_
|
||||
#define _UNCTRL_H_
|
||||
|
||||
#include <_ansi.h>
|
||||
|
||||
#define unctrl(c) __unctrl[(c) & 0xff]
|
||||
#define unctrllen(ch) __unctrllen[(ch) & 0xff]
|
||||
|
||||
extern _CONST char * _CONST __unctrl[256]; /* Control strings. */
|
||||
extern _CONST char __unctrllen[256]; /* Control strings length. */
|
||||
|
||||
#endif /* _UNCTRL_H_ */
|
6
newlib/libc/include/unistd.h
Normal file
6
newlib/libc/include/unistd.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef _UNISTD_H_
|
||||
#define _UNISTD_H_
|
||||
|
||||
# include <sys/unistd.h>
|
||||
|
||||
#endif /* _UNISTD_H_ */
|
10
newlib/libc/include/utime.h
Normal file
10
newlib/libc/include/utime.h
Normal file
@ -0,0 +1,10 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* The utime function is defined in libc/sys/<arch>/sys if it exists. */
|
||||
#include <sys/utime.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user