Code cleanup: Remove all references to PARAMS() & ansi2knr.

This commit is contained in:
Paul Smith 2006-04-07 01:43:44 +00:00
parent 776d8b7bc2
commit f222b19158
28 changed files with 308 additions and 302 deletions

View File

@ -1,3 +1,20 @@
2006-04-06 Paul D. Smith <psmith@gnu.org>
* configure.in: Removed AM_C_PROTOTYPES. Starting now on we
require an ISO C 1989 standard compiler and runtime library.
* Makefile.am: Remove the ansi2knr feature.
* make.h: Remove the PARAMS() macro definition and all uses of it.
* amiga.h, ar.c, arscan.c: Remove all uses of the PARAMS() macro.
* commands.c, commands.h, config.h-vms.template: Ditto.
* dep.h, dir.c, expand.c, filedef.h, function.c: Ditto.
* implicit.c, job.c, job.h, main.c, read.c, remake.c: Ditto.
* rule.c, rule.h, variable.h, vmsdir.h, vmsjobs.c, vpath.c: Ditto.
* NEWS: Update.
2006-04-01 Paul D. Smith <psmith@gnu.org>
Version 3.81 released.

View File

@ -16,7 +16,7 @@
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news ansi2knr
AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news
ACLOCAL_AMFLAGS = -I config
MAKE_HOST = @MAKE_HOST@

6
NEWS
View File

@ -8,6 +8,12 @@ All changes mentioned here are more fully described in the GNU make
manual, which is contained in this distribution as the file doc/make.texi.
See the README file and the GNU make manual for instructions for
reporting bugs.
Version 3.81.90
* Compiling GNU make now requires a conforming ISO C 1989 compiler and
standard runtime library.
Version 3.81

View File

@ -15,6 +15,5 @@ You should have received a copy of the GNU General Public License along with
GNU Make; see the file COPYING. If not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
extern int MyExecute PARAMS ((char ** argv));
extern char * wildcard_expansion PARAMS ((char * wc, char * o));
int MyExecute (char ** argv);
char * wildcard_expansion (char * wc, char * o);

10
ar.c
View File

@ -25,10 +25,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include <fnmatch.h>
/* Defined in arscan.c. */
extern long int ar_scan PARAMS ((char *archive, long int (*function) (), long int arg));
extern int ar_name_equal PARAMS ((char *name, char *mem, int truncated));
extern long int ar_scan (char *archive, long int (*function) (), long int arg);
extern int ar_name_equal (char *name, char *mem, int truncated);
#ifndef VMS
extern int ar_member_touch PARAMS ((char *arname, char *memname));
extern int ar_member_touch (char *arname, char *memname);
#endif
/* Return nonzero if NAME is an archive-member reference, zero if not.
@ -72,8 +72,8 @@ ar_parse_name (char *name, char **arname_p, char **memname_p)
*memname_p = savestring (p + 1, end - (p + 1));
}
static long int ar_member_date_1 PARAMS ((int desc, char *mem, int truncated, long int hdrpos,
long int datapos, long int size, long int date, int uid, int gid, int mode, char *name));
static long int ar_member_date_1 (int desc, char *mem, int truncated, long int hdrpos,
long int datapos, long int size, long int date, int uid, int gid, int mode, char *name);
/* Return the modtime of NAME. */

View File

@ -134,7 +134,7 @@ VMS_get_member_info (struct dsc$descriptor_s *module, unsigned long *rfa)
Returns 0 if have scanned successfully. */
long int
ar_scan (char *archive, long int (*function) PARAMS ((void)), long int arg)
ar_scan (char *archive, long int (*function) (void), long int arg)
{
char *p;

View File

@ -33,10 +33,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
# define FILE_LIST_SEPARATOR ' '
#endif
extern int remote_kill PARAMS ((int id, int sig));
int remote_kill (int id, int sig);
#ifndef HAVE_UNISTD_H
extern int getpid ();
int getpid ();
#endif
/* Set FILE's automatic variables up. */

View File

@ -35,8 +35,8 @@ struct commands
#define COMMANDS_SILENT 2 /* Silent: @. */
#define COMMANDS_NOERROR 4 /* No errors: -. */
extern void execute_file_commands PARAMS ((struct file *file));
extern void print_commands PARAMS ((struct commands *cmds));
extern void delete_child_targets PARAMS ((struct child *child));
extern void chop_commands PARAMS ((struct commands *cmds));
extern void set_file_variables PARAMS ((struct file *file));
void execute_file_commands (struct file *file);
void print_commands (struct commands *cmds);
void delete_child_targets (struct child *child);
void chop_commands (struct commands *cmds);
void set_file_variables (struct file *file);

View File

@ -409,14 +409,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#define glob gnu_glob
#endif
#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
#undef PARAMS
#define PARAMS(protos) protos
#else /* Not C++ or ANSI C. */
#undef PARAMS
#define PARAMS(protos) ()
#endif /* C++ or ANSI C. */
/* Define if using alloca.c. */
/* #undef C_ALLOCA */
/* maybe this should be placed into make.h */

View File

@ -16,7 +16,7 @@
# GNU Make; see the file COPYING. If not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
AC_INIT([GNU make],[3.81],[bug-make@gnu.org])
AC_INIT([GNU make],[3.81.90],[bug-make@gnu.org])
AC_PREREQ(2.59)
AC_REVISION([[$Id$]])
@ -44,9 +44,6 @@ AC_AIX
AC_ISC_POSIX
AC_MINIX
# Needed for ansi2knr
AM_C_PROTOTYPES
# Enable gettext, in "external" mode.
AM_GNU_GETTEXT_VERSION(0.14.1)

30
dep.h
View File

@ -55,31 +55,31 @@ struct nameseq
};
extern struct nameseq *multi_glob PARAMS ((struct nameseq *chain, unsigned int size));
struct nameseq *multi_glob (struct nameseq *chain, unsigned int size);
#ifdef VMS
extern struct nameseq *parse_file_seq ();
struct nameseq *parse_file_seq ();
#else
extern struct nameseq *parse_file_seq PARAMS ((char **stringp, int stopchar, unsigned int size, int strip));
struct nameseq *parse_file_seq (char **stringp, int stopchar, unsigned int size, int strip);
#endif
extern char *tilde_expand PARAMS ((char *name));
char *tilde_expand (char *name);
#ifndef NO_ARCHIVES
extern struct nameseq *ar_glob PARAMS ((char *arname, char *member_pattern, unsigned int size));
struct nameseq *ar_glob (char *arname, char *member_pattern, unsigned int size);
#endif
#ifndef iAPX286
#define dep_name(d) ((d)->name == 0 ? (d)->file->name : (d)->name)
#else
/* Buggy compiler can't hack this. */
extern char *dep_name ();
char *dep_name ();
#endif
extern struct dep *alloc_dep PARAMS ((void));
extern void free_dep PARAMS ((struct dep *d));
extern struct dep *copy_dep_chain PARAMS ((const struct dep *d));
extern void free_dep_chain PARAMS ((struct dep *d));
extern void free_ns_chain PARAMS ((struct nameseq *n));
extern struct dep *read_all_makefiles PARAMS ((char **makefiles));
extern int eval_buffer PARAMS ((char *buffer));
extern int update_goal_chain PARAMS ((struct dep *goals));
extern void uniquize_deps PARAMS ((struct dep *));
struct dep *alloc_dep (void);
void free_dep (struct dep *d);
struct dep *copy_dep_chain (const struct dep *d);
void free_dep_chain (struct dep *d);
void free_ns_chain (struct nameseq *n);
struct dep *read_all_makefiles (char **makefiles);
int eval_buffer (char *buffer);
int update_goal_chain (struct dep *goals);
void uniquize_deps (struct dep *);

12
dir.c
View File

@ -23,7 +23,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
# include <dirent.h>
# define NAMLEN(dirent) strlen((dirent)->d_name)
# ifdef VMS
extern char *vmsify PARAMS ((char *name, int type));
char *vmsify (char *name, int type);
# endif
#else
# define dirent direct
@ -411,8 +411,8 @@ dirfile_hash_cmp (const void *xv, const void *yv)
#define DIRFILE_BUCKETS 107
#endif
static int dir_contents_file_exists_p PARAMS ((struct directory_contents *dir, char *filename));
static struct directory *find_directory PARAMS ((char *name));
static int dir_contents_file_exists_p (struct directory_contents *dir, char *filename);
static struct directory *find_directory (char *name);
/* Find the directory named NAME and return its `struct directory'. */
@ -1092,8 +1092,8 @@ struct dirstream
};
/* Forward declarations. */
static __ptr_t open_dirstream PARAMS ((const char *));
static struct dirent *read_dirstream PARAMS ((__ptr_t));
static __ptr_t open_dirstream (const char *);
static struct dirent *read_dirstream (__ptr_t);
static __ptr_t
open_dirstream (const char *directory)
@ -1180,7 +1180,7 @@ ansi_free (void *p)
*/
#ifndef stat
# ifndef VMS
extern int stat PARAMS ((const char *path, struct stat *sbuf));
int stat (const char *path, struct stat *sbuf);
# endif
# define local_stat stat
#else

View File

@ -93,7 +93,7 @@ initialize_variable_output (void)
/* Recursively expand V. The returned string is malloc'd. */
static char *allocated_variable_append PARAMS ((const struct variable *v));
static char *allocated_variable_append (const struct variable *v);
char *
recursively_expand_for_file (struct variable *v, struct file *file)

View File

@ -101,17 +101,17 @@ extern struct file *default_goal_file, *suffix_file, *default_file;
extern char **default_goal_name;
extern struct file *lookup_file PARAMS ((char *name));
extern struct file *enter_file PARAMS ((char *name));
extern struct dep *parse_prereqs PARAMS ((char *prereqs));
extern void remove_intermediates PARAMS ((int sig));
extern void snap_deps PARAMS ((void));
extern void rename_file PARAMS ((struct file *file, char *name));
extern void rehash_file PARAMS ((struct file *file, char *name));
extern void set_command_state PARAMS ((struct file *file, enum cmd_state state));
extern void notice_finished_file PARAMS ((struct file *file));
extern void init_hash_files PARAMS ((void));
extern char *build_target_list PARAMS ((char *old_list));
struct file *lookup_file (char *name);
struct file *enter_file (char *name);
struct dep *parse_prereqs (char *prereqs);
void remove_intermediates (int sig);
void snap_deps (void);
void rename_file (struct file *file, char *name);
void rehash_file (struct file *file, char *name);
void set_command_state (struct file *file, enum cmd_state state);
void notice_finished_file (struct file *file);
void init_hash_files (void);
char *build_target_list (char *old_list);
#if FILE_TIMESTAMP_HI_RES
# define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \
@ -152,10 +152,9 @@ extern char *build_target_list PARAMS ((char *old_list));
* 302 / 1000) \
+ 1 + 1 + 4 + 25)
extern FILE_TIMESTAMP file_timestamp_cons PARAMS ((char const *,
time_t, int));
extern FILE_TIMESTAMP file_timestamp_now PARAMS ((int *));
extern void file_timestamp_sprintf PARAMS ((char *p, FILE_TIMESTAMP ts));
FILE_TIMESTAMP file_timestamp_cons (char const *, time_t, int);
FILE_TIMESTAMP file_timestamp_now (int *);
void file_timestamp_sprintf (char *p, FILE_TIMESTAMP ts);
/* Return the mtime of file F (a struct file *), caching it.
The value is NONEXISTENT_MTIME if the file does not exist. */
@ -165,7 +164,7 @@ extern void file_timestamp_sprintf PARAMS ((char *p, FILE_TIMESTAMP ts));
we don't find it.
The value is NONEXISTENT_MTIME if the file does not exist. */
#define file_mtime_no_search(f) file_mtime_1 ((f), 0)
extern FILE_TIMESTAMP f_mtime PARAMS ((struct file *file, int search));
FILE_TIMESTAMP f_mtime (struct file *file, int search);
#define file_mtime_1(f, v) \
((f)->last_mtime == UNKNOWN_MTIME ? f_mtime ((f), v) : (f)->last_mtime)

View File

@ -36,7 +36,7 @@ struct function_table_entry
unsigned char minimum_args;
unsigned char maximum_args;
char expand_args;
char *(*func_ptr) PARAMS ((char *output, char **argv, const char *fname));
char *(*func_ptr) (char *output, char **argv, const char *fname);
};
static unsigned long
@ -2040,7 +2040,7 @@ func_abspath (char *o, char **argv, const char *funcname UNUSED)
EXPAND_ARGS means that all arguments should be expanded before invocation.
Functions that do namespace tricks (foreach) don't automatically expand. */
static char *func_call PARAMS ((char *o, char **argv, const char *funcname));
static char *func_call (char *o, char **argv, const char *funcname);
static struct function_table_entry function_table_init[] =

View File

@ -25,9 +25,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "job.h" /* struct child, used inside commands.h */
#include "commands.h" /* set_file_variables */
static int
pattern_search PARAMS ((struct file *file, int archive,
unsigned int depth, unsigned int recursions));
static int pattern_search (struct file *file, int archive,
unsigned int depth, unsigned int recursions);
/* For a FILE which has no commands specified, try to figure out some
from the implicit pattern rules.

44
job.c
View File

@ -98,7 +98,7 @@ static int amiga_batch_file;
# endif
# include <starlet.h>
# include <lib$routines.h>
static void vmsWaitForChildren PARAMS ((int *));
static void vmsWaitForChildren (int *);
#endif
#ifdef WINDOWS32
@ -130,7 +130,7 @@ extern int wait3 ();
#endif /* Have waitpid. */
#if !defined (wait) && !defined (POSIX)
extern int wait ();
int wait ();
#endif
#ifndef HAVE_UNION_WAIT
@ -175,32 +175,32 @@ extern int wait ();
#endif /* Don't have `union wait'. */
#ifndef HAVE_UNISTD_H
extern int dup2 ();
extern int execve ();
extern void _exit ();
int dup2 ();
int execve ();
void _exit ();
# ifndef VMS
extern int geteuid ();
extern int getegid ();
extern int setgid ();
extern int getgid ();
int geteuid ();
int getegid ();
int setgid ();
int getgid ();
# endif
#endif
extern char *allocated_variable_expand_for_file PARAMS ((char *line, struct file *file));
char *allocated_variable_expand_for_file (char *line, struct file *file);
extern int getloadavg PARAMS ((double loadavg[], int nelem));
extern int start_remote_job PARAMS ((char **argv, char **envp, int stdin_fd,
int *is_remote, int *id_ptr, int *used_stdin));
extern int start_remote_job_p PARAMS ((int));
extern int remote_status PARAMS ((int *exit_code_ptr, int *signal_ptr,
int *coredump_ptr, int block));
int getloadavg (double loadavg[], int nelem);
int start_remote_job (char **argv, char **envp, int stdin_fd, int *is_remote,
int *id_ptr, int *used_stdin);
int start_remote_job_p (int);
int remote_status (int *exit_code_ptr, int *signal_ptr, int *coredump_ptr,
int block);
RETSIGTYPE child_handler PARAMS ((int));
static void free_child PARAMS ((struct child *));
static void start_job_command PARAMS ((struct child *child));
static int load_too_high PARAMS ((void));
static int job_next_command PARAMS ((struct child *));
static int start_waiting_job PARAMS ((struct child *));
RETSIGTYPE child_handler (int);
static void free_child (struct child *);
static void start_job_command (struct child *child);
static int load_too_high (void);
static int job_next_command (struct child *);
static int start_waiting_job (struct child *);
/* Chain of all live (or recently deceased) children. */

24
job.h
View File

@ -66,31 +66,31 @@ struct child
extern struct child *children;
extern void new_job PARAMS ((struct file *file));
extern void reap_children PARAMS ((int block, int err));
extern void start_waiting_jobs PARAMS ((void));
void new_job (struct file *file);
void reap_children (int block, int err);
void start_waiting_jobs (void);
extern char **construct_command_argv PARAMS ((char *line, char **restp, struct file *file, char** batch_file));
char **construct_command_argv (char *line, char **restp, struct file *file, char** batch_file);
#ifdef VMS
extern int child_execute_job PARAMS ((char *argv, struct child *child));
int child_execute_job (char *argv, struct child *child);
#elif defined(__EMX__)
extern int child_execute_job PARAMS ((int stdin_fd, int stdout_fd, char **argv, char **envp));
int child_execute_job (int stdin_fd, int stdout_fd, char **argv, char **envp);
#else
extern void child_execute_job PARAMS ((int stdin_fd, int stdout_fd, char **argv, char **envp));
void child_execute_job (int stdin_fd, int stdout_fd, char **argv, char **envp);
#endif
#ifdef _AMIGA
extern void exec_command PARAMS ((char **argv));
void exec_command (char **argv);
#elif defined(__EMX__)
extern int exec_command PARAMS ((char **argv, char **envp));
int exec_command (char **argv, char **envp);
#else
extern void exec_command PARAMS ((char **argv, char **envp));
void exec_command (char **argv, char **envp);
#endif
extern unsigned int job_slots_used;
extern void block_sigs PARAMS ((void));
void block_sigs (void);
#ifdef POSIX
extern void unblock_sigs PARAMS ((void));
void unblock_sigs (void);
#else
#ifdef HAVE_SIGSETMASK
extern int fatal_signal_mask;

46
main.c
View File

@ -56,39 +56,39 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
int __stack = 20000; /* Make sure we have 20K of stack space */
#endif
extern void init_dir PARAMS ((void));
extern void remote_setup PARAMS ((void));
extern void remote_cleanup PARAMS ((void));
extern RETSIGTYPE fatal_error_signal PARAMS ((int sig));
void init_dir (void);
void remote_setup (void);
void remote_cleanup (void);
RETSIGTYPE fatal_error_signal (int sig);
extern void print_variable_data_base PARAMS ((void));
extern void print_dir_data_base PARAMS ((void));
extern void print_rule_data_base PARAMS ((void));
extern void print_file_data_base PARAMS ((void));
extern void print_vpath_data_base PARAMS ((void));
void print_variable_data_base (void);
void print_dir_data_base (void);
void print_rule_data_base (void);
void print_file_data_base (void);
void print_vpath_data_base (void);
#if defined HAVE_WAITPID || defined HAVE_WAIT3
# define HAVE_WAIT_NOHANG
#endif
#ifndef HAVE_UNISTD_H
extern int chdir ();
int chdir ();
#endif
#ifndef STDC_HEADERS
# ifndef sun /* Sun has an incorrect decl in a header. */
extern void exit PARAMS ((int)) __attribute__ ((noreturn));
void exit (int) __attribute__ ((noreturn));
# endif
extern double atof ();
double atof ();
#endif
static void clean_jobserver PARAMS ((int status));
static void print_data_base PARAMS ((void));
static void print_version PARAMS ((void));
static void decode_switches PARAMS ((int argc, char **argv, int env));
static void decode_env_switches PARAMS ((char *envar, unsigned int len));
static void define_makeflags PARAMS ((int all, int makefile));
static char *quote_for_env PARAMS ((char *out, char *in));
static void initialize_global_hash_tables PARAMS ((void));
static void clean_jobserver (int status);
static void print_data_base (void);
static void print_version (void);
static void decode_switches (int argc, char **argv, int env);
static void decode_env_switches (char *envar, unsigned int len);
static void define_makeflags (int all, int makefile);
static char *quote_for_env (char *out, char *in);
static void initialize_global_hash_tables (void);
/* The structure that describes an accepted command switch. */
@ -841,8 +841,8 @@ msdos_return_to_initial_directory (void)
}
#endif
extern char *mktemp PARAMS ((char *template));
extern int mkstemp PARAMS ((char *template));
char *mktemp (char *template);
int mkstemp (char *template);
FILE *
open_tmpfile(char **name, const char *template)
@ -1543,7 +1543,7 @@ main (int argc, char **argv, char **envp)
If none of these are true, we don't need a signal handler at all. */
{
extern RETSIGTYPE child_handler PARAMS ((int sig));
RETSIGTYPE child_handler (int sig);
# if defined SIGCHLD
bsd_signal (SIGCHLD, child_handler);
# endif

161
make.h
View File

@ -39,15 +39,6 @@ char *alloca ();
#endif
/* Use prototypes if available. */
#if defined (__cplusplus) || defined (__STDC__)
# undef PARAMS
# define PARAMS(protos) protos
#else /* Not C++ or ANSI C. */
# undef PARAMS
# define PARAMS(protos) ()
#endif /* C++ or ANSI C. */
/* Specify we want GNU source code. This must be defined before any
system headers are included. */
@ -151,7 +142,7 @@ extern int errno;
# define NEED_GET_PATH_MAX 1
# define GET_PATH_MAX (get_path_max ())
# define PATH_VAR(var) char *var = (char *) alloca (GET_PATH_MAX)
extern unsigned int get_path_max PARAMS ((void));
unsigned int get_path_max (void);
#endif
#ifndef CHAR_BIT
@ -227,12 +218,12 @@ extern unsigned int get_path_max PARAMS ((void));
# ifdef HAVE_STDLIB_H
# include <stdlib.h>
# else
extern char *malloc PARAMS ((int));
extern char *realloc PARAMS ((char *, int));
extern void free PARAMS ((char *));
char *malloc (int);
char *realloc (char *, int);
void free (char *);
extern void abort PARAMS ((void)) __attribute__ ((noreturn));
extern void exit PARAMS ((int)) __attribute__ ((noreturn));
void abort (void) __attribute__ ((noreturn));
void exit (int) __attribute__ ((noreturn));
# endif /* HAVE_STDLIB_H. */
#endif /* Standard headers. */
@ -265,19 +256,19 @@ extern void exit PARAMS ((int)) __attribute__ ((noreturn));
# endif
# ifndef bcmp
extern int bcmp PARAMS ((const char *, const char *, int));
int bcmp (const char *, const char *, int);
# endif
# ifndef bzero
extern void bzero PARAMS ((char *, int));
void bzero (char *, int);
#endif
# ifndef bcopy
extern void bcopy PARAMS ((const char *b1, char *b2, int));
void bcopy (const char *b1, char *b2, int);
# endif
/* SCO Xenix has a buggy macro definition in <string.h>. */
#undef strerror
#if !defined(__DECC)
extern char *strerror PARAMS ((int errnum));
char *strerror (int errnum);
#endif
#endif /* !ANSI_STRING. */
@ -289,7 +280,7 @@ extern char *strerror PARAMS ((int errnum));
#define FILE_TIMESTAMP uintmax_t
#if !defined(HAVE_STRSIGNAL)
extern char *strsignal PARAMS ((int signum));
char *strsignal (int signum);
#endif
/* ISDIGIT offers the following features:
@ -323,7 +314,7 @@ extern char *strsignal PARAMS ((int signum));
#endif
#define strneq(a, b, l) (strncmp ((a), (b), (l)) == 0)
#ifdef VMS
extern int strcmpi (const char *,const char *);
int strcmpi (const char *,const char *);
#endif
#if defined(__GNUC__) || defined(ENUM_BITFIELDS)
@ -363,13 +354,13 @@ extern int strcmpi (const char *,const char *);
#ifdef WINDOWS32
# include <fcntl.h>
# include <malloc.h>
# define pipe(p) _pipe(p, 512, O_BINARY)
# define kill(pid,sig) w32_kill(pid,sig)
# define pipe(_p) _pipe((_p), 512, O_BINARY)
# define kill(_pid,_sig) w32_kill((_pid),(_sig))
extern void sync_Path_environment(void);
extern int kill(int pid, int sig);
extern char *end_of_token_w32(char *s, char stopchar);
extern int find_and_set_default_shell(char *token);
void sync_Path_environment (void);
int kill (int pid, int sig);
char *end_of_token_w32 (char *s, char stopchar);
int find_and_set_default_shell (char *token);
/* indicates whether or not we have Bourne shell */
extern int no_default_sh_exe;
@ -398,78 +389,78 @@ struct floc
#endif
#if HAVE_ANSI_COMPILER && USE_VARIADIC && HAVE_STDARG_H
extern void message (int prefix, const char *fmt, ...)
void message (int prefix, const char *fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
extern void error (const struct floc *flocp, const char *fmt, ...)
void error (const struct floc *flocp, const char *fmt, ...)
__attribute__ ((__format__ (__printf__, 2, 3)));
extern void fatal (const struct floc *flocp, const char *fmt, ...)
void fatal (const struct floc *flocp, const char *fmt, ...)
__attribute__ ((noreturn, __format__ (__printf__, 2, 3)));
#else
extern void message ();
extern void error ();
extern void fatal ();
void message ();
void error ();
void fatal ();
#endif
extern void die PARAMS ((int)) __attribute__ ((noreturn));
extern void log_working_directory PARAMS ((int));
extern void pfatal_with_name PARAMS ((const char *)) __attribute__ ((noreturn));
extern void perror_with_name PARAMS ((const char *, const char *));
extern char *savestring PARAMS ((const char *, unsigned int));
extern char *concat PARAMS ((const char *, const char *, const char *));
extern char *xmalloc PARAMS ((unsigned int));
extern char *xrealloc PARAMS ((char *, unsigned int));
extern char *xstrdup PARAMS ((const char *));
extern char *find_next_token PARAMS ((char **, unsigned int *));
extern char *next_token PARAMS ((const char *));
extern char *end_of_token PARAMS ((const char *));
extern void collapse_continuations PARAMS ((char *));
extern char *lindex PARAMS ((const char *, const char *, int));
extern int alpha_compare PARAMS ((const void *, const void *));
extern void print_spaces PARAMS ((unsigned int));
extern char *find_percent PARAMS ((char *));
extern FILE *open_tmpfile PARAMS ((char **, const char *));
void die (int) __attribute__ ((noreturn));
void log_working_directory (int);
void pfatal_with_name (const char *) __attribute__ ((noreturn));
void perror_with_name (const char *, const char *);
char *savestring (const char *, unsigned int);
char *concat (const char *, const char *, const char *);
char *xmalloc (unsigned int);
char *xrealloc (char *, unsigned int);
char *xstrdup (const char *);
char *find_next_token (char **, unsigned int *);
char *next_token (const char *);
char *end_of_token (const char *);
void collapse_continuations (char *);
char *lindex (const char *, const char *, int);
int alpha_compare (const void *, const void *);
void print_spaces (unsigned int);
char *find_percent (char *);
FILE *open_tmpfile (char **, const char *);
#ifndef NO_ARCHIVES
extern int ar_name PARAMS ((char *));
extern void ar_parse_name PARAMS ((char *, char **, char **));
extern int ar_touch PARAMS ((char *));
extern time_t ar_member_date PARAMS ((char *));
int ar_name (char *);
void ar_parse_name (char *, char **, char **);
int ar_touch (char *);
time_t ar_member_date (char *);
#endif
extern int dir_file_exists_p PARAMS ((char *, char *));
extern int file_exists_p PARAMS ((char *));
extern int file_impossible_p PARAMS ((char *));
extern void file_impossible PARAMS ((char *));
extern char *dir_name PARAMS ((char *));
extern void hash_init_directories PARAMS ((void));
int dir_file_exists_p (char *, char *);
int file_exists_p (char *);
int file_impossible_p (char *);
void file_impossible (char *);
char *dir_name (char *);
void hash_init_directories (void);
extern void define_default_variables PARAMS ((void));
extern void set_default_suffixes PARAMS ((void));
extern void install_default_suffix_rules PARAMS ((void));
extern void install_default_implicit_rules PARAMS ((void));
void define_default_variables (void);
void set_default_suffixes (void);
void install_default_suffix_rules (void);
void install_default_implicit_rules (void);
extern void build_vpath_lists PARAMS ((void));
extern void construct_vpath_list PARAMS ((char *pattern, char *dirpath));
extern int vpath_search PARAMS ((char **file, FILE_TIMESTAMP *mtime_ptr));
extern int gpath_search PARAMS ((char *file, unsigned int len));
void build_vpath_lists (void);
void construct_vpath_list (char *pattern, char *dirpath);
int vpath_search (char **file, FILE_TIMESTAMP *mtime_ptr);
int gpath_search (char *file, unsigned int len);
extern void construct_include_path PARAMS ((char **arg_dirs));
void construct_include_path (char **arg_dirs);
extern void user_access PARAMS ((void));
extern void make_access PARAMS ((void));
extern void child_access PARAMS ((void));
void user_access (void);
void make_access (void);
void child_access (void);
extern void close_stdout PARAMS ((void));
void close_stdout (void);
extern char *strip_whitespace PARAMS ((const char **begpp, const char **endpp));
char *strip_whitespace (const char **begpp, const char **endpp);
/* String caching */
extern void strcache_init PARAMS ((void));
extern void strcache_print_stats PARAMS ((const char *prefix));
extern int strcache_iscached PARAMS ((const char *str));
extern const char *strcache_add PARAMS ((const char *str));
extern const char *strcache_add_len PARAMS ((const char *str, int len));
extern int strcache_setbufsize PARAMS ((int size));
void strcache_init (void);
void strcache_print_stats (const char *prefix);
int strcache_iscached (const char *str);
const char *strcache_add (const char *str);
const char *strcache_add_len (const char *str, int len);
int strcache_setbufsize (int size);
#ifdef HAVE_VFORK_H
# include <vfork.h>
@ -480,19 +471,19 @@ extern int strcache_setbufsize PARAMS ((int size));
#if !defined (__GNU_LIBRARY__) && !defined (POSIX) && !defined (_POSIX_VERSION) && !defined(WINDOWS32)
extern long int atol ();
long int atol ();
# ifndef VMS
extern long int lseek ();
long int lseek ();
# endif
#endif /* Not GNU C library or POSIX. */
#ifdef HAVE_GETCWD
# if !defined(VMS) && !defined(__DECC)
extern char *getcwd ();
char *getcwd ();
# endif
#else
extern char *getwd ();
char *getwd ();
# define getcwd(buf, len) getwd (buf)
#endif

39
read.c
View File

@ -37,7 +37,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#ifndef VMS
#include <pwd.h>
#else
struct passwd *getpwnam PARAMS ((char *name));
struct passwd *getpwnam (char *name);
#endif
#endif
#endif /* !WINDOWS32 */
@ -123,27 +123,26 @@ const struct floc *reading_file = 0;
static struct dep *read_makefiles = 0;
static int eval_makefile PARAMS ((char *filename, int flags));
static int eval PARAMS ((struct ebuffer *buffer, int flags));
static int eval_makefile (char *filename, int flags);
static int eval (struct ebuffer *buffer, int flags);
static long readline PARAMS ((struct ebuffer *ebuf));
static void do_define PARAMS ((char *name, unsigned int namelen,
enum variable_origin origin,
struct ebuffer *ebuf));
static int conditional_line PARAMS ((char *line, int len, const struct floc *flocp));
static void record_files PARAMS ((struct nameseq *filenames, char *pattern, char *pattern_percent,
struct dep *deps, unsigned int cmds_started, char *commands,
static long readline (struct ebuffer *ebuf);
static void do_define (char *name, unsigned int namelen,
enum variable_origin origin, struct ebuffer *ebuf);
static int conditional_line (char *line, int len, const struct floc *flocp);
static void record_files (struct nameseq *filenames, char *pattern,
char *pattern_percent, struct dep *deps,
unsigned int cmds_started, char *commands,
unsigned int commands_idx, int two_colon,
const struct floc *flocp));
static void record_target_var PARAMS ((struct nameseq *filenames, char *defn,
enum variable_origin origin,
int enabled,
const struct floc *flocp));
static enum make_word_type get_next_mword PARAMS ((char *buffer, char *delim,
char **startp, unsigned int *length));
static void remove_comments PARAMS ((char *line));
static char *find_char_unquote PARAMS ((char *string, int stop1,
int stop2, int blank, int ignorevars));
const struct floc *flocp);
static void record_target_var (struct nameseq *filenames, char *defn,
enum variable_origin origin, int enabled,
const struct floc *flocp);
static enum make_word_type get_next_mword (char *buffer, char *delim,
char **startp, unsigned int *length);
static void remove_comments (char *line);
static char *find_char_unquote (char *string, int stop1, int stop2,
int blank, int ignorevars);
/* Read in all the makefiles and return the chain of their names. */

View File

@ -39,7 +39,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include <io.h>
#endif
extern int try_implicit_rule PARAMS ((struct file *file, unsigned int depth));
extern int try_implicit_rule (struct file *file, unsigned int depth);
/* The test for circular dependencies is based on the 'updating' bit in
@ -60,13 +60,14 @@ unsigned int commands_started = 0;
/* Current value for pruning the scan of the goal chain (toggle 0/1). */
static unsigned int considered;
static int update_file PARAMS ((struct file *file, unsigned int depth));
static int update_file_1 PARAMS ((struct file *file, unsigned int depth));
static int check_dep PARAMS ((struct file *file, unsigned int depth, FILE_TIMESTAMP this_mtime, int *must_make_ptr));
static int touch_file PARAMS ((struct file *file));
static void remake_file PARAMS ((struct file *file));
static FILE_TIMESTAMP name_mtime PARAMS ((char *name));
static int library_search PARAMS ((char **lib, FILE_TIMESTAMP *mtime_ptr));
static int update_file (struct file *file, unsigned int depth);
static int update_file_1 (struct file *file, unsigned int depth);
static int check_dep (struct file *file, unsigned int depth,
FILE_TIMESTAMP this_mtime, int *must_make_ptr);
static int touch_file (struct file *file);
static void remake_file (struct file *file);
static FILE_TIMESTAMP name_mtime (char *name);
static int library_search (char **lib, FILE_TIMESTAMP *mtime_ptr);
/* Remake all the goals in the `struct dep' chain GOALS. Return -1 if nothing

2
rule.c
View File

@ -24,7 +24,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include "variable.h"
#include "rule.h"
static void freerule PARAMS ((struct rule *rule, struct rule *lastrule));
static void freerule (struct rule *rule, struct rule *lastrule);
/* Chain of all pattern rules. */

16
rule.h
View File

@ -49,12 +49,10 @@ extern struct file *suffix_file;
extern unsigned int maxsuffix;
extern void install_pattern_rule PARAMS ((struct pspec *p, int terminal));
extern int new_pattern_rule PARAMS ((struct rule *rule, int override));
extern void count_implicit_rule_limits PARAMS ((void));
extern void convert_to_pattern PARAMS ((void));
extern void create_pattern_rule PARAMS ((char **targets,
char **target_percents, int terminal,
struct dep *deps,
struct commands *commands,
int override));
void install_pattern_rule (struct pspec *p, int terminal);
int new_pattern_rule (struct rule *rule, int override);
void count_implicit_rule_limits (void);
void convert_to_pattern (void);
void create_pattern_rule (char **targets, char **target_percents,
int terminal, struct dep *deps,
struct commands *commands, int override);

View File

@ -109,55 +109,61 @@ extern char *variable_buffer;
extern struct variable_set_list *current_variable_set_list;
/* expand.c */
extern char *variable_buffer_output PARAMS ((char *ptr, char *string, unsigned int length));
extern char *variable_expand PARAMS ((char *line));
extern char *variable_expand_for_file PARAMS ((char *line, struct file *file));
extern char *allocated_variable_expand_for_file PARAMS ((char *line, struct file *file));
char *variable_buffer_output (char *ptr, char *string, unsigned int length);
char *variable_expand (char *line);
char *variable_expand_for_file (char *line, struct file *file);
char *allocated_variable_expand_for_file (char *line, struct file *file);
#define allocated_variable_expand(line) \
allocated_variable_expand_for_file (line, (struct file *) 0)
extern char *expand_argument PARAMS ((const char *str, const char *end));
extern char *variable_expand_string PARAMS ((char *line, char *string,
long length));
extern void install_variable_buffer PARAMS ((char **bufp, unsigned int *lenp));
extern void restore_variable_buffer PARAMS ((char *buf, unsigned int len));
char *expand_argument (const char *str, const char *end);
char *variable_expand_string (char *line, char *string, long length);
void install_variable_buffer (char **bufp, unsigned int *lenp);
void restore_variable_buffer (char *buf, unsigned int len);
/* function.c */
extern int handle_function PARAMS ((char **op, char **stringp));
extern int pattern_matches PARAMS ((char *pattern, char *percent, char *str));
extern char *subst_expand PARAMS ((char *o, char *text, char *subst, char *replace,
unsigned int slen, unsigned int rlen, int by_word));
extern char *patsubst_expand PARAMS ((char *o, char *text, char *pattern, char *replace,
char *pattern_percent, char *replace_percent));
int handle_function (char **op, char **stringp);
int pattern_matches (char *pattern, char *percent, char *str);
char *subst_expand (char *o, char *text, char *subst, char *replace,
unsigned int slen, unsigned int rlen, int by_word);
char *patsubst_expand (char *o, char *text, char *pattern, char *replace,
char *pattern_percent, char *replace_percent);
/* expand.c */
extern char *recursively_expand_for_file PARAMS ((struct variable *v,
struct file *file));
char *recursively_expand_for_file (struct variable *v, struct file *file);
#define recursively_expand(v) recursively_expand_for_file (v, NULL)
/* variable.c */
extern struct variable_set_list *create_new_variable_set PARAMS ((void));
extern void free_variable_set PARAMS ((struct variable_set_list *));
extern struct variable_set_list *push_new_variable_scope PARAMS ((void));
extern void pop_variable_scope PARAMS ((void));
extern void define_automatic_variables PARAMS ((void));
extern void initialize_file_variables PARAMS ((struct file *file, int read));
extern void print_file_variables PARAMS ((struct file *file));
extern void print_variable_set PARAMS ((struct variable_set *set, char *prefix));
extern void merge_variable_set_lists PARAMS ((struct variable_set_list **to_list, struct variable_set_list *from_list));
extern struct variable *do_variable_definition PARAMS ((const struct floc *flocp, const char *name, char *value, enum variable_origin origin, enum variable_flavor flavor, int target_var));
extern struct variable *parse_variable_definition PARAMS ((struct variable *v, char *line));
extern struct variable *try_variable_definition PARAMS ((const struct floc *flocp, char *line, enum variable_origin origin, int target_var));
extern void init_hash_global_variable_set PARAMS ((void));
extern void hash_init_function_table PARAMS ((void));
extern struct variable *lookup_variable PARAMS ((const char *name, unsigned int length));
extern struct variable *lookup_variable_in_set PARAMS ((const char *name,
unsigned int length,
const struct variable_set *set));
struct variable_set_list *create_new_variable_set (void);
void free_variable_set (struct variable_set_list *);
struct variable_set_list *push_new_variable_scope (void);
void pop_variable_scope (void);
void define_automatic_variables (void);
void initialize_file_variables (struct file *file, int read);
void print_file_variables (struct file *file);
void print_variable_set (struct variable_set *set, char *prefix);
void merge_variable_set_lists (struct variable_set_list **to_list,
struct variable_set_list *from_list);
struct variable *do_variable_definition (const struct floc *flocp,
const char *name, char *value,
enum variable_origin origin,
enum variable_flavor flavor,
int target_var);
struct variable *parse_variable_definition (struct variable *v, char *line);
struct variable *try_variable_definition (const struct floc *flocp, char *line,
enum variable_origin origin,
int target_var);
void init_hash_global_variable_set (void);
void hash_init_function_table (void);
struct variable *lookup_variable (const char *name, unsigned int length);
struct variable *lookup_variable_in_set (const char *name, unsigned int length,
const struct variable_set *set);
extern struct variable *define_variable_in_set
PARAMS ((const char *name, unsigned int length, char *value,
enum variable_origin origin, int recursive,
struct variable_set *set, const struct floc *flocp));
struct variable *define_variable_in_set (const char *name, unsigned int length,
char *value,
enum variable_origin origin,
int recursive,
struct variable_set *set,
const struct floc *flocp);
/* Define a variable in the current variable set. */
@ -190,9 +196,9 @@ extern struct variable *define_variable_in_set
(int)(l), (n)); \
}while(0)
extern char **target_environment PARAMS ((struct file *file));
char **target_environment (struct file *file);
extern struct pattern_var *create_pattern_var PARAMS ((char *target, char *suffix));
struct pattern_var *create_pattern_var (char *target, char *suffix);
extern int export_all_variables;

View File

@ -67,10 +67,11 @@ typedef struct DIR
#define NULL 0
#endif
extern DIR *opendir PARAMS (());
extern struct direct *readdir PARAMS ((DIR *dfd));
#define rewinddir(dirp) seekdir((dirp), (long)0)
extern int closedir PARAMS ((DIR *dfd));
extern char *vmsify PARAMS ((char *name, int type));
DIR *opendir ();
struct direct *readdir (DIR *dfd);
int closedir (DIR *dfd);
char *vmsify (char *name, int type);
#endif /* VMSDIR_H */

View File

@ -21,7 +21,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */
#include <descrip.h>
#include <clidef.h>
extern char *vmsify PARAMS ((char *name, int type));
char *vmsify (char *name, int type);
static int vms_jobsefnmask = 0;

View File

@ -48,7 +48,8 @@ static struct vpath *general_vpath;
static struct vpath *gpaths;
static int selective_vpath_search PARAMS ((struct vpath *path, char **file, FILE_TIMESTAMP *mtime_ptr));
static int selective_vpath_search (struct vpath *path, char **file,
FILE_TIMESTAMP *mtime_ptr);
/* Reverse the chain of selective VPATH lists so they
will be searched in the order given in the makefiles