aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog75
-rw-r--r--Makeconfig6
-rw-r--r--Makefile8
-rw-r--r--Makerules16
-rw-r--r--config.h.in4
-rw-r--r--config.make.in1
-rw-r--r--configure.in8
-rw-r--r--stdio-common/Makefile47
-rw-r--r--stdio-common/_itoa.c (renamed from stdio/_itoa.c)0
-rw-r--r--stdio-common/_itoa.h (renamed from stdio/_itoa.h)0
-rw-r--r--stdio-common/asprintf.c (renamed from stdio/asprintf.c)17
-rw-r--r--stdio-common/bug1.c (renamed from stdio/bug1.c)0
-rw-r--r--stdio-common/bug1.input (renamed from stdio/bug1.input)0
-rw-r--r--stdio-common/bug2.c (renamed from stdio/bug2.c)0
-rw-r--r--stdio-common/bug3.c (renamed from stdio/bug3.c)0
-rw-r--r--stdio-common/bug4.c (renamed from stdio/bug4.c)0
-rw-r--r--stdio-common/bug5.c (renamed from stdio/bug5.c)0
-rw-r--r--stdio-common/bug6.c (renamed from stdio/bug6.c)0
-rw-r--r--stdio-common/bug6.input (renamed from stdio/bug6.input)0
-rw-r--r--stdio-common/bug7.c (renamed from stdio/bug7.c)0
-rw-r--r--stdio-common/dprintf.c (renamed from stdio/dprintf.c)16
-rw-r--r--stdio-common/errnobug.c (renamed from stdio/errnobug.c)0
-rw-r--r--stdio-common/fprintf.c (renamed from stdio/fprintf.c)0
-rw-r--r--stdio-common/fscanf.c (renamed from stdio/fscanf.c)0
-rw-r--r--stdio-common/getline.c (renamed from stdio/getline.c)0
-rw-r--r--stdio-common/getw.c (renamed from stdio/getw.c)0
-rw-r--r--stdio-common/perror.c (renamed from stdio/perror.c)0
-rw-r--r--stdio-common/printf-parse.h (renamed from stdio/printf-parse.h)0
-rw-r--r--stdio-common/printf-prs.c (renamed from stdio/printf-prs.c)0
-rw-r--r--stdio-common/printf.c (renamed from stdio/printf.c)15
-rw-r--r--stdio-common/printf.h (renamed from stdio/printf.h)0
-rw-r--r--stdio-common/printf_fp.c (renamed from stdio/printf_fp.c)0
-rw-r--r--stdio-common/psignal.c (renamed from stdio/psignal.c)0
-rw-r--r--stdio-common/putw.c (renamed from stdio/putw.c)0
-rw-r--r--stdio-common/reg-printf.c (renamed from stdio/reg-printf.c)0
-rw-r--r--stdio-common/scanf.c (renamed from stdio/scanf.c)15
-rw-r--r--stdio-common/snprintf.c (renamed from stdio/snprintf.c)18
-rw-r--r--stdio-common/sprintf.c (renamed from stdio/sprintf.c)16
-rw-r--r--stdio-common/sscanf.c (renamed from stdio/sscanf.c)16
-rw-r--r--stdio-common/tempnam.c (renamed from stdio/tempnam.c)0
-rw-r--r--stdio-common/temptest.c (renamed from stdio/temptest.c)0
-rw-r--r--stdio-common/test-fseek.c (renamed from stdio/test-fseek.c)0
-rw-r--r--stdio-common/test-fwrite.c (renamed from stdio/test-fwrite.c)0
-rw-r--r--stdio-common/test-popen.c (renamed from stdio/test-popen.c)0
-rw-r--r--stdio-common/test_rdwr.c (renamed from stdio/test_rdwr.c)0
-rw-r--r--stdio-common/tmpfile.c (renamed from stdio/tmpfile.c)0
-rw-r--r--stdio-common/tmpnam.c (renamed from stdio/tmpnam.c)0
-rw-r--r--stdio-common/tst-fileno.c (renamed from stdio/tst-fileno.c)0
-rw-r--r--stdio-common/tst-printf.c (renamed from stdio/tst-printf.c)0
-rw-r--r--stdio-common/tstgetln.c (renamed from stdio/tstgetln.c)0
-rw-r--r--stdio-common/tstgetln.input (renamed from stdio/tstgetln.input)0
-rw-r--r--stdio-common/tstscanf.c (renamed from stdio/tstscanf.c)0
-rw-r--r--stdio-common/tstscanf.input (renamed from stdio/tstscanf.input)0
-rw-r--r--stdio-common/vasprintf.c (renamed from stdio/vasprintf.c)0
-rw-r--r--stdio-common/vdprintf.c (renamed from stdio/vdprintf.c)0
-rw-r--r--stdio-common/vfprintf.c (renamed from stdio/vfprintf.c)0
-rw-r--r--stdio-common/vfscanf.c (renamed from stdio/vfscanf.c)0
-rw-r--r--stdio-common/vprintf.c (renamed from stdio/vprintf.c)10
-rw-r--r--stdio-common/vscanf.c (renamed from stdio/vscanf.c)0
-rw-r--r--stdio-common/vsnprintf.c (renamed from stdio/vsnprintf.c)0
-rw-r--r--stdio-common/vsprintf.c (renamed from stdio/vsprintf.c)0
-rw-r--r--stdio-common/vsscanf.c (renamed from stdio/vsscanf.c)0
-rw-r--r--stdio-common/xbug.c (renamed from stdio/xbug.c)0
-rw-r--r--stdio.h4
-rw-r--r--stdio/Makefile26
-rw-r--r--sysdeps/generic/Makefile4
66 files changed, 235 insertions, 87 deletions
diff --git a/ChangeLog b/ChangeLog
index 610def7e75..5e0887b88a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,80 @@
Mon Oct 16 03:22:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+ * Makefile (subdirs): Replace stdio with stdio-common and $(stdio).
+ * configure.in: Grok arg --enable-libio.
+ ($stdio = libio): Define USE_IN_LIBIO.
+ * config.h.in (USE_IN_LIBIO): Add #undef.
+ * config.make.in (stdio): New variable, set by configure.
+ * Makeconfig (stdio): New variable.
+ * stdio.h [USE_IN_LIBIO]: Include libio/stdio.h instead of
+ stdio/stdio.h.
+ * stdio-common/Makefile: New file.
+ * stdio/Makefile: Half the contents moved to stdio-common/Makefile.
+ * stdio/_itoa.c: Moved to stdio-common.
+ * stdio/_itoa.h: Moved to stdio-common.
+ * stdio/asprintf.c: Moved to stdio-common.
+ * stdio/bug1.c: Moved to stdio-common.
+ * stdio/bug1.input: Moved to stdio-common.
+ * stdio/bug2.c: Moved to stdio-common.
+ * stdio/bug3.c: Moved to stdio-common.
+ * stdio/bug4.c: Moved to stdio-common.
+ * stdio/bug5.c: Moved to stdio-common.
+ * stdio/bug6.c: Moved to stdio-common.
+ * stdio/bug6.input: Moved to stdio-common.
+ * stdio/bug7.c: Moved to stdio-common.
+ * stdio/dprintf.c: Moved to stdio-common.
+ * stdio/errnobug.c: Moved to stdio-common.
+ * stdio/getline.c: Moved to stdio-common.
+ * stdio/getw.c: Moved to stdio-common.
+ * stdio/perror.c: Moved to stdio-common.
+ * stdio/printf-parse.h: Moved to stdio-common.
+ * stdio/printf-prs.c: Moved to stdio-common.
+ * stdio/printf.c: Moved to stdio-common.
+ * stdio/printf.h: Moved to stdio-common.
+ * stdio/printf_fp.c: Moved to stdio-common.
+ * stdio/psignal.c: Moved to stdio-common.
+ * stdio/putw.c: Moved to stdio-common.
+ * stdio/reg-printf.c: Moved to stdio-common.
+ * stdio/scanf.c: Moved to stdio-common.
+ * stdio/snprintf.c: Moved to stdio-common.
+ * stdio/sprintf.c: Moved to stdio-common.
+ * stdio/sscanf.c: Moved to stdio-common.
+ * stdio/tempnam.c: Moved to stdio-common.
+ * stdio/temptest.c: Moved to stdio-common.
+ * stdio/test-fseek.c: Moved to stdio-common.
+ * stdio/test-fwrite.c: Moved to stdio-common.
+ * stdio/test-popen.c: Moved to stdio-common.
+ * stdio/test_rdwr.c: Moved to stdio-common.
+ * stdio/tmpfile.c: Moved to stdio-common.
+ * stdio/tmpnam.c: Moved to stdio-common.
+ * stdio/tst-fileno.c: Moved to stdio-common.
+ * stdio/tst-printf.c: Moved to stdio-common.
+ * stdio/tstgetln.c: Moved to stdio-common.
+ * stdio/tstgetln.input: Moved to stdio-common.
+ * stdio/tstscanf.c: Moved to stdio-common.
+ * stdio/tstscanf.input: Moved to stdio-common.
+ * stdio/vfprintf.c: Moved to stdio-common.
+ * stdio/vfscanf.c: Moved to stdio-common.
+ * stdio/vprintf.c: Moved to stdio-common.
+ * stdio/xbug.c: Moved to stdio-common.
+ * sysdeps/generic/Makefile (siglist.c rules): Do this in subdir
+ stdio-common instead of stdio.
+ * sysdeps/unix/Makefile (errlist.c rules): Likewise.
+ * stdio-common/asprintf.c [USE_IN_LIBIO]: Call libio primitive
+ function.
+ * stdio-common/dprintf.c: Likewise.
+ * stdio-common/printf.c: Likewise.
+ * stdio-common/scanf.c: Likewise.
+ * stdio-common/snprintf.c: Likewise.
+ * stdio-common/sprintf.c: Likewise.
+ * stdio-common/sscanf.c: Likewise.
+ * stdio-common/vprintf.c: Likewise.
+
+ * Makerules: Include $(+depfiles) directly instead of generating
+ depend-$(subdir).
+ (depend-$(subdir)): Target removed.
+ (common-clean): Don't remove depend-$(subdir).
+
* sysdeps/unix/sysv/linux/Makefile (rtld-installed-name): New variable.
(config-LDFLAGS): Variable removed.
diff --git a/Makeconfig b/Makeconfig
index d21d7114e0..cbb2db0102 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -114,6 +114,12 @@ export sysdep_dir := $(sysdep_dir)
####
+# Set this to either `stdio' or `libio', to compile in either GNU stdio
+# or GNU libio.
+ifndef stdio
+stdio = stdio
+endif
+
# Common prefix for machine-independent installation directories.
ifeq ($(origin prefix),undefined) # ifndef would override explicit empty value.
prefix = /usr/local
diff --git a/Makefile b/Makefile
index f3d5e1c2f2..f1aae8ed0b 100644
--- a/Makefile
+++ b/Makefile
@@ -51,10 +51,10 @@ sysdep-subdirs := $(subst $(\n), ,$(sysdep-subdirs))
endif
# These are the subdirectories containing the library source.
-subdirs := csu assert ctype locale intl math setjmp signal stdio stdlib \
- malloc string time dirent grp pwd posix io termios resource \
- misc socket sysvipc gmon gnulib $(wildcard crypt) manual \
- $(sysdep-subdirs) elf
+subdirs = csu assert ctype locale intl math setjmp signal stdlib \
+ stdio-common $(stdio) malloc string time dirent grp pwd \
+ posix io termios resource misc socket sysvipc gmon gnulib \
+ $(wildcard crypt) manual $(sysdep-subdirs) elf
export subdirs := $(subdirs) # Benign, useless in GNU make before 3.63.
# The mach and hurd subdirectories have many generated header files which
diff --git a/Makerules b/Makerules
index 56f8cc89e6..ac1ac39b48 100644
--- a/Makerules
+++ b/Makerules
@@ -301,19 +301,10 @@ endif
$(filter-out $(addsuffix .d,$(omit-deps)),\
$(+depfiles)))
-$(objpfx)depend-$(subdir): Makefile
ifdef +depfiles
- for file in $(+depfiles:$(objpfx)%=%); do \
- echo "include \$$(objpfx)$$file"; \
- done > $@-tmp
- mv -f $@-tmp $@
-else
- cp /dev/null $@
-endif
-
ifneq ($(no_deps),t)
-# Include the generated dependencies of the sources in this directory.
-include $(objpfx)depend-$(subdir)
+include $(+depfiles)
+endif
endif
# Maximize efficiency by minimizing the number of rules.
@@ -623,8 +614,7 @@ endef
# Also remove the dependencies and generated source files.
common-clean: common-mostlyclean
- -rm -f $(objpfx)depend-$(subdir) $(+depfiles)
- -rm -f $(addprefix $(objpfx),$(generated))
+ -rm -f $(addprefix $(objpfx),$(generated)) $(+depfiles)
# Produce a file `stub-$(subdir)' which contains `#define __stub_FUNCTION'
# for each function which is a stub. We grovel over all the .d files
diff --git a/config.h.in b/config.h.in
index 800fe15720..485f86170f 100644
--- a/config.h.in
+++ b/config.h.in
@@ -30,6 +30,10 @@
#define HAVE_WEAK_SYMBOLS
#endif
#endif
+
+/* Define to use GNU libio instead of GNU stdio.
+ This is defined by configure under --enable-libio. */
+#undef USE_IN_LIBIO
/* */
/* These symbols might be defined by some sysdeps configures. */
diff --git a/config.make.in b/config.make.in
index 69d4fcbdea..2af925da48 100644
--- a/config.make.in
+++ b/config.make.in
@@ -24,6 +24,7 @@ gnu-ld = @gnu_ld@
build-shared = @shared@
build-profile = @profile@
build-omitfp = @omitfp@
+stdio = @stdio@
# Build tools.
CC = @CC@
diff --git a/configure.in b/configure.in
index e7d4ecbb39..239e7fd874 100644
--- a/configure.in
+++ b/configure.in
@@ -40,6 +40,11 @@ AC_ARG_WITH(weak-symbols, dnl
--with-weak-symbols if weak symbols are available in as and ld,
weak=$withval, weak=no)
+AC_ARG_ENABLE(libio, dnl
+[ --enable-libio build in GNU libio instead of GNU stdio],
+ stdio=libio, stdio=stdio)
+AC_SUBST(stdio)
+
dnl Arguments to enable or disable building the shared, profiled, and
dnl -fomit-frame-pointer libraries.
AC_ARG_ENABLE(shared, dnl
@@ -485,6 +490,9 @@ fi
AC_SUBST(profile)
AC_SUBST(omitfp)
+if test $stdio = libio; then
+ AC_DEFINE(USE_IN_LIBIO)
+fi
if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
config_makefile=
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
new file mode 100644
index 0000000000..6ca6c7d1d3
--- /dev/null
+++ b/stdio-common/Makefile
@@ -0,0 +1,47 @@
+#