import newlib-2000-02-17 snapshot
This commit is contained in:
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
|
8
newlib/libc/include/utmp.h
Normal file
8
newlib/libc/include/utmp.h
Normal file
@ -0,0 +1,8 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <sys/utmp.h>
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
427
newlib/libc/libc.texinfo
Normal file
427
newlib/libc/libc.texinfo
Normal file
@ -0,0 +1,427 @@
|
||||
\input texinfo.tex
|
||||
@setfilename libc.info
|
||||
@tex
|
||||
% NOTE LOCAL KLUGE TO AVOID TOO MUCH WHITESPACE FROM "makedoc"
|
||||
\global\long\def\example{%
|
||||
\begingroup
|
||||
\let\aboveenvbreak=\par
|
||||
\let\afterenvbreak=\par
|
||||
\parskip=0pt
|
||||
\lisp}
|
||||
\global\long\def\Eexample{%
|
||||
\Elisp
|
||||
\endgroup
|
||||
\vskip -\parskip% to cancel out effect of following \par
|
||||
}
|
||||
% END LOCAL WHITESPACE KLUGE
|
||||
@end tex
|
||||
@syncodeindex fn cp
|
||||
|
||||
@ifinfo
|
||||
@format
|
||||
START-INFO-DIR-ENTRY
|
||||
* libc:: The ANSI C library.
|
||||
END-INFO-DIR-ENTRY
|
||||
@end format
|
||||
@end ifinfo
|
||||
|
||||
@ifinfo
|
||||
This file documents the ANSI C library.
|
||||
|
||||
Copyright (C) 1992, 1993 Cygnus Support
|
||||
|
||||
@file{libc} includes software developed by the
|
||||
University of California, Berkeley and its contributors.
|
||||
|
||||
libc includes software developed by Martin Jackson, Graham Haley
|
||||
and Steve Chamberlain of Tadpole Technology and released to Cygnus.
|
||||
|
||||
libc uses floating point converstion software developed at AT&T, which
|
||||
includes this copyright information:
|
||||
|
||||
The author of this software is David M. Gay.
|
||||
|
||||
Copyright (c) 1991 by AT&T.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose without fee is hereby granted, provided that this entire notice
|
||||
is included in all copies of any software which is or includes a copy
|
||||
or modification of this software and in all copies of the supporting
|
||||
documentation for such software.
|
||||
|
||||
THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
|
||||
WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
|
||||
REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
|
||||
OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
are preserved on all copies.
|
||||
|
||||
@ignore
|
||||
Permission is granted to process this file through Tex and print the
|
||||
results, provided the printed document carries copying permission
|
||||
notice identical to this one except for the removal of this paragraph
|
||||
(this paragraph not being relevant to the printed manual).
|
||||
|
||||
@end ignore
|
||||
Permission is granted to copy and distribute modified versions of this
|
||||
manual under the conditions for verbatim copying, subject to the terms
|
||||
of the GNU General Public License, which includes the provision that the
|
||||
entire resulting derived work is distributed under the terms of a
|
||||
permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this manual
|
||||
into another language, under the above conditions for modified versions.
|
||||
@end ifinfo
|
||||
@iftex
|
||||
@c @smallbook
|
||||
@c @cropmarks
|
||||
@finalout
|
||||
@setchapternewpage odd
|
||||
@settitle Cygnus C Support Library, Full
|
||||
@titlepage
|
||||
@title The Cygnus C Support Library
|
||||
@subtitle Full Configuration
|
||||
@sp 1
|
||||
@subtitle @code{libc} 1.4
|
||||
@subtitle May 1993
|
||||
@author {Steve Chamberlain}
|
||||
@author {Roland Pesch}
|
||||
@author {Cygnus Support}
|
||||
@page
|
||||
|
||||
@tex
|
||||
{\parskip=0pt
|
||||
sac@@cygnus.com, pesch@@cygnus.com\hfill {\it The Cygnus C Support Library}\par
|
||||
Copyright \copyright{} 1992, 1993 Cygnus Support
|
||||
}
|
||||
\global\parindent=0pt % Steve likes it this way
|
||||
@end tex
|
||||
|
||||
@file{libc} includes software developed by the
|
||||
University of California, Berkeley and its contributors.
|
||||
|
||||
@file{libc} includes software developed by Martin Jackson, Graham Haley
|
||||
and Steve Chamberlain of Tadpole Technology and released to Cygnus.
|
||||
|
||||
@file{libc} uses floating point converstion software developed at AT&T,
|
||||
which includes this copyright information:
|
||||
|
||||
@cartouche
|
||||
@quotation
|
||||
The author of this software is David M. Gay.
|
||||
|
||||
Copyright (c) 1991 by AT&T.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
purpose without fee is hereby granted, provided that this entire notice
|
||||
is included in all copies of any software which is or includes a copy
|
||||
or modification of this software and in all copies of the supporting
|
||||
documentation for such software.
|
||||
|
||||
THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
|
||||
WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
|
||||
REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
|
||||
OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
|
||||
@end quotation
|
||||
@end cartouche
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
are preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified versions of this
|
||||
manual under the conditions for verbatim copying, subject to the terms
|
||||
of the GNU General Public License, which includes the provision that the
|
||||
entire resulting derived work is distributed under the terms of a
|
||||
permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this manual
|
||||
into another language, under the above conditions for modified versions.
|
||||
@end titlepage
|
||||
@end iftex
|
||||
|
||||
@ifinfo
|
||||
@node Top
|
||||
@top The Cygnus C Support Library
|
||||
|
||||
@c The menu contents depend on the configuration, so we include them
|
||||
@c as a separate file
|
||||
|
||||
@c switch to set SIGNALS on or off, according to whether config picks up
|
||||
@c signal subdirectory:
|
||||
@include sigset.texi
|
||||
|
||||
@menu
|
||||
* Stdlib::
|
||||
* Ctype::
|
||||
* Stdio::
|
||||
* Strings::
|
||||
@ifset SIGNALS
|
||||
* Signals::
|
||||
@end ifset
|
||||
|
||||
* Timefns::
|
||||
* Locale::
|
||||
* Syscalls::
|
||||
* Misc::
|
||||
* Arglists::
|
||||
* Reentrancy::
|
||||
* Library Index::
|
||||
@end menu
|
||||
@end ifinfo
|
||||
|
||||
@include targetdep.tex
|
||||
|
||||
@node Arglists
|
||||
@chapter Variable Argument Lists
|
||||
|
||||
The @code{printf} family of functions is defined to accept a variable
|
||||
number of arguments, rather than a fixed argument list. You can define
|
||||
your own functions with a variable argument list, by using macro
|
||||
definitions from either @file{stdarg.h} (for compatibility with ANSI C)
|
||||
or from @file{varargs.h} (for compatibility with a popular convention
|
||||
prior to ANSI C).
|
||||
|
||||
@menu
|
||||
* Stdarg::
|
||||
* Varargs::
|
||||
@end menu
|
||||
|
||||
@node Stdarg
|
||||
@section ANSI-standard macros, @file{stdarg.h}
|
||||
|
||||
In ANSI C, a function has a variable number of arguments when its
|
||||
parameter list ends in an ellipsis (@code{...}). The parameter list
|
||||
must also include at least one explicitly named argument; that argument
|
||||
is used to initialize the variable list data structure.
|
||||
|
||||
ANSI C defines three macros (@code{va_start}, @code{va_arg}, and
|
||||
@code{va_end}) to operate on variable argument lists. @file{stdarg.h}
|
||||
also defines a special type to represent variable argument lists: this
|
||||
type is called @code{va_list}.
|
||||
|
||||
@menu
|
||||
* va_start::
|
||||
* va_arg::
|
||||
* va_end::
|
||||
@end menu
|
||||
|
||||
@page
|
||||
@node va_start
|
||||
@subsection Initialize variable argument list
|
||||
@findex va_start
|
||||
@strong{Synopsis}
|
||||
@example
|
||||
#include <stdarg.h>
|
||||
void va_start(va_list @var{ap}, @var{rightmost});
|
||||
@end example
|
||||
|
||||
@strong{Description}@*
|
||||
Use @code{va_start} to initialize the variable argument list @var{ap},
|
||||
so that @code{va_arg} can extract values from it. @var{rightmost} is
|
||||
the name of the last explicit argument in the parameter list (the
|
||||
argument immediately preceding the ellipsis @samp{...} that flags
|
||||
variable arguments in an ANSI C function header). You can only use
|
||||
@code{va_start} in a function declared using this ellipsis notation
|
||||
(not, for example, in one of its subfunctions).
|
||||
|
||||
@strong{Returns}@*
|
||||
@code{va_start} does not return a result.
|
||||
|
||||
@strong{Portability}@*
|
||||
ANSI C requires @code{va_start}.
|
||||
|
||||
@page
|
||||
@node va_arg
|
||||
@subsection Extract a value from argument list
|
||||
@findex va_arg
|
||||
@strong{Synopsis}
|
||||
@example
|
||||
#include <stdarg.h>
|
||||
@var{type} va_arg(va_list @var{ap}, @var{type});
|
||||
@end example
|
||||
|
||||
@strong{Description}@*
|
||||
@code{va_arg} returns the next unprocessed value from a variable
|
||||
argument list @var{ap} (which you must previously create with
|
||||
@var{va_start}). Specify the type for the value as the second parameter
|
||||
to the macro, @var{type}.
|
||||
|
||||
You may pass a @code{va_list} object @var{ap} to a subfunction, and use
|
||||
@code{va_arg} from the subfunction rather than from the function
|
||||
actually declared with an ellipsis in the header; however, in that case
|
||||
you may @emph{only} use @code{va_arg} from the subfunction. ANSI C does
|
||||
not permit extracting successive values from a single variable-argument
|
||||
list from different levels of the calling stack.
|
||||
|
||||
There is no mechanism for testing whether there is actually a next
|
||||
argument available; you might instead pass an argument count (or some
|
||||
other data that implies an argument count) as one of the fixed arguments
|
||||
in your function call.
|
||||
|
||||
@strong{Returns}@*
|
||||
@code{va_arg} returns the next argument, an object of type @var{type}.
|
||||
|
||||
@strong{Portability}@*
|
||||
ANSI C requires @code{va_arg}.
|
||||
|
||||
@page
|
||||
@node va_end
|
||||
@subsection Abandon a variable argument list
|
||||
@findex va_end
|
||||
@strong{Synopsis}
|
||||
@example
|
||||
#include <stdarg.h>
|
||||
void va_end(va_list @var{ap});
|
||||
@end example
|
||||
|
||||
@strong{Description}@*
|
||||
Use @code{va_end} to declare that your program will not use the variable
|
||||
argument list @var{ap} any further.
|
||||
|
||||
@strong{Returns}@*
|
||||
@code{va_end} does not return a result.
|
||||
|
||||
@strong{Portability}@*
|
||||
ANSI C requires @code{va_end}.
|
||||
|
||||
@node Varargs
|
||||
@section Traditional macros, @file{varargs.h}
|
||||
|
||||
If your C compiler predates ANSI C, you may still be able to use
|
||||
variable argument lists using the macros from the @file{varargs.h}
|
||||
header file. These macros resemble their ANSI counterparts, but have
|
||||
important differences in usage. In particular, since traditional C has
|
||||
no declaration mechanism for variable argument lists, two additional
|
||||
macros are provided simply for the purpose of defining functions with
|
||||
variable argument lists.
|
||||
|
||||
As with @file{stdarg.h}, the type @code{va_list} is used to hold a data
|
||||
structure representing a variable argument list.
|
||||
|
||||
@menu
|
||||
* va_alist::
|
||||
* va_start-trad::
|
||||
* va_arg-trad::
|
||||
* va_end-trad::
|
||||
@end menu
|
||||
|
||||
@page
|
||||
@node va_alist
|
||||
@subsection Declare variable arguments
|
||||
@findex va_alist
|
||||
@findex va_dcl
|
||||
@strong{Synopsis}
|
||||
@example
|
||||
#include <varargs.h>
|
||||
@var{function}(va_alist)
|
||||
va_dcl
|
||||
@end example
|
||||
|
||||
@strong{Description}@*
|
||||
To use the @file{varargs.h} version of variable argument lists, you must
|
||||
declare your function with a call to the macro @code{va_alist} as its
|
||||
argument list, and use @code{va_dcl} as the declaration. @emph{Do not
|
||||
use a semicolon after @code{va_dcl}.}
|
||||
|
||||
@strong{Returns}@*
|
||||
These macros cannot be used in a context where a return is syntactically
|
||||
possible.
|
||||
|
||||
@strong{Portability}@*
|
||||
@var{va_alist} and @var{va_dcl} were the most widespread method of
|
||||
declaring variable argument lists prior to ANSI C.
|
||||
|
||||
@page
|
||||
@node va_start-trad
|
||||
@subsection Initialize variable argument list
|
||||
@findex va_start
|
||||
@strong{Synopsis}
|
||||
@example
|
||||
#include <varargs.h>
|
||||
va_list @var{ap};
|
||||
va_start(@var{ap});
|
||||
@end example
|
||||
|
||||
@strong{Description}@*
|
||||
With the @file{varargs.h} macros, use @code{va_start} to initialize a
|
||||
data structure @var{ap} to permit manipulating a variable argument list.
|
||||
@var{ap} must have the type @var{va_alist}.
|
||||
|
||||
@strong{Returns}@*
|
||||
@code{va_start} does not return a result.
|
||||
|
||||
@strong{Portability}@*
|
||||
@code{va_start} is also defined as a macro in ANSI C, but the
|
||||
definitions are incompatible; the ANSI version has another parameter
|
||||
besides @var{ap}.
|
||||
|
||||
@page
|
||||
@node va_arg-trad
|
||||
@subsection Extract a value from argument list
|
||||
@findex va_arg
|
||||
@strong{Synopsis}
|
||||
@example
|
||||
#include <varargs.h>
|
||||
@var{type} va_arg(va_list @var{ap}, @var{type});
|
||||
@end example
|
||||
|
||||
@strong{Description}@*
|
||||
@code{va_arg} returns the next unprocessed value from a variable
|
||||
argument list @var{ap} (which you must previously create with
|
||||
@var{va_start}). Specify the type for the value as the second parameter
|
||||
to the macro, @var{type}.
|
||||
|
||||
@strong{Returns}@*
|
||||
@code{va_arg} returns the next argument, an object of type @var{type}.
|
||||
|
||||
@strong{Portability}@*
|
||||
The @code{va_arg} defined in @file{varargs.h} has the same syntax and
|
||||
usage as the ANSI C version from @file{stdarg.h}.
|
||||
|
||||
@page
|
||||
@node va_end-trad
|
||||
@subsection Abandon a variable argument list
|
||||
@findex va_end
|
||||
@strong{Synopsis}
|
||||
@example
|
||||
#include <varargs.h>
|
||||
va_end(va_list @var{ap});
|
||||
@end example
|
||||
|
||||
@strong{Description}@*
|
||||
Use @code{va_end} to declare that your program will not use the variable
|
||||
argument list @var{ap} any further.
|
||||
|
||||
@strong{Returns}@*
|
||||
@code{va_end} does not return a result.
|
||||
|
||||
@strong{Portability}@*
|
||||
The @code{va_end} defined in @file{varargs.h} has the same syntax and
|
||||
usage as the ANSI C version from @file{stdarg.h}.
|
||||
|
||||
@node Library Index
|
||||
@unnumbered Index
|
||||
@printindex cp
|
||||
|
||||
@tex
|
||||
% I think something like @colophon should be in texinfo. In the
|
||||
% meantime:
|
||||
\long\def\colophon{\hbox to0pt{}\vfill
|
||||
\centerline{The body of this manual is set in}
|
||||
\centerline{\fontname\tenrm,}
|
||||
\centerline{with headings in {\bf\fontname\tenbf}}
|
||||
\centerline{and examples in {\tt\fontname\tentt}.}
|
||||
\centerline{{\it\fontname\tenit\/} and}
|
||||
\centerline{{\sl\fontname\tensl\/}}
|
||||
\centerline{are used for emphasis.}\vfill}
|
||||
\page\colophon
|
||||
% Blame: pesch@cygnus.com, 28mar91.
|
||||
@end tex
|
||||
|
||||
@contents
|
||||
@bye
|
||||
|
||||
|
26
newlib/libc/locale/Makefile.am
Normal file
26
newlib/libc/locale/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 = locale.c
|
||||
|
||||
CHEWOUT_FILES = locale.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)/locale.tex >> $(TARGETDOC)
|
||||
|
||||
CLEANFILES = $(CHEWOUT_FILES) *.ref
|
297
newlib/libc/locale/Makefile.in
Normal file
297
newlib/libc/locale/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 = locale.c
|
||||
|
||||
CHEWOUT_FILES = locale.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 = locale.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 locale/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 = locale
|
||||
|
||||
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)/locale.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:
|
198
newlib/libc/locale/locale.c
Normal file
198
newlib/libc/locale/locale.c
Normal file
@ -0,0 +1,198 @@
|
||||
/*
|
||||
FUNCTION
|
||||
<<setlocale>>, <<localeconv>>---select or query locale
|
||||
|
||||
INDEX
|
||||
setlocale
|
||||
INDEX
|
||||
localeconv
|
||||
INDEX
|
||||
_setlocale_r
|
||||
INDEX
|
||||
_localeconv_r
|
||||
|
||||
ANSI_SYNOPSIS
|
||||
#include <locale.h>
|
||||
char *setlocale(int <[category]>, const char *<[locale]>);
|
||||
lconv *localeconv(void);
|
||||
|
||||
char *_setlocale_r(void *<[reent]>,
|
||||
int <[category]>, const char *<[locale]>);
|
||||
lconv *_localeconv_r(void *<[reent]>);
|
||||
|
||||
TRAD_SYNOPSIS
|
||||
#include <locale.h>
|
||||
char *setlocale(<[category]>, <[locale]>)
|
||||
int <[category]>;
|
||||
char *<[locale]>;
|
||||
|
||||
lconv *localeconv();
|
||||
|
||||
char *_setlocale_r(<[reent]>, <[category]>, <[locale]>)
|
||||
char *<[reent]>;
|
||||
int <[category]>;
|
||||
char *<[locale]>;
|
||||
|
||||
lconv *_localeconv_r(<[reent]>);
|
||||
char *<[reent]>;
|
||||
|
||||
DESCRIPTION
|
||||
<<setlocale>> is the facility defined by ANSI C to condition the
|
||||
execution environment for international collating and formatting
|
||||
information; <<localeconv>> reports on the settings of the current
|
||||
locale.
|
||||
|
||||
This is a minimal implementation, supporting only the required <<``C''>>
|
||||
value for <[locale]>; strings representing other locales are not
|
||||
honored unless MB_CAPABLE is defined in which case three new
|
||||
extensions are allowed for LC_CTYPE only: <<''C-JIS''>>, <<''C-EUCJP''>>,
|
||||
and <<''C-SJIS''>>. (<<``''>> is also accepted; it represents the default locale
|
||||
for an implementation, here equivalent to <<``C''>>.)
|
||||
|
||||
If you use <<NULL>> as the <[locale]> argument, <<setlocale>> returns
|
||||
a pointer to the string representing the current locale (always
|
||||
<<``C''>> in this implementation). The acceptable values for
|
||||
<[category]> are defined in `<<locale.h>>' as macros beginning with
|
||||
<<"LC_">>, but this implementation does not check the values you pass
|
||||
in the <[category]> argument.
|
||||
|
||||
<<localeconv>> returns a pointer to a structure (also defined in
|
||||
`<<locale.h>>') describing the locale-specific conventions currently
|
||||
in effect.
|
||||
|
||||
<<_localeconv_r>> and <<_setlocale_r>> are reentrant versions of
|
||||
<<localeconv>> and <<setlocale>> respectively. The extra argument
|
||||
<[reent]> is a pointer to a reentrancy structure.
|
||||
|
||||
RETURNS
|
||||
<<setlocale>> returns either a pointer to a string naming the locale
|
||||
currently in effect (always <<``C''>> for this implementation, or, if
|
||||
the locale request cannot be honored, <<NULL>>.
|
||||
|
||||
<<localeconv>> returns a pointer to a structure of type <<lconv>>,
|
||||
which describes the formatting and collating conventions in effect (in
|
||||
this implementation, always those of the C locale).
|
||||
|
||||
PORTABILITY
|
||||
ANSI C requires <<setlocale>>, but the only locale required across all
|
||||
implementations is the C locale.
|
||||
|
||||
No supporting OS subroutines are required.
|
||||
*/
|
||||
|
||||
/*
|
||||
* setlocale, localeconv : internationalize your locale.
|
||||
* (Only "C" or null supported).
|
||||
*/
|
||||
|
||||
#include <locale.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include <reent.h>
|
||||
|
||||
#ifdef __CYGWIN__
|
||||
int __declspec(dllexport) __mb_cur_max = 1;
|
||||
#else
|
||||
int __mb_cur_max = 1;
|
||||
#endif
|
||||
|
||||
static _CONST struct lconv lconv =
|
||||
{
|
||||
".", "", "", "", "", "", "", "", "", "",
|
||||
CHAR_MAX, CHAR_MAX, CHAR_MAX, CHAR_MAX,
|
||||
CHAR_MAX, CHAR_MAX, CHAR_MAX, CHAR_MAX,
|
||||
};
|
||||
|
||||
|
||||
char *
|
||||
_DEFUN(_setlocale_r, (p, category, locale),
|
||||
struct _reent *p _AND
|
||||
int category _AND
|
||||
_CONST char *locale)
|
||||
{
|
||||
static char lc_ctype[8] = "C";
|
||||
static char last_lc_ctype[8] = "C";
|
||||
|
||||
#ifndef MB_CAPABLE
|
||||
if (locale)
|
||||
{
|
||||
if (strcmp (locale, "C") && strcmp (locale, ""))
|
||||
return 0;
|
||||
p->_current_category = category;
|
||||
p->_current_locale = locale;
|
||||
}
|
||||
return "C";
|
||||
#else
|
||||
if (locale)
|
||||
{
|
||||
if (category != LC_CTYPE)
|
||||
{
|
||||
if (strcmp (locale, "C") && strcmp (locale, ""))
|
||||
return 0;
|
||||
if (category == LC_ALL)
|
||||
{
|
||||
strcpy (last_lc_ctype, lc_ctype);
|
||||
strcpy (lc_ctype, locale);
|
||||
__mb_cur_max = 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (strcmp (locale, "C") && strcmp (locale, "") &&
|
||||
strcmp (locale, "C") && strcmp (locale, "C-JIS") &&
|
||||
strcmp (locale, "C-EUCJP") && strcmp (locale, "C-SJIS"))
|
||||
return 0;
|
||||
|
||||
strcpy (last_lc_ctype, lc_ctype);
|
||||
strcpy (lc_ctype, locale);
|
||||
|
||||
if (!strcmp (locale, "C-JIS"))
|
||||
__mb_cur_max = 8;
|
||||
else if (strlen (locale) > 1)
|
||||
__mb_cur_max = 2;
|
||||
else
|
||||
__mb_cur_max = 1;
|
||||
}
|
||||
p->_current_category = category;
|
||||
p->_current_locale = locale;
|
||||
|
||||
if (category == LC_CTYPE)
|
||||
return last_lc_ctype;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (category == LC_CTYPE)
|
||||
return lc_ctype;
|
||||
}
|
||||
|
||||
return "C";
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
struct lconv *
|
||||
_DEFUN(_localeconv_r, (data),
|
||||
struct _reent *data)
|
||||
{
|
||||
return (struct lconv *) &lconv;
|
||||
}
|
||||
|
||||
#ifndef _REENT_ONLY
|
||||
|
||||
char *
|
||||
_DEFUN(setlocale, (category, locale),
|
||||
int category _AND
|
||||
_CONST char *locale)
|
||||
{
|
||||
return _setlocale_r (_REENT, category, locale);
|
||||
}
|
||||
|
||||
|
||||
struct lconv *
|
||||
_DEFUN_VOID(localeconv)
|
||||
{
|
||||
return _localeconv_r (_REENT);
|
||||
}
|
||||
|
||||
#endif
|
123
newlib/libc/locale/locale.tex
Normal file
123
newlib/libc/locale/locale.tex
Normal file
@ -0,0 +1,123 @@
|
||||
@node Locale
|
||||
@chapter Locale (@file{locale.h})
|
||||
|
||||
A @dfn{locale} is the name for a collection of parameters (affecting
|
||||
collating sequences and formatting conventions) that may be different
|
||||
depending on location or culture. The @code{"C"} locale is the only
|
||||
one defined in the ANSI C standard.
|
||||
|
||||
This is a minimal implementation, supporting only the required @code{``C''}
|
||||
value for locale; strings representing other locales are not
|
||||
honored. (@code{``''} is also accepted; it represents the default locale
|
||||
for an implementation, here equivalent to @code{``C''}.
|
||||
|
||||
|
||||
@file{locale.h} defines the structure @code{lconv} to collect the
|
||||
information on a locale, with the following fields:
|
||||
|
||||
@table @code
|
||||
@item char *decimal_point
|
||||
The decimal point character used to format ``ordinary'' numbers (all
|
||||
numbers except those referring to amounts of money). @code{``.''} in the
|
||||
C locale.
|
||||
|
||||
@item char *thousands_sep
|
||||
The character (if any) used to separate groups of digits, when
|
||||
formatting ordinary numbers.
|
||||
@code{``''} in the C locale.
|
||||
|
||||
@item char *grouping
|
||||
Specifications for how many digits to group (if any grouping is done at
|
||||
all) when formatting ordinary numbers. The @emph{numeric value} of each
|
||||
character in the string represents the number of digits for the next
|
||||
group, and a value of @code{0} (that is, the string's trailing
|
||||
@code{NULL}) means to continue grouping digits using the last value
|
||||
specified. Use @code{CHAR_MAX} to indicate that no further grouping is
|
||||
desired. @code{``''} in the C locale.
|
||||
|
||||
@item char *int_curr_symbol
|
||||
The international currency symbol (first three characters), if any, and
|
||||
the character used to separate it from numbers.
|
||||
@code{``''} in the C locale.
|
||||
|
||||
@item char *currency_symbol
|
||||
The local currency symbol, if any.
|
||||
@code{``''} in the C locale.
|
||||
|
||||
@item char *mon_decimal_point
|
||||
The symbol used to delimit fractions in amounts of money.
|
||||
@code{``''} in the C locale.
|
||||
|
||||
@item char *mon_thousands_sep
|
||||
Similar to @code{thousands_sep}, but used for amounts of money.
|
||||
@code{``''} in the C locale.
|
||||
|
||||
@item char *mon_grouping
|
||||
Similar to @code{grouping}, but used for amounts of money.
|
||||
@code{``''} in the C locale.
|
||||
|
||||
@item char *positive_sign
|
||||
A string to flag positive amounts of money when formatting.
|
||||
@code{``''} in the C locale.
|
||||
|
||||
@item char *negative_sign
|
||||
A string to flag negative amounts of money when formatting.
|
||||
@code{``''} in the C locale.
|
||||
|
||||
@item char int_frac_digits
|
||||
The number of digits to display when formatting amounts of money to
|
||||
international conventions.
|
||||
@code{CHAR_MAX} (the largest number representable as a @code{char}) in
|
||||
the C locale.
|
||||
|
||||
@item char frac_digits
|
||||
The number of digits to display when formatting amounts of money to
|
||||
local conventions.
|
||||
@code{CHAR_MAX} in the C locale.
|
||||
|
||||
@item char p_cs_precedes
|
||||
@code{1} indicates the local currency symbol is used before a
|
||||
@emph{positive or zero} formatted amount of money; @code{0} indicates
|
||||
the currency symbol is placed after the formatted number.
|
||||
@code{CHAR_MAX} in the C locale.
|
||||
|
||||
@item char p_sep_by_space
|
||||
@code{1} indicates the local currency symbol must be separated from
|
||||
@emph{positive or zero} numbers by a space; @code{0} indicates that it
|
||||
is immediately adjacent to numbers.
|
||||
@code{CHAR_MAX} in the C locale.
|
||||
|
||||
@item char n_cs_precedes
|
||||
@code{1} indicates the local currency symbol is used before a
|
||||
@emph{negative} formatted amount of money; @code{0} indicates
|
||||
the currency symbol is placed after the formatted number.
|
||||
@code{CHAR_MAX} in the C locale.
|
||||
|
||||
@item char n_sep_by_space
|
||||
@code{1} indicates the local currency symbol must be separated from
|
||||
@emph{negative} numbers by a space; @code{0} indicates that it
|
||||
is immediately adjacent to numbers.
|
||||
@code{CHAR_MAX} in the C locale.
|
||||
|
||||
@item char p_sign_posn
|
||||
Controls the position of the @emph{positive} sign for
|
||||
numbers representing money. @code{0} means parentheses surround the
|
||||
number; @code{1} means the sign is placed before both the number and the
|
||||
currency symbol; @code{2} means the sign is placed after both the number
|
||||
and the currency symbol; @code{3} means the sign is placed just before
|
||||
the currency symbol; and @code{4} means the sign is placed just after
|
||||
the currency symbol.
|
||||
@code{CHAR_MAX} in the C locale.
|
||||
|
||||
@item char n_sign_posn
|
||||
Controls the position of the @emph{negative} sign for numbers
|
||||
representing money, using the same rules as @code{p_sign_posn}.
|
||||
@code{CHAR_MAX} in the C locale.
|
||||
@end table
|
||||
|
||||
@menu
|
||||
* setlocale:: Select or query locale
|
||||
@end menu
|
||||
|
||||
@page
|
||||
@include locale/locale.def
|
23
newlib/libc/machine/Makefile.am
Normal file
23
newlib/libc/machine/Makefile.am
Normal file
@ -0,0 +1,23 @@
|
||||
## Process this file with automake to generate Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
SUBDIRS = $(machine_dir) .
|
||||
|
||||
if HAVE_MACHINE_DIR
|
||||
MACHLIB = lib.a
|
||||
endif
|
||||
|
||||
noinst_LIBRARIES = $(MACHLIB)
|
||||
|
||||
lib.a: $(machine_dir)/lib.a
|
||||
rm -f $@
|
||||
ln $(machine_dir)/lib.a $@ >/dev/null 2>/dev/null || \
|
||||
cp $(machine_dir)/lib.a $@
|
||||
|
||||
$(machine_dir)/lib.a:
|
||||
|
||||
doc:
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ../..
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
401
newlib/libc/machine/Makefile.in
Normal file
401
newlib/libc/machine/Makefile.in
Normal file
@ -0,0 +1,401 @@
|
||||
# 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@
|
||||
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
|
||||
|
||||
SUBDIRS = $(machine_dir) .
|
||||
|
||||
@HAVE_MACHINE_DIR_TRUE@MACHLIB = \
|
||||
@HAVE_MACHINE_DIR_TRUE@lib.a
|
||||
|
||||
noinst_LIBRARIES = $(MACHLIB)
|
||||
|
||||
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@
|
||||
lib_a_LIBADD =
|
||||
lib_a_SOURCES = lib.a.c
|
||||
lib_a_OBJECTS = lib.a.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 aclocal.m4 configure configure.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP_ENV = --best
|
||||
SOURCES = lib.a.c
|
||||
OBJECTS = lib.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 \
|
||||
../../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:
|
||||
|
||||
# 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 $(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-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)
|
||||
all-redirect: all-recursive
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
|
||||
|
||||
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-noinstLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-tags mostlyclean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
|
||||
mostlyclean-am
|
||||
|
||||
clean: clean-recursive
|
||||
|
||||
distclean-am: distclean-noinstLIBRARIES distclean-compile \
|
||||
distclean-tags distclean-generic clean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f config.status
|
||||
|
||||
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-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-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
|
||||
|
||||
|
||||
lib.a: $(machine_dir)/lib.a
|
||||
rm -f $@
|
||||
ln $(machine_dir)/lib.a $@ >/dev/null 2>/dev/null || \
|
||||
cp $(machine_dir)/lib.a $@
|
||||
|
||||
$(machine_dir)/lib.a:
|
||||
|
||||
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:
|
12
newlib/libc/machine/a29k/Makefile.am
Normal file
12
newlib/libc/machine/a29k/Makefile.am
Normal file
@ -0,0 +1,12 @@
|
||||
## 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 =
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ../../..
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
294
newlib/libc/machine/a29k/Makefile.in
Normal file
294
newlib/libc/machine/a29k/Makefile.in
Normal file
@ -0,0 +1,294 @@
|
||||
# Makefile.in generated automatically by automake 1.3 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998 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
|
||||
|
||||
DISTDIR =
|
||||
|
||||
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@
|
||||
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@
|
||||
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
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
noinst_LIBRARIES = lib.a
|
||||
|
||||
lib_a_SOURCES =
|
||||
|
||||
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@
|
||||
lib_a_LIBADD =
|
||||
lib_a_OBJECTS =
|
||||
DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP = --best
|
||||
SOURCES = $(lib_a_SOURCES)
|
||||
OBJECTS = $(lib_a_OBJECTS)
|
||||
|
||||
all: Makefile $(LIBRARIES)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .c .o .s
|
||||
$(srcdir)/Makefile.in: @MAINT@ 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): @MAINT@ configure.in ../../../acinclude.m4 \
|
||||
../../../aclocal.m4
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: @MAINT@$(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:
|
||||
|
||||
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)
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(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 = $(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) $(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)
|
||||
@echo "========================"; \
|
||||
echo "$(distdir).tar.gz is ready for distribution"; \
|
||||
echo "========================"
|
||||
dist: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
dist-all: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP) $(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; \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file; \
|
||||
done
|
||||
info:
|
||||
dvi:
|
||||
check:
|
||||
$(MAKE) $(AM_MAKEFLAGS)
|
||||
installcheck:
|
||||
install-info:
|
||||
install-exec:
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install-data:
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install: install-exec install-data all
|
||||
@:
|
||||
|
||||
uninstall:
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
|
||||
installdirs:
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(DISTCLEANFILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-tags mostlyclean-generic
|
||||
|
||||
clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
|
||||
mostlyclean
|
||||
|
||||
distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
|
||||
distclean-generic clean
|
||||
-rm -f config.status
|
||||
|
||||
maintainer-clean: maintainer-clean-noinstLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-tags \
|
||||
maintainer-clean-generic distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f config.status
|
||||
|
||||
.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 dvi installcheck \
|
||||
install-info install-exec install-data install uninstall all \
|
||||
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-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:
|
282
newlib/libc/machine/a29k/aclocal.m4
vendored
Normal file
282
newlib/libc/machine/a29k/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])
|
||||
|
1687
newlib/libc/machine/a29k/configure
vendored
Executable file
1687
newlib/libc/machine/a29k/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
12
newlib/libc/machine/a29k/configure.in
Normal file
12
newlib/libc/machine/a29k/configure.in
Normal file
@ -0,0 +1,12 @@
|
||||
dnl This is the newlib/libc/machine/a29k configure.in file.
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.5)
|
||||
AC_INIT(Makefile.am)
|
||||
|
||||
dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
|
||||
AC_CONFIG_AUX_DIR(../../../..)
|
||||
|
||||
NEWLIB_CONFIGURE(../../..)
|
||||
|
||||
AC_OUTPUT(Makefile)
|
282
newlib/libc/machine/aclocal.m4
vendored
Normal file
282
newlib/libc/machine/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])
|
||||
|
12
newlib/libc/machine/arm/Makefile.am
Normal file
12
newlib/libc/machine/arm/Makefile.am
Normal file
@ -0,0 +1,12 @@
|
||||
## 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 =
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ../../..
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
294
newlib/libc/machine/arm/Makefile.in
Normal file
294
newlib/libc/machine/arm/Makefile.in
Normal file
@ -0,0 +1,294 @@
|
||||
# Makefile.in generated automatically by automake 1.3 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998 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
|
||||
|
||||
DISTDIR =
|
||||
|
||||
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@
|
||||
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@
|
||||
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
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
noinst_LIBRARIES = lib.a
|
||||
|
||||
lib_a_SOURCES =
|
||||
|
||||
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@
|
||||
lib_a_LIBADD =
|
||||
lib_a_OBJECTS =
|
||||
DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP = --best
|
||||
SOURCES = $(lib_a_SOURCES)
|
||||
OBJECTS = $(lib_a_OBJECTS)
|
||||
|
||||
all: Makefile $(LIBRARIES)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .c .o .s
|
||||
$(srcdir)/Makefile.in: @MAINT@ 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): @MAINT@ configure.in ../../../acinclude.m4 \
|
||||
../../../aclocal.m4
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: @MAINT@$(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:
|
||||
|
||||
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)
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(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 = $(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) $(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)
|
||||
@echo "========================"; \
|
||||
echo "$(distdir).tar.gz is ready for distribution"; \
|
||||
echo "========================"
|
||||
dist: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
dist-all: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP) $(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; \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file; \
|
||||
done
|
||||
info:
|
||||
dvi:
|
||||
check:
|
||||
$(MAKE) $(AM_MAKEFLAGS)
|
||||
installcheck:
|
||||
install-info:
|
||||
install-exec:
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install-data:
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install: install-exec install-data all
|
||||
@:
|
||||
|
||||
uninstall:
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
|
||||
installdirs:
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(DISTCLEANFILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-tags mostlyclean-generic
|
||||
|
||||
clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
|
||||
mostlyclean
|
||||
|
||||
distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
|
||||
distclean-generic clean
|
||||
-rm -f config.status
|
||||
|
||||
maintainer-clean: maintainer-clean-noinstLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-tags \
|
||||
maintainer-clean-generic distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f config.status
|
||||
|
||||
.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 dvi installcheck \
|
||||
install-info install-exec install-data install uninstall all \
|
||||
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-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:
|
282
newlib/libc/machine/arm/aclocal.m4
vendored
Normal file
282
newlib/libc/machine/arm/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])
|
||||
|
1687
newlib/libc/machine/arm/configure
vendored
Executable file
1687
newlib/libc/machine/arm/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user