mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-17 03:49:46 +08:00
dee5139131
* configure.host(stdio64_dir): New setting that is used to enable building of new stdio64 directory. * libc/Makefile.am[HAVE_STDIO64_DIR]: Add support for large files. (stmp-stdio64,stdio64.texi): New targets to optionally add in stdio64 info to info files. * libc/Makefile.in: Regenerated. * libc/configure: Ditto. * libc/configure.in: Add configuration variables that are set when stdio64 is selected as subdir in configure.host. * libc/libc.texinfo: Add optional menu item for Stdio64, based on whether STDIO64 flag is set or not. * libc/sys.tex: Add optional stdio64 syscalls based on whether STDIO64 flag is set or not. * libc/include/reent.h[__LARGE64_FILES]: Add new stdio64 _r sycall routines. * libc/include/stdio.h[__LARGE64_FILES]: Add new stdio64 prototypes. (FILE): Typedef'd to __FILE instead of struct __sFILE directly. (__SL64): New file flag indicating file is opened via fopen64. * libc/include/sys/_types.h(_off64_t): Added. * libc/include/sys/config.h: For x86-linux, define __LARGE64_FILES. * libc/include/sys/reent.h(struct __sFILE64): New file structure for 64-bit offset large file support. (__FILE): New intermediate type either set to struct __sFILE64 or struct __sFILE, depending on whether __LARGE64_FILES is set or not. * libc/reent/Makefile.am[HAVE_STDIO64_DIR]: Add new files. * libc/reent/Makefile.in: Regenerated. * libc/reent/fstat64r.c: New file. * libc/reent/lseek64r.c: Ditto. * libc/reent/open64r.c: Ditto. * libc/reent/reent.tex: Optionally add stdio64 reentrant syscalls based on whether STDIO64 flag is set. * libc/stdio/stdio.tex: Add blank line. * libc/stdio64/Makefile.am: New file. * libc/stdio64/Makefile.in: Ditto. * libc/stdio64/fgetpos64.c: Ditto. * libc/stdio64/fopen64.: Ditto. * libc/stdio64/freopen64.c: Ditto. * libc/stdio64/fseeko64.c: Ditto. * libc/stdio64/fsetpos64.c: Ditto. * libc/stdio64/ftello64.c: Ditto. * libc/stdio64/local64.h: Ditto. * libc/stdio64/stdio64.c: Ditto. * libc/stdio64/stdio64.tex: Ditto. * libc/stdio64/tmpfile64.c: Ditto. * libc/sys/linux/io64.c: Add weak aliases for lseek64, fstat64, and open64.
184 lines
4.0 KiB
Makefile
184 lines
4.0 KiB
Makefile
## 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
|
|
|
|
if HAVE_STDIO64_DIR
|
|
STDIO64_SUBDIR = stdio64
|
|
endif
|
|
|
|
# The order of SUBDIRS is important for the integrated documentation.
|
|
# Do not change the order without considering the doc impact.
|
|
SUBDIRS = argz stdlib ctype search stdio $(STDIO64_SUBDIR) string $(SIGNAL_SUBDIR) time locale sys reent \
|
|
$(extra_dir) errno misc machine $(UNIX_SUBDIR) $(POSIX_SUBDIR) $(SYSCALLS_SUBDIR) .
|
|
|
|
noinst_DATA = $(CRT0)
|
|
|
|
if USE_LIBTOOL
|
|
noinst_LTLIBRARIES = libc.la
|
|
SUBLIBS = \
|
|
argz/libargz.$(aext) \
|
|
stdlib/libstdlib.$(aext) \
|
|
ctype/libctype.$(aext) \
|
|
search/libsearch.$(aext) \
|
|
stdio/libstdio.$(aext) \
|
|
$(LIBC_STDIO64_LIB) \
|
|
string/libstring.$(aext) \
|
|
$(LIBC_SIGNAL_LIB) \
|
|
time/libtime.$(aext) \
|
|
locale/liblocale.$(aext) \
|
|
$(LIBC_SYS_LIB) \
|
|
reent/libreent.$(aext) \
|
|
$(LIBC_EXTRA_LIB) \
|
|
errno/liberrno.$(aext) \
|
|
misc/libmisc.$(aext) \
|
|
$(LIBC_MACHINE_LIB) \
|
|
$(LIBC_UNIX_LIB) \
|
|
$(LIBC_POSIX_LIB) \
|
|
$(LIBC_SYSCALL_LIB)
|
|
else
|
|
noinst_LIBRARIES = libc.a
|
|
SUBLIBS = \
|
|
argz/lib.$(aext) \
|
|
stdlib/lib.$(aext) \
|
|
ctype/lib.$(aext) \
|
|
search/lib.$(aext) \
|
|
stdio/lib.$(aext) \
|
|
$(LIBC_STDIO64_LIB) \
|
|
string/lib.$(aext) \
|
|
$(LIBC_SIGNAL_LIB) \
|
|
time/lib.$(aext) \
|
|
locale/lib.$(aext) \
|
|
$(LIBC_SYS_LIB) \
|
|
reent/lib.$(aext) \
|
|
$(LIBC_EXTRA_LIB) \
|
|
errno/lib.$(aext) \
|
|
misc/lib.$(aext) \
|
|
$(LIBC_MACHINE_LIB) \
|
|
$(LIBC_UNIX_LIB) \
|
|
$(LIBC_POSIX_LIB) \
|
|
$(LIBC_SYSCALL_LIB)
|
|
endif
|
|
|
|
libc_la_LDFLAGS = -Xcompiler -nostdlib
|
|
|
|
if USE_LIBTOOL
|
|
libc_la_SOURCES =
|
|
libc_la_LIBADD = $(SUBLIBS)
|
|
else
|
|
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
|
|
endif # USE_LIBTOOL
|
|
|
|
$(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 \
|
|
$(LIBC_STDIO64_DEF) \
|
|
string/stmp-def \
|
|
$(LIBC_SIGNAL_DEF) \
|
|
time/stmp-def \
|
|
locale/stmp-def \
|
|
reent/stmp-def \
|
|
$(LIBC_EXTRA_DEF) \
|
|
misc/stmp-def
|
|
|
|
libc.info: sigset.texi extra.texi stdio64.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-extra: config.status
|
|
if test -n "$(LIBC_EXTRA_LIB)"; then \
|
|
echo "@set EXTRA" >tmp.texi; \
|
|
else \
|
|
echo "@clear EXTRA" >tmp.texi; \
|
|
fi
|
|
$(SHELL) $(newlib_basedir)/../move-if-change tmp.texi extra.texi
|
|
touch $@
|
|
|
|
extra.texi: stmp-extra ; @true
|
|
|
|
stmp-stdio64: config.status
|
|
if test -n "$(LIBC_STDIO64_LIB)"; then \
|
|
echo "@set STDIO64" >tmp.texi; \
|
|
else \
|
|
echo "@clear STDIO64" >tmp.texi; \
|
|
fi
|
|
$(SHELL) $(newlib_basedir)/../move-if-change tmp.texi stdio64.texi
|
|
touch $@
|
|
|
|
stdio64.texi: stmp-stdio64 ; @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) \
|
|
sigset.texi stmp-sigset extra.texi stmp-extra \
|
|
stdio64.texi stmp-stdio64 tmp.texi targetdep.tex stmp-targetdep
|
|
|
|
ACLOCAL_AMFLAGS = -I ..
|
|
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|