summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2006-08-21 07:30:45 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2006-08-21 07:30:45 +0000
commit05e03fc6560278ba81f78f397a00319e9df5a5ca (patch)
treeab6aba763c2b2fa08236105ad511b3800f1df3ea /src
parent0f7a044109b860443ecaa4f8a37652b1b4423057 (diff)
downloadcoreutils-05e03fc6560278ba81f78f397a00319e9df5a5ca.tar.xz
Add a bootstrap procedure, so that the CVS version contains fewer
files and we bootstrap the rest from gnulib, gettext, etc. * README-cvs: New file. * bootstrap: New file. * bootstrap.conf: New file. * .x-sc_trailing_blank: Remove config-log, .gdb-history. Add .po. * configure.ac (AC_PREREQ): Move here from m4/*.m4, for benefit of gnulib-tool. (gl_DEFAULT_POSIX2_VERSION, gl_USE_SYSTEM_EXTENSIONS, gl_PERL): (gl_IGNORE_UNUSED_LIBRARIES): Remove; now done by gnulib. (gl_EARLY): Add. (gl_MACROS): Call just after gl_EARLY, just for clarity. * src/c99-to-c98.diff: Remove patch to ls.c; no longer needed. * src/kill.c (strtoimax): Remove decl. * src/ls.c: Include "wcwidth.h" instead of rolling it ourselves. * src/wc.c: Likewise. * src/ls.c (sort_files): Rewrite to avoid need for C99-style declaration, so that we don't need to patch this file. * src/printf.c (strtoimax, strtoumax): Remove decls. * src/su.c: Include getpass.h. (getpass): remove. * src/system.h: Include mempcpy.h, stpcpy.h, strpbrk.h. Include inttypes.h unconditionally; remove decls it handles. * lib/Makefile.am: include gnulib.mk, so that we can remove most of this file. (AM_CPPFLAGS): Don't mention -I$(srcdir), since that's now done for us. (noinst_LIBRARIES, LDDADD, DEFS): Remove. (libcoreutils_a_SOURCES): Trim down greatly, just to the files that aren't in gnulib. Remove defns gnulib does for us. * m4/check-decl.m4 (gl_CHECK_DECLS): Don't include stdio.h, string.h, stdlib.h, unistd.h, sys/time.h, time.h. Use AC_CHECK_DECLS_ONCE for free, getenv, geteuid, getlogin, getuid, lseek, malloc, memchr, realloc. Don't check for getutent, memrchr, nanosleep, stpcpy, strndup, strnlen, strstr, strtoul, strtoull. (_gl_DECL_HEADERS): Remove; all uses removed. * m4/jm-macros.m4 (gl_MACROS): Move AC_PREREQ into configure.ac for the benefit of gnulib-tool. Call gl_INIT. Do not call or require macros that gnulib will handle for us. Don't check for fchmod, hasmntopt, isascii, lchown, listmntent, mempcpy, realpath, wcrtomb, tzset. (gl_CHECK_ALL_HEADERS): Don't check for sys/statvfs.h, sys/vfs.h, sys/mount.h. (gl_CHECK_ALL_TYPES): Require AC_TYPE_UNSIGNED_LONG_LONG_INT. Don't check for struct stat.st_blksize. Don't require AC_STRUCT_ST_DM_MODE, gt_TYPE_SSIZE_T, gl_AC_TYPE_UINT32_T, gl_AC_TYPE_UINTMAX_T, gl_AC_TYPE_UINTPTR_T, gl_AC_TYPE_UNSIGNED_LONG_LONG. * m4/prereq.m4 (gl_PREREQ): Require gl_FUNC_XFTS, gl_ROOT_DEV_INO. Don't require macros that gnulib does for us. * m4/stat-prog.m4 (cu_PREREQ_STAT_PROG): Don't check for sys/sysmacros.h. Don't check for statvfs. Use AC_CHECK_HEADERS_ONCE for netinet/in.h, nfs/nfs_clnt.h, nfs/vfs.h. Don't require gl_AC_TYPE_LONG_LONG, gt_HEADER_INTTYPES_H.
Diffstat (limited to 'src')
-rw-r--r--src/c99-to-c89.diff23
-rw-r--r--src/kill.c4
-rw-r--r--src/ls.c34
-rw-r--r--src/printf.c7
-rw-r--r--src/su.c2
-rw-r--r--src/system.h119
-rw-r--r--src/wc.c32
7 files changed, 12 insertions, 209 deletions
diff --git a/src/c99-to-c89.diff b/src/c99-to-c89.diff
index 90b284818..22723b7b4 100644
--- a/src/c99-to-c89.diff
+++ b/src/c99-to-c89.diff
@@ -22,29 +22,6 @@ diff -u -p -r1.203 copy.c
}
}
-Index: src/ls.c
-===================================================================
-RCS file: /fetish/cu/src/ls.c,v
-retrieving revision 1.435
-diff -u -p -r1.435 ls.c
---- src/ls.c 9 Aug 2006 09:45:17 -0000 1.435
-+++ src/ls.c 17 Aug 2006 09:18:52 -0000
-@@ -3139,13 +3139,14 @@ sort_files (void)
- use_strcmp = true;
- assert (sort_type != sort_version);
- }
--
-+ {
- /* When sort_type == sort_time, use time_type as subindex. */
- int timeoffset = sort_type == sort_time ? time_type : 0;
-
- qsort (files, files_index, sizeof *files,
- sort_functions[sort_type + timeoffset][use_strcmp][sort_reverse]
- [directories_first]);
-+ }
- }
-
- /* List all the files now in the table. */
Index: src/remove.c
===================================================================
RCS file: /fetish/cu/src/remove.c,v
diff --git a/src/kill.c b/src/kill.c
index ab5ae3c96..c59025fa0 100644
--- a/src/kill.c
+++ b/src/kill.c
@@ -42,10 +42,6 @@
#define AUTHORS "Paul Eggert"
-#if ! (HAVE_DECL_STRTOIMAX || defined strtoimax)
-intmax_t strtoimax ();
-#endif
-
#if ! (HAVE_DECL_STRSIGNAL || defined strsignal)
# if ! (HAVE_DECL_SYS_SIGLIST || defined sys_siglist)
# if HAVE_DECL__SYS_SIGLIST || defined _sys_siglist
diff --git a/src/ls.c b/src/ls.c
index 29cc25369..88ddb98e8 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -73,34 +73,6 @@
# endif
#endif
-/* Get mbstate_t, mbrtowc(), mbsinit(), wcwidth(). */
-#if HAVE_WCHAR_H
-# include <wchar.h>
-#endif
-
-/* Get iswprint(). */
-#if HAVE_WCTYPE_H
-# include <wctype.h>
-#endif
-#if !defined iswprint && !HAVE_ISWPRINT
-# define iswprint(wc) 1
-#endif
-
-#ifndef HAVE_DECL_WCWIDTH
-"this configure-time declaration test was not run"
-#endif
-#if !HAVE_DECL_WCWIDTH
-int wcwidth ();
-#endif
-
-/* If wcwidth() doesn't exist, assume all printable characters have
- width 1. */
-#ifndef wcwidth
-# if !HAVE_WCWIDTH
-# define wcwidth(wc) ((wc) == 0 ? 0 : iswprint (wc) ? 1 : -1)
-# endif
-#endif
-
#include "system.h"
#include <fnmatch.h>
@@ -126,6 +98,7 @@ int wcwidth ();
#include "stat-time.h"
#include "strftime.h"
#include "strverscmp.h"
+#include "wcwidth.h"
#include "xstrtol.h"
#include "xreadlink.h"
@@ -3141,10 +3114,9 @@ sort_files (void)
}
/* When sort_type == sort_time, use time_type as subindex. */
- int timeoffset = sort_type == sort_time ? time_type : 0;
-
qsort (files, files_index, sizeof *files,
- sort_functions[sort_type + timeoffset][use_strcmp][sort_reverse]
+ sort_functions[sort_type + (sort_type == sort_time ? time_type : 0)]
+ [use_strcmp][sort_reverse]
[directories_first]);
}
diff --git a/src/printf.c b/src/printf.c
index 2f29bc080..ddced5af4 100644
--- a/src/printf.c
+++ b/src/printf.c
@@ -58,13 +58,6 @@
#include "quote.h"
#include "unicodeio.h"
-#if ! (HAVE_DECL_STRTOIMAX || defined strtoimax)
-intmax_t strtoimax ();
-#endif
-#if ! (HAVE_DECL_STRTOUMAX || defined strtoumax)
-uintmax_t strtoumax ();
-#endif
-
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "printf"
diff --git a/src/su.c b/src/su.c
index 3d00cf7b7..ddd267755 100644
--- a/src/su.c
+++ b/src/su.c
@@ -61,6 +61,7 @@
#include "system.h"
#include "dirname.h"
+#include "getpass.h"
#undef getusershell
@@ -120,7 +121,6 @@
#define DEFAULT_USER "root"
char *crypt ();
-char *getpass ();
char *getusershell ();
void endusershell ();
void setusershell ();
diff --git a/src/system.h b/src/system.h
index b9c8ee2f9..ff1161943 100644
--- a/src/system.h
+++ b/src/system.h
@@ -96,7 +96,10 @@ you must include <sys/types.h> before including this file
memcpy otherwise. */
#include <string.h>
+#include "mempcpy.h"
#include "memrchr.h"
+#include "stpcpy.h"
+#include "strpbrk.h"
#include <errno.h>
@@ -319,35 +322,9 @@ enum
#include "timespec.h"
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
+#include <inttypes.h>
#include <stdint.h>
-#if ULONG_MAX_LT_ULLONG_MAX
-# define LONGEST_MODIFIER "ll"
-#else
-# define LONGEST_MODIFIER "l"
-#endif
-#if PRI_MACROS_BROKEN
-# undef PRIdMAX
-# undef PRIoMAX
-# undef PRIuMAX
-# undef PRIxMAX
-#endif
-#ifndef PRIdMAX
-# define PRIdMAX LONGEST_MODIFIER "d"
-#endif
-#ifndef PRIoMAX
-# define PRIoMAX LONGEST_MODIFIER "o"
-#endif
-#ifndef PRIuMAX
-# define PRIuMAX LONGEST_MODIFIER "u"
-#endif
-#ifndef PRIxMAX
-# define PRIxMAX LONGEST_MODIFIER "x"
-#endif
-
#include <ctype.h>
#if ! (defined isblank || HAVE_DECL_ISBLANK)
@@ -412,20 +389,6 @@ char *memchr ();
char *realloc ();
#endif
-#if !HAVE_DECL_STPCPY
-# ifndef stpcpy
-char *stpcpy ();
-# endif
-#endif
-
-#if !HAVE_DECL_STRNDUP
-char *strndup ();
-#endif
-
-#if !HAVE_DECL_STRSTR
-char *strstr ();
-#endif
-
#if !HAVE_DECL_GETENV
char *getenv ();
#endif
@@ -434,11 +397,6 @@ char *getenv ();
off_t lseek ();
#endif
-/* This is needed on some AIX systems. */
-#if !HAVE_DECL_STRTOUL
-unsigned long strtoul ();
-#endif
-
#if !HAVE_DECL_GETLOGIN
char *getlogin ();
#endif
@@ -480,11 +438,6 @@ uid_t getuid ();
#define X2REALLOC(P, PN) ((void) verify_true (sizeof *(P) == 1), \
x2realloc (P, PN))
-#if ! defined HAVE_MEMPCPY && ! defined mempcpy
-/* Be CAREFUL that there are no side effects in N. */
-# define mempcpy(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N)))
-#endif
-
/* Include automatically-generated macros for unlocked I/O. */
#include "unlocked-io.h"
#include "same-inode.h"
@@ -567,74 +520,10 @@ enum
#include "intprops.h"
-#ifndef CHAR_MIN
-# define CHAR_MIN TYPE_MINIMUM (char)
-#endif
-
-#ifndef CHAR_MAX
-# define CHAR_MAX TYPE_MAXIMUM (char)
-#endif
-
-#ifndef SCHAR_MIN
-# define SCHAR_MIN (-1 - SCHAR_MAX)
-#endif
-
-#ifndef SCHAR_MAX
-# define SCHAR_MAX (CHAR_MAX == UCHAR_MAX ? CHAR_MAX / 2 : CHAR_MAX)
-#endif
-
-#ifndef UCHAR_MAX
-# define UCHAR_MAX TYPE_MAXIMUM (unsigned char)
-#endif
-
-#ifndef SHRT_MIN
-# define SHRT_MIN TYPE_MINIMUM (short int)
-#endif
-
-#ifndef SHRT_MAX
-# define SHRT_MAX TYPE_MAXIMUM (short int)
-#endif
-
-#ifndef INT_MAX
-# define INT_MAX TYPE_MAXIMUM (int)
-#endif
-
-#ifndef INT_MIN
-# define INT_MIN TYPE_MINIMUM (int)
-#endif
-
-#ifndef INTMAX_MAX
-# define INTMAX_MAX TYPE_MAXIMUM (intmax_t)
-#endif
-
-#ifndef INTMAX_MIN
-# define INTMAX_MIN TYPE_MINIMUM (intmax_t)
-#endif
-
-#ifndef UINT_MAX
-# define UINT_MAX TYPE_MAXIMUM (unsigned int)
-#endif
-
-#ifndef LONG_MAX
-# define LONG_MAX TYPE_MAXIMUM (long int)
-#endif
-
-#ifndef ULONG_MAX
-# define ULONG_MAX TYPE_MAXIMUM (unsigned long int)
-#endif
-
-#ifndef SIZE_MAX
-# define SIZE_MAX TYPE_MAXIMUM (size_t)
-#endif
-
#ifndef SSIZE_MAX
# define SSIZE_MAX TYPE_MAXIMUM (ssize_t)
#endif
-#ifndef UINTMAX_MAX
-# define UINTMAX_MAX TYPE_MAXIMUM (uintmax_t)
-#endif
-
#ifndef OFF_T_MIN
# define OFF_T_MIN TYPE_MINIMUM (off_t)
#endif
diff --git a/src/wc.c b/src/wc.c
index f533b7ca6..e21fb7f05 100644
--- a/src/wc.c
+++ b/src/wc.c
@@ -24,41 +24,17 @@
#include <getopt.h>
#include <sys/types.h>
-/* Get mbstate_t, mbrtowc(), wcwidth(). */
-#if HAVE_WCHAR_H
-# include <wchar.h>
-#endif
-
-/* Get iswprint(), iswspace(). */
-#if HAVE_WCTYPE_H
-# include <wctype.h>
-#endif
-#if !defined iswprint && !HAVE_ISWPRINT
-# define iswprint(wc) 1
-#endif
-#if !defined iswspace && !HAVE_ISWSPACE
-# define iswspace(wc) \
- ((wc) == to_uchar (wc) && isspace (to_uchar (wc)))
-#endif
-
#include "system.h"
#include "error.h"
#include "inttostr.h"
#include "quote.h"
#include "readtokens0.h"
#include "safe-read.h"
+#include "wcwidth.h"
-#ifndef HAVE_DECL_WCWIDTH
-"this configure-time declaration test was not run"
-#endif
-#if !HAVE_DECL_WCWIDTH
-extern int wcwidth ();
-#endif
-
-/* If wcwidth() doesn't exist, assume all printable characters have
- width 1. */
-#if !defined wcwidth && !HAVE_WCWIDTH
-# define wcwidth(wc) ((wc) == 0 ? 0 : iswprint (wc) ? 1 : -1)
+#if !defined iswspace && !HAVE_ISWSPACE
+# define iswspace(wc) \
+ ((wc) == to_uchar (wc) && isspace (to_uchar (wc)))
#endif
/* The official name of this program (e.g., no `g' prefix). */