summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog25
-rw-r--r--config.h-vms.template12
-rw-r--r--config.h.W32.template578
-rw-r--r--configure.in5
-rw-r--r--expand.c2
-rw-r--r--main.c2
-rw-r--r--maintMakefile13
-rw-r--r--signame.c5
-rw-r--r--tests/ChangeLog13
-rw-r--r--tests/scripts/features/export8
-rw-r--r--tests/scripts/functions/eval4
-rw-r--r--tests/scripts/functions/origin2
-rw-r--r--tests/scripts/options/dash-e2
-rw-r--r--tests/scripts/variables/SHELL13
-rw-r--r--tests/test_driver.pl49
15 files changed, 432 insertions, 301 deletions
diff --git a/ChangeLog b/ChangeLog
index b3e0a07..2a22cbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2005-07-08 Paul D. Smith <psmith@gnu.org>
+
+ * config.h.W32.template: Reorder to match the standard config.h,
+ for easier comparisons.
+ From J. Grant <jg@jguk.org>
+
+ * maintMakefile: Remove .dep_segment before overwriting it, in
+ case it's not writable or noclobber is set.
+ * expand.c (variable_expand_string): Cast result of pointer
+ arithmetic to avoid a warning.
+ * main.c (switches): Add full-fledged final initializer.
+
+2005-07-06 Paul D. Smith <psmith@gnu.org>
+
+ * configure.in: IRIX has _sys_siglist. Tru64 UNIX has __sys_siglist.
+ * signame.c (strsignal): If we found _sys_siglist[] or
+ __sys_siglist[] use those instead of sys_siglist[].
+ From Albert Chin <china@thewrittenword.com>
+
+2005-07-04 Paul D. Smith <psmith@gnu.org>
+
+ * config.h-vms.template [VMS]: Latest VMS has its own glob() and
+ globfree(); set up to use the GNU versions.
+ From Martin Zinser <zinser@zinser.no-ip.info>
+
2005-07-03 Paul D. Smith <psmith@gnu.org>
From J. Grant <jg@jguk.org>:
diff --git a/config.h-vms.template b/config.h-vms.template
index 118627d..c252b9c 100644
--- a/config.h-vms.template
+++ b/config.h-vms.template
@@ -383,11 +383,13 @@
#ifdef __DECC
#include <stdio.h>
#include <unistd.h>
-#define getopt gnu_getopt
-#define optarg gnu_optarg
-#define optopt gnu_optopt
-#define optind gnu_optind
-#define opterr gnu_opterr
+#define getopt gnu_getopt
+#define optarg gnu_optarg
+#define optopt gnu_optopt
+#define optind gnu_optind
+#define opterr gnu_opterr
+#define globfree gnu_globfree
+#define glob gnu_glob
#endif
#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
diff --git a/config.h.W32.template b/config.h.W32.template
index edb2f29..956fc17 100644
--- a/config.h.W32.template
+++ b/config.h.W32.template
@@ -1,394 +1,455 @@
-/* config.h.in. Generated automatically from configure.in by autoheader. */
+/* config.h.W32 -*-C-*- */
-/* Define if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-/* #undef _ALL_SOURCE */
-#endif
-
-/* Define if using alloca.c. */
-/* #undef C_ALLOCA */
-
-/* Define if the closedir function returns void instead of int. */
+/* Define to 1 if the `closedir' function returns void instead of `int'. */
/* #undef CLOSEDIR_VOID */
-/* Define to empty if the keyword does not work. */
-/* #undef const */
-
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
- This function is required for alloca.c support on those systems. */
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for `alloca.c' support on those systems.
+ */
/* #undef CRAY_STACKSEG_END */
-/* Define for DGUX with <sys/dg_sys_info.h>. */
+/* Define to 1 if using `alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* Define to 1 if using `getloadavg.c'. */
+/*#define C_GETLOADAVG 1*/
+
+/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
/* #undef DGUX */
-/* Define if the `getloadavg' function needs to be run setuid or setgid. */
-/* #undef GETLOADAVG_PRIVILEGED */
+/* Define to 1 if translation of program messages to the user's native
+ language is requested. */
+/* #undef ENABLE_NLS */
-/* Define to `unsigned long' or `unsigned long long'
- if <inttypes.h> doesn't define. */
-#define uintmax_t unsigned long
+/* Use high resolution file timestamps if nonzero. */
+#define FILE_TIMESTAMP_HI_RES 0
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef gid_t
-#define gid_t int
+/* Define to 1 if the `getloadavg' function needs to be run setuid or setgid.
+ */
+/* #undef GETLOADAVG_PRIVILEGED */
-/* Define if you have alloca, as a function or macro. */
-#undef HAVE_ALLOCA
+/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
-/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
/* #undef HAVE_ALLOCA_H */
-/* Define if you don't have vprintf but do have _doprnt. */
+/* Define if your compiler conforms to the ANSI C standard. */
+#define HAVE_ANSI_COMPILER 1
+
+/* Define to 1 if you have the `bsd_signal' function. */
+/* #undef HAVE_BSD_SIGNAL */
+
+/* Use case insensitive file names */
+/* #undef HAVE_CASE_INSENSITIVE_FS */
+
+/* Define if you have the clock_gettime function. */
+/* #undef HAVE_CLOCK_GETTIME */
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+/* #undef HAVE_DCGETTEXT */
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#define HAVE_DIRENT_H 1
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
-/* Define if your system has a working fnmatch function. */
-/* #undef HAVE_FNMATCH */
+/* Use platform specific coding */
+#define HAVE_DOS_PATHS 1
-/* Define if your system has its own `getloadavg' function. */
+/* Define to 1 if you have the `dup2' function. */
+#define HAVE_DUP2 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `fdopen' function. */
+/*#define HAVE_FDOPEN 1*/
+
+/* Define to 1 if you have the `fork' function. */
+/* #undef HAVE_FORK */
+
+/* Define to 1 if you have the `getcwd' function. */
+#define HAVE_GETCWD 1
+
+/* Define to 1 if you have the `getgroups' function. */
+/* #undef HAVE_GETGROUPS */
+
+/* Define to 1 if you have the `gethostbyname' function. */
+/* #undef HAVE_GETHOSTBYNAME */
+
+/* Define to 1 if you have the `gethostname' function. */
+/* #undef HAVE_GETHOSTNAME */
+
+/* Define to 1 if you have the `getloadavg' function. */
/* #undef HAVE_GETLOADAVG */
-/* Define if you have the getmntent function. */
-/* #undef HAVE_GETMNTENT */
+/* Define to 1 if you have the `getrlimit' function. */
+/* #undef HAVE_GETRLIMIT */
-/* Define if the `long double' type works. */
-/* #undef HAVE_LONG_DOUBLE */
+/* Define if the GNU gettext() function is already present or preinstalled. */
+/* #undef HAVE_GETTEXT */
-/* Define if you support file names longer than 14 characters. */
-#undef HAVE_LONG_FILE_NAMES
-#define HAVE_LONG_FILE_NAMES 1
+/* Define if you have a standard gettimeofday function */
+/* #undef HAVE_GETTIMEOFDAY */
-/* Define if you have a working `mmap' system call. */
-/* #undef HAVE_MMAP */
+/* Define if you have the iconv() function. */
+/* #undef HAVE_ICONV */
-/* Define if system calls automatically restart after interruption
- by a signal. */
-/* #undef HAVE_RESTARTABLE_SYSCALLS */
+/* Define to 1 if you have the <inttypes.h> header file. */
+/*#define HAVE_INTTYPES_H 1*/
-/* Define if your struct stat has st_blksize. */
-/* #undef HAVE_ST_BLKSIZE */
+/* Define to 1 if you have the `dgc' library (-ldgc). */
+/* #undef HAVE_LIBDGC */
-/* Define if your struct stat has st_blocks. */
-/* #undef HAVE_ST_BLOCKS */
+/* Define to 1 if you have the `kstat' library (-lkstat). */
+/* #undef HAVE_LIBKSTAT */
-/* Define if you have the strcoll function and it is properly defined. */
-#undef HAVE_STRCOLL
-#define HAVE_STRCOLL 1
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
-/* Define if your struct stat has st_rdev. */
-#undef HAVE_ST_RDEV
-#define HAVE_ST_RDEV 1
+/* Define to 1 if you have the <locale.h> header file. */
+/*#define HAVE_LOCALE_H 1*/
-/* Define if you have the strftime function. */
-#undef HAVE_STRFTIME
-#define HAVE_STRFTIME 1
+/* Define to 1 if you have the <mach/mach.h> header file. */
+/* #undef HAVE_MACH_MACH_H */
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-/* #undef HAVE_SYS_WAIT_H */
+/* Define to 1 if you have the `memmove' function. */
+#define HAVE_MEMMOVE 1
-/* Define if your struct tm has tm_zone. */
-/* #undef HAVE_TM_ZONE */
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
-/* Define if you don't have tm_zone but do have the external array
- tzname. */
-#undef HAVE_TZNAME
-#define HAVE_TZNAME 1
+/* Define to 1 if you have the `mkstemp' function. */
+/* #undef HAVE_MKSTEMP */
-/* Define if you have <unistd.h>. */
-/* #undef HAVE_UNISTD_H */
+/* Define to 1 if you have the `mktemp' function. */
+#define HAVE_MKTEMP 1
-/* Define if utime(file, NULL) sets file's timestamp to the present. */
-#undef HAVE_UTIME_NULL
-#define HAVE_UTIME_NULL 1
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
-/* Define if you have <vfork.h>. */
-/* #undef HAVE_VFORK_H */
+/* Define to 1 if you have the <nlist.h> header file. */
+/* #undef HAVE_NLIST_H */
-/* Define if you have the vprintf function. */
-#undef HAVE_VPRINTF
-#define HAVE_VPRINTF 1
+/* Define to 1 if you have the `pipe' function. */
+/* #undef HAVE_PIPE */
-/* Define if you have the wait3 system call. */
-/* #undef HAVE_WAIT3 */
+/* Define to 1 if you have the `pstat_getdynamic' function. */
+/* #undef HAVE_PSTAT_GETDYNAMIC */
-/* Define if on MINIX. */
-/* #undef _MINIX */
+/* Define to 1 if you have the `realpath' function. */
+/* #undef HAVE_REALPATH */
-/* Define if your struct nlist has an n_un member. */
-/* #undef NLIST_NAME_UNION */
+/* Define if <signal.h> defines the SA_RESTART constant. */
+/* #undef HAVE_SA_RESTART */
-/* Define if you have <nlist.h>. */
-/* #undef NLIST_STRUCT */
+/* Define to 1 if you have the `setegid' function. */
+/* #undef HAVE_SETEGID */
-/* Define if your C compiler doesn't accept -c and -o together. */
-/* #undef NO_MINUS_C_MINUS_O */
+/* Define to 1 if you have the `seteuid' function. */
+/* #undef HAVE_SETEUID */
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef pid_t
-#define pid_t int
+/* Define to 1 if you have the `setlinebuf' function. */
+/* #undef HAVE_SETLINEBUF */
-/* Define if the system does not provide POSIX.1 features except
- with this defined. */
-/* #undef _POSIX_1_SOURCE */
+/* Define to 1 if you have the `setlocale' function. */
+/*#define HAVE_SETLOCALE 1*/
-/* Define if you need to in order for stat and other things to work. */
-#undef _POSIX_SOURCE
-#define _POSIX_SOURCE 1
+/* Define to 1 if you have the `setregid' function. */
+/* #undef HAVE_SETREGID */
-/* Define as the return type of signal handlers (int or void). */
-#undef RETSIGTYPE
-#define RETSIGTYPE void
+/* Define to 1 if you have the `setreuid' function. */
+/* #undef HAVE_SETREUID */
-/* Define if the setvbuf function takes the buffering type as its second
- argument and the buffer pointer as the third, as on System V
- before release 3. */
-/* #undef SETVBUF_REVERSED */
+/* Define to 1 if you have the `setrlimit' function. */
+/* #undef HAVE_SETRLIMIT */
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
- */
-/* #undef STACK_DIRECTION */
+/* Define to 1 if you have the `setvbuf' function. */
+/*#define HAVE_SETVBUF 1 */
-/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-/* #undef STAT_MACROS_BROKEN */
+/* Define to 1 if you have the `sigaction' function. */
+/* #undef HAVE_SIGACTION */
-/* Define if your compiler conforms to the ANSI C standard. */
-#define HAVE_ANSI_COMPILER 1
+/* Define to 1 if you have the `sigsetmask' function. */
+/* #undef HAVE_SIGSETMASK */
+
+/* Define to 1 if you have the `socket' function. */
+/* #undef HAVE_SOCKET */
/* Define to 1 if you have the <stdarg.h> header file. */
#define HAVE_STDARG_H 1
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-#define STDC_HEADERS 1
+/* Define to 1 if you have the <stdint.h> header file. */
+/*#define HAVE_STDINT_H 1*/
-/* Define on System V Release 4. */
-/* #undef SVR4 */
+/* Define to 1 if you have the <stdlib.h> header file. */
+/* #define HAVE_STDLIB_H 1*/
-/* Define if `sys_siglist' is declared by <signal.h>. */
-/* #undef SYS_SIGLIST_DECLARED */
+/* Define to 1 if you have the `strcasecmp' function. */
+/* #undef HAVE_STRCASECMP */
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef uid_t
-#define uid_t int
+/* Define to 1 if you have the `strchr' function. */
+/* #define HAVE_STRCHR 1 */
-/* Define for Encore UMAX. */
-/* #undef UMAX */
+/* Define to 1 if you have the `strcoll' function and it is properly defined.
+ */
+#define HAVE_STRCOLL 1
-/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
- instead of <sys/cpustats.h>. */
-/* #undef UMAX4_3 */
+/* Define to 1 if you have the `strdup' function. */
+/* #define HAVE_STRDUP 1*/
-/* Define vfork as fork if vfork does not work. */
-/* #undef vfork */
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
-/* Name of this package (needed by automake) */
-#define PACKAGE "%PACKAGE%"
+/* Define to 1 if you have the <strings.h> header file. */
+/* #define HAVE_STRINGS_H 1 */
-/* Version of this package (needed by automake) */
-#define VERSION "%VERSION%"
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
-/* Define to the name of the SCCS `get' command. */
-#undef SCCS_GET
-#define SCCS_GET "echo no sccs get"
+/* Define to 1 if you have the `strsignal' function. */
+/* #undef HAVE_STRSIGNAL */
-/* Define to 1 if NLS is requested. */
-/* #undef ENABLE_NLS */
+/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */
+/* #undef HAVE_STRUCT_NLIST_N_UN_N_NAME */
-/* Define as 1 if you have dcgettext. */
-/* #undef HAVE_DCGETTEXT */
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
+/* #undef HAVE_SYS_DIR_H */
-/* Define as 1 if you have gettext and don't want to use GNU gettext. */
-/* #undef HAVE_GETTEXT */
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+ */
+/* #undef HAVE_SYS_NDIR_H */
-/* Define if your locale.h file contains LC_MESSAGES. */
-/* #undef HAVE_LC_MESSAGES */
+/* Define to 1 if you have the <sys/param.h> header file. */
+/* #define HAVE_SYS_PARAM_H 1 */
-/* Define to the installation directory for locales. */
-#define LOCALEDIR ""
+/* Define to 1 if you have the <sys/resource.h> header file. */
+/* #undef HAVE_SYS_RESOURCE_H */
-/* Define this if the SCCS `get' command understands the `-G<file>' option. */
-/* #undef SCCS_GET_MINUS_G */
+/* Define to 1 if you have the <sys/stat.h> header file. */
+/* #define HAVE_SYS_STAT_H 1 */
-/* Define this to enable job server support in GNU make. */
-/* #undef MAKE_JOBSERVER */
+/* Define to 1 if you have the <sys/timeb.h> header file. */
+/*#define HAVE_SYS_TIMEB_H 1*/
-/* Define to be the nanoseconds member of struct stat's st_mtim,
- if it exists. */
-/* #undef ST_MTIM_NSEC */
+/* Define to 1 if you have the <sys/time.h> header file. */
+/*#define HAVE_SYS_TIME_H 1*/
-/* Define this if the C library defines the variable `sys_siglist'. */
-/* #undef HAVE_SYS_SIGLIST */
+/* Define to 1 if you have the <sys/types.h> header file. */
+/*#define HAVE_SYS_TYPES_H 1*/
-/* Define this if the C library defines the variable `_sys_siglist'. */
-/* #undef HAVE__SYS_SIGLIST */
+/* Define to 1 if you have the <sys/wait.h> header file. */
+/* #undef HAVE_SYS_WAIT_H */
-/* Define this if you have the `union wait' type in <sys/wait.h>. */
+/* Define this if you have the \`union wait' type in <sys/wait.h>. */
/* #undef HAVE_UNION_WAIT */
-/* Define if you have the dup2 function. */
-#undef HAVE_DUP2
-#define HAVE_DUP2 1
+/* Define to 1 if you have the <unistd.h> header file. */
+/* #define HAVE_UNISTD_H 1*/
-/* Define if you have the getcwd function. */
-#undef HAVE_GETCWD
-#define HAVE_GETCWD 1
+/* Define to 1 if you have the <varargs.h> header file. */
+/* #undef HAVE_VARARGS_H */
-/* Define if you have the getgroups function. */
-/* #undef HAVE_GETGROUPS */
+/* Define to 1 if you have the `vfork' function. */
+/* #undef HAVE_VFORK */
-/* Define if you have the gethostbyname function. */
-/* #undef HAVE_GETHOSTBYNAME */
+/* Define to 1 if you have the <vfork.h> header file. */
+/* #undef HAVE_VFORK_H */
-/* Define if you have the gethostname function. */
-/* #undef HAVE_GETHOSTNAME */
+/* Define to 1 if you have the `vprintf' function. */
+#define HAVE_VPRINTF 1
-/* Define if you have the getloadavg function. */
-/* #undef HAVE_GETLOADAVG */
-/* Define if you have the memmove function. */
-#undef HAVE_MEMMOVE
-#define HAVE_MEMMOVE 1
+/* Define to 1 if you have the `wait3' function. */
+/* #undef HAVE_WAIT3 */
-/* Define if you have the mktemp function. */
-#undef HAVE_MKTEMP
-#define HAVE_MKTEMP 1
+/* Define to 1 if you have the `waitpid' function. */
+/* #undef HAVE_WAITPID */
-/* Define if you have the psignal function. */
-/* #undef HAVE_PSIGNAL */
+/* Define to 1 if `fork' works. */
+/* #undef HAVE_WORKING_FORK */
-/* Define if you have the pstat_getdynamic function. */
-/* #undef HAVE_PSTAT_GETDYNAMIC */
+/* Define to 1 if `vfork' works. */
+/* #undef HAVE_WORKING_VFORK */
-/* Define if you have the setegid function. */
-/* #undef HAVE_SETEGID */
+/* Build host information. */
+#define MAKE_HOST "Windows32"
-/* Define if you have the seteuid function. */
-/* #undef HAVE_SETEUID */
+/* Define this to enable job server support in GNU make. */
+/* #undef MAKE_JOBSERVER */
-/* Define if you have the setlinebuf function. */
-/* #undef HAVE_SETLINEBUF */
+/* Define to 1 if your `struct nlist' has an `n_un' member. Obsolete, depend
+ on `HAVE_STRUCT_NLIST_N_UN_N_NAME */
+/* #undef NLIST_NAME_UNION */
-/* Define if you have the setregid function. */
-/* #undef HAVE_SETREGID */
+/* Define if struct nlist.n_name is a pointer rather than an array. */
+/* #undef NLIST_STRUCT */
-/* Define if you have the setreuid function. */
-/* #undef HAVE_SETREUID */
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+/* #undef NO_MINUS_C_MINUS_O */
-/* Define if you have the sigsetmask function. */
-/* #undef HAVE_SIGSETMASK */
+/* Name of this package (needed by automake) */
+#define PACKAGE "%PACKAGE%"
-/* Define if you have the socket function. */
-/* #undef HAVE_SOCKET */
+/* Define to 1 if the C compiler supports function prototypes. */
+/*#define PROTOTYPES 1*/
-/* Define if you have the strcasecmp function. */
-/* #undef HAVE_STRCASECMP */
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
-/* Define if you have the strerror function. */
-#undef HAVE_STRERROR
-#define HAVE_STRERROR 1
+/* Define to the name of the SCCS 'get' command. */
+#define SCCS_GET "echo no sccs get"
-/* Define if you have the strsignal function. */
-/* #undef HAVE_STRSIGNAL */
+/* Define this if the SCCS 'get' command understands the '-G<file>' option. */
+/* #undef SCCS_GET_MINUS_G */
-/* Define if you have the wait3 function. */
-/* #undef HAVE_WAIT3 */
+/* Define to 1 if the `setvbuf' function takes the buffering type as its
+ second argument and the buffer pointer as the third, as on System V before
+ release 3. */
+/* #undef SETVBUF_REVERSED */
-/* Define if you have the waitpid function. */
-/* #undef HAVE_WAITPID */
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at run-time.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
-/* Define if you have the <dirent.h> header file. */
-#undef HAVE_DIRENT_H
-#define HAVE_DIRENT_H 1
+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+/* #undef STAT_MACROS_BROKEN */
-/* Define if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-#define HAVE_FCNTL_H 1
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
-/* Define if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-#define HAVE_LIMITS_H 1
+/* Define if struct stat contains a nanoseconds field */
+/* #undef ST_MTIM_NSEC */
-/* Define if you have the <mach/mach.h> header file. */
-/* #undef HAVE_MACH_MACH_H */
+/* Define to 1 on System V Release 4. */
+/* #undef SVR4 */
-/* Define if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-#define HAVE_MEMORY_H 1
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+/* #define TIME_WITH_SYS_TIME 1 */
-/* Define if you have the <ndir.h> header file. */
-/* #undef HAVE_NDIR_H */
+/* Define to 1 for Encore UMAX. */
+/* #undef UMAX */
-/* Define if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-#define HAVE_STRING_H 1
+/* Define to 1 for Encore UMAX 4.3 that has <inq_status/cpustats.h> instead of
+ <sys/cpustats.h>. */
+/* #undef UMAX4_3 */
-/* Define if you have the <sys/dir.h> header file. */
-/* #undef HAVE_SYS_DIR_H */
+/* Version number of package */
+#define VERSION "%VERSION%"
-/* Define if you have the <sys/ndir.h> header file. */
-/* #undef HAVE_SYS_NDIR_H */
+/* Define if using the dmalloc debugging malloc package */
+/* #undef WITH_DMALLOC */
-/* Define if you have the <sys/param.h> header file. */
-/* #undef HAVE_SYS_PARAM_H */
+/* Define to 1 if on AIX 3.
+ System headers sometimes define this.
+ We just want to avoid a redefinition error message. */
+#ifndef _ALL_SOURCE
+/* # undef _ALL_SOURCE */
+#endif
-/* Define if you have the <sys/timeb.h> header file. */
-#undef HAVE_SYS_TIMEB_H
-#define HAVE_SYS_TIMEB_H 1
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
-/* Define if you have the <sys/wait.h> header file. */
-/* #undef HAVE_SYS_WAIT_H */
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
-/* Define if you have the <unistd.h> header file. */
-/* #undef HAVE_UNISTD_H */
+/* Define to 1 if on MINIX. */
+/* #undef _MINIX */
-/* Define if you have the dgc library (-ldgc). */
-/* #undef HAVE_LIBDGC */
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+/* #undef _POSIX_1_SOURCE */
-/* Define if you have the kstat library (-lkstat). */
-/* #undef HAVE_LIBKSTAT */
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#define _POSIX_SOURCE 1
-/* Define if you have the sun library (-lsun). */
-/* #undef HAVE_LIBSUN */
+/* Define like PROTOTYPES; this can be used by system headers. */
+/*#define __PROTOTYPES 1*/
-/* Use high resolution file timestamps if nonzero. */
-#define FILE_TIMESTAMP_HI_RES 0
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
-/* Build host information. */
-#define MAKE_HOST "Windows32"
+/* Define to `int' if <sys/types.h> doesn't define. */
+#define gid_t int
+
+/* Define to `int' if <sys/types.h> does not define. */
+#define pid_t int
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+#define uid_t int
-/* Grok DOS paths (drive specs and backslash path element separators) */
-#define HAVE_DOS_PATHS
+/* Define uintmax_t if not defined in <stdint.h> or <inttypes.h>. */
+#define uintmax_t unsigned long
+
+/* Define as `fork' if `vfork' does not work. */
+/*#define vfork fork*/
+
+/* Define to `unsigned long' or `unsigned long long'
+ if <inttypes.h> doesn't define. */
+#define uintmax_t unsigned long
+
+/* Define if you support file names longer than 14 characters. */
+#define HAVE_LONG_FILE_NAMES 1
+
+/* Define if your struct stat has st_rdev. */
+#undef HAVE_ST_RDEV
+#define HAVE_ST_RDEV 1
+
+/* Define if you have the strftime function. */
+#undef HAVE_STRFTIME
+#define HAVE_STRFTIME 1
+
+/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
+/* #undef HAVE_SYS_WAIT_H */
+
+/* Define if your struct tm has tm_zone. */
+/* #undef HAVE_TM_ZONE */
+
+/* Define if you don't have tm_zone but do have the external array
+ tzname. */
+#undef HAVE_TZNAME
+#define HAVE_TZNAME 1
+
+/* Define if utime(file, NULL) sets file's timestamp to the present. */
+#undef HAVE_UTIME_NULL
+#define HAVE_UTIME_NULL 1
+
+/* Define to the installation directory for locales. */
+#define LOCALEDIR ""
/*
* Refer to README.W32 for info on the following settings
*/
+
/*
* If you have a shell that does not grok 'sh -c quoted-command-line'
* correctly, you need this setting. Please see below for specific
* shell support.
*/
-#undef BATCH_MODE_ONLY_SHELL
-#define BATCH_MODE_ONLY_SHELL 1
+/*#define BATCH_MODE_ONLY_SHELL 1 */
/*
* Define if you have the Cygnus "Cygwin" GNU Windows32 tool set.
* Do NOT define BATCH_MODE_ONLY_SHELL if you define HAVE_CYGWIN_SHELL
*/
-#undef HAVE_CYGWIN_SHELL
+/*#define HAVE_CYGWIN_SHELL*/
/*
* Define if you have the MKS tool set or shell. Do NOT define
* BATCH_MODE_ONLY_SHELL if you define HAVE_MKS_SHELL
*/
-#undef HAVE_MKS_SHELL
+/*#define HAVE_MKS_SHELL */
/*
* Enforce the mutual exclusivity restriction.
@@ -400,6 +461,3 @@
#ifdef HAVE_CYGWIN_SHELL
#undef BATCH_MODE_ONLY_SHELL
#endif
-
-/* Define if you prefer Case Insensitive behavior */
-#undef HAVE_CASE_INSENSITIVE_FS
diff --git a/configure.in b/configure.in
index 2c981c9..2fd545f 100644
--- a/configure.in
+++ b/configure.in
@@ -167,8 +167,9 @@ if test "$ac_cv_header_nlist_h" = yes; then
fi
fi
-AC_CHECK_DECLS([sys_siglist],,,
-[#include <signal.h>
+AC_CHECK_DECLS([sys_siglist, _sys_siglist, __sys_siglist], , ,
+ [AC_INCLUDES_DEFAULT
+#include <signal.h>
/* NetBSD declares sys_siglist in unistd.h. */
#if HAVE_UNISTD_H
# include <unistd.h>
diff --git a/expand.c b/expand.c
index 372a0f5..c91416b 100644
--- a/expand.c
+++ b/expand.c
@@ -205,7 +205,7 @@ variable_expand_string (char *line, char *string, long length)
p1 = strchr (p, '$');
- o = variable_buffer_output (o, p, p1 != 0 ? p1 - p : strlen (p) + 1);
+ o = variable_buffer_output (o, p, p1 != 0 ? (unsigned int)(p1 - p) : strlen (p) + 1);
if (p1 == 0)
break;
diff --git a/main.c b/main.c
index 776d0ed..71e34a1 100644
--- a/main.c
+++ b/main.c
@@ -417,7 +417,7 @@ static const struct command_switch switches[] =
{ 'W', string, (char *) &new_files, 0, 0, 0, 0, 0, "what-if" },
{ CHAR_MAX+4, flag, (char *) &warn_undefined_variables_flag, 1, 1, 0, 0, 0,
"warn-undefined-variables" },
- { 0 }
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
/* Secondary long names for options. */
diff --git a/maintMakefile b/maintMakefile
index 73af051..b679eb4 100644
--- a/maintMakefile
+++ b/maintMakefile
@@ -64,15 +64,16 @@ build.sh.in: build.template Makefile
#
DEP_FILES := $(wildcard $(DEPDIR)/*.Po)
.dep_segment: Makefile.am maintMakefile $(DEP_FILES)
+ rm -f $@
(for f in $(DEPDIR)/*.Po; do \
echo ""; \
echo "# $$f"; \
- cat $$f \
- | sed -e '/^[^:]*\.[ch] *:/d' \
- -e 's, /usr/[^ ]*,,g' \
- -e 's, $(srcdir)/, ,g' \
- -e '/^ *\\$$/d' \
- -e '/^ *$$/d'; \
+ sed -e '/^[^:]*\.[ch] *:/d' \
+ -e 's, /usr/[^ ]*,,g' \
+ -e 's, $(srcdir)/, ,g' \
+ -e '/^ *\\$$/d' \
+ -e '/^ *$$/d' \
+ < $$f; \
done) > $@
# Get rid of everything "else".
diff --git a/signame.c b/signame.c
index ef00a6a..c5583d2 100644
--- a/signame.c
+++ b/signame.c
@@ -235,6 +235,11 @@ strsignal (int signal)
static char buf[] = "Signal 12345678901234567890";
#if ! HAVE_DECL_SYS_SIGLIST
+# if HAVE_DECL__SYS_SIGLIST
+# define sys_siglist _sys_siglist
+# elif HAVE_DECL___SYS_SIGLIST
+# define sys_siglist __sys_siglist
+# endif
static char sig_initted = 0;
if (!sig_initted)
diff --git a/tests/ChangeLog b/tests/ChangeLog
index a7ceaaa..ee3bab5 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,16 @@
+2005-07-08 Paul D. Smith <psmith@gnu.org>
+
+ * test_driver.pl: Reset the environment to a clean value every
+ time before we invoke make. I'm suspicious that the environment
+ isn't handled the same way in Windows as it is in UNIX, and some
+ variables are leaking out beyond the tests they are intended for.
+ Create an %extraENV hash tests can set to add more env. vars.
+ * tests/scripts/features/export: Change to use %extraENV.
+ * tests/scripts/functions/eval: Ditto.
+ * tests/scripts/functions/origin: Ditto.
+ * tests/scripts/options/dash-e: Ditto.
+ * tests/scripts/variables/SHELL: Ditto.
+
2005-06-27 Paul D. Smith <psmith@gnu.org>
* scripts/options/dash-W: Use 'echo >>' instead of touch to update
diff --git a/tests/scripts/features/export b/tests/scripts/features/export
index 1690ee8..38efe11 100644
--- a/tests/scripts/features/export
+++ b/tests/scripts/features/export
@@ -56,7 +56,7 @@ FOO= BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n";
# TEST 1: make sure vars inherited from the parent are exported
-$ENV{FOO} = 1;
+$extraENV{FOO} = 1;
&run_make_with_options($makefile,"",&get_logfile,0);
@@ -65,8 +65,6 @@ FOO=foo BAR= BAZ=baz BOZ=boz BITZ=bitz BOTZ=\n";
&compare_output($answer,&get_logfile(1));
-delete $ENV{FOO};
-
# TEST 2: global export. Explicit unexport takes precedence.
&run_make_with_options($makefile,"EXPORT_ALL=1",&get_logfile,0);
@@ -237,14 +235,12 @@ EOF
close(MAKEFILE);
-@ENV{qw(A B C D E F G H I J)} = qw(1 2 3 4 5 6 7 8 9 10);
+@extraENV{qw(A B C D E F G H I J)} = qw(1 2 3 4 5 6 7 8 9 10);
&run_make_with_options($makefile5,"",&get_logfile,0);
$answer = "A= B= C= D= E= F= G= H= I= J=\n";
&compare_output($answer,&get_logfile(1));
-delete @ENV{qw(A B C D E F G H I J)};
-
# This tells the test driver that the perl test script executed properly.
1;
diff --git a/tests/scripts/functions/eval b/tests/scripts/functions/eval
index bc43053..9595d4e 100644
--- a/tests/scripts/functions/eval
+++ b/tests/scripts/functions/eval
@@ -127,13 +127,11 @@ EOF
close(MAKEFILE);
-$ENV{EVAR} = '1';
+$extraENV{EVAR} = '1';
&run_make_with_options($makefile4, "", &get_logfile);
$answer = "OK\n";
&compare_output($answer,&get_logfile(1));
-delete $ENV{EVAR};
-
# Clean out previous information to allow new run_make_test() interface.
# If we ever convert all the above to run_make_test() we can remove this line.
diff --git a/tests/scripts/functions/origin b/tests/scripts/functions/origin
index d5116cd..49e6f38 100644
--- a/tests/scripts/functions/origin
+++ b/tests/scripts/functions/origin
@@ -16,7 +16,7 @@ defined per the following list:
'automatic' Automatic variable\n";
# Set an environment variable
-$ENV{MAKETEST} = 1;
+$extraENV{MAKETEST} = 1;
open(MAKEFILE,"> $makefile");
diff --git a/tests/scripts/options/dash-e b/tests/scripts/options/dash-e
index 472270d..17c3fc8 100644
--- a/tests/scripts/options/dash-e
+++ b/tests/scripts/options/dash-e
@@ -4,7 +4,7 @@ $description = "The following test creates a makefile to ...";
$details = "";
-$ENV{GOOGLE} = 'boggle';
+$extraENV{GOOGLE} = 'boggle';
open(MAKEFILE,"> $makefile");
diff --git a/tests/scripts/variables/SHELL b/tests/scripts/variables/SHELL
index 93c1872..adfa5b1 100644
--- a/tests/scripts/variables/SHELL
+++ b/tests/scripts/variables/SHELL
@@ -4,15 +4,16 @@ $description = "Test proper handling of SHELL.";
# Find the default value when SHELL is not set. On UNIX it will be /bin/sh,
# but on other platforms who knows?
-$oshell = $ENV{SHELL};
+resetENV();
delete $ENV{SHELL};
$mshell = `echo 'all:;\@echo \$(SHELL)' | $make_path -f-`;
chop $mshell;
# According to POSIX, the value of SHELL in the environment has no impact on
# the value in the makefile.
+# Note %extraENV takes precedence over the default value for the shell.
-$ENV{SHELL} = '/dev/null';
+$extraENV{SHELL} = '/dev/null';
run_make_test('all:;@echo "$(SHELL)"', '', $mshell);
# According to POSIX, any value of SHELL set in the makefile should _NOT_ be
@@ -21,7 +22,7 @@ run_make_test('all:;@echo "$(SHELL)"', '', $mshell);
# all when $(SHELL) is perl :-/. So, we just add an extra initial / and hope
# for the best on non-UNIX platforms :-/.
-$ENV{SHELL} = $mshell;
+$extraENV{SHELL} = $mshell;
run_make_test("SHELL := /$mshell\n".'
all:;@echo "$(SHELL) $$SHELL"
@@ -30,6 +31,8 @@ all:;@echo "$(SHELL) $$SHELL"
# As a GNU make extension, if make's SHELL variable is explicitly exported,
# then we really _DO_ export it.
+$extraENV{SHELL} = $mshell;
+
run_make_test("export SHELL := /$mshell\n".'
all:;@echo "$(SHELL) $$SHELL"
', '', "/$mshell /$mshell");
@@ -38,10 +41,14 @@ all:;@echo "$(SHELL) $$SHELL"
# Test out setting of SHELL, both exported and not, as a target-specific
# variable.
+$extraENV{SHELL} = $mshell;
+
run_make_test("all: SHELL := /$mshell\n".'
all:;@echo "$(SHELL) $$SHELL"
', '', "/$mshell $mshell");
+$extraENV{SHELL} = $mshell;
+
run_make_test("all: export SHELL := /$mshell\n".'
all:;@echo "$(SHELL) $$SHELL"
', '', "/$mshell $mshell");
diff --git a/tests/test_driver.pl b/tests/test_driver.pl
index 7cd40b5..4b4e72b 100644
--- a/tests/test_driver.pl
+++ b/tests/test_driver.pl
@@ -32,12 +32,35 @@ $tests_passed = 0;
# Yeesh. This whole test environment is such a hack!
$test_passed = 1;
-sub toplevel
+
+# %makeENV is the cleaned-out environment.
+%makeENV = ();
+
+# %extraENV are any extra environment variables the tests might want to set.
+# These are RESET AFTER EVERY TEST!
+%extraENV = ();
+
+# %origENV is the caller's original environment
+%origENV = %ENV;
+
+sub resetENV
{
- # Get a clean environment
+ # We used to say "%ENV = ();" but this doesn't work in Perl 5.000
+ # through Perl 5.004. It was fixed in Perl 5.004_01, but we don't
+ # want to require that here, so just delete each one individually.
+ foreach $v (keys %ENV) {
+ delete $ENV{$v};
+ }
- %makeENV = ();
+ %ENV = %makeENV;
+ foreach $v (keys %extraENV) {
+ $ENV{$v} = $extraENV{$v};
+ delete $extraENV{$v};
+ }
+}
+sub toplevel
+{
# Pull in benign variables from the user's environment
#
foreach (# UNIX-specific things
@@ -57,15 +80,7 @@ sub toplevel
#
%origENV = %ENV;
- # We used to say "%ENV = ();" but this doesn't work in Perl 5.000
- # through Perl 5.004. It was fixed in Perl 5.004_01, but we don't
- # want to require that here, so just delete each one individually.
-
- foreach $v (keys %ENV) {
- delete $ENV{$v};
- }
-
- %ENV = %makeENV;
+ resetENV();
$| = 1; # unbuffered output
@@ -744,6 +759,11 @@ sub run_command
{
local ($code);
+ # We reset this before every invocation. On Windows I think there is only
+ # one environment, not one per process, so I think that variables set in
+ # test scripts might leak into subsequent tests if this isn't reset--???
+ resetENV();
+
print "\nrun_command: @_\n" if $debug;
$code = system @_;
print "run_command: \"@_\" returned $code.\n" if $debug;
@@ -761,6 +781,11 @@ sub run_command_with_output
local ($filename) = shift;
local ($code);
+ # We reset this before every invocation. On Windows I think there is only
+ # one environment, not one per process, so I think that variables set in
+ # test scripts might leak into subsequent tests if this isn't reset--???
+ resetENV();
+
&attach_default_output ($filename);
$code = system @_;
&detach_default_output;