diff options
-rw-r--r-- | ChangeLog | 17 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | NEWS | 6 | ||||
-rw-r--r-- | amiga.h | 5 | ||||
-rw-r--r-- | ar.c | 10 | ||||
-rw-r--r-- | arscan.c | 2 | ||||
-rw-r--r-- | commands.c | 4 | ||||
-rw-r--r-- | commands.h | 10 | ||||
-rw-r--r-- | config.h-vms.template | 8 | ||||
-rw-r--r-- | configure.in | 5 | ||||
-rw-r--r-- | dep.h | 30 | ||||
-rw-r--r-- | dir.c | 12 | ||||
-rw-r--r-- | expand.c | 2 | ||||
-rw-r--r-- | filedef.h | 31 | ||||
-rw-r--r-- | function.c | 4 | ||||
-rw-r--r-- | implicit.c | 5 | ||||
-rw-r--r-- | job.c | 48 | ||||
-rw-r--r-- | job.h | 24 | ||||
-rw-r--r-- | main.c | 46 | ||||
-rw-r--r-- | make.h | 169 | ||||
-rw-r--r-- | read.c | 43 | ||||
-rw-r--r-- | remake.c | 17 | ||||
-rw-r--r-- | rule.c | 2 | ||||
-rw-r--r-- | rule.h | 16 | ||||
-rw-r--r-- | variable.h | 90 | ||||
-rw-r--r-- | vmsdir.h | 9 | ||||
-rw-r--r-- | vmsjobs.c | 2 | ||||
-rw-r--r-- | vpath.c | 3 |
28 files changed, 314 insertions, 308 deletions
@@ -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. diff --git a/Makefile.am b/Makefile.am index 82274bb..2f612e6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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@ @@ -9,6 +9,12 @@ 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 * GNU make is ported to OS/2. @@ -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); @@ -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. */ @@ -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; @@ -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. */ @@ -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); diff --git a/config.h-vms.template b/config.h-vms.template index 2d3d04d..00e4e69 100644 --- a/config.h-vms.template +++ b/config.h-vms.template @@ -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 */ diff --git a/configure.in b/configure.in index 5b914bf..6b417f0 100644 --- a/configure.in +++ b/configure.in @@ -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) @@ -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 *); @@ -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 @@ -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) @@ -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) @@ -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[] = @@ -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. @@ -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)); - -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)); - -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 *)); +char *allocated_variable_expand_for_file (char *line, struct file *file); + +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 (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. */ @@ -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; @@ -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 @@ -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, ...) - __attribute__ ((__format__ (__printf__, 2, 3))); -extern 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 message (int prefix, const char *fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +void error (const struct floc *flocp, const char *fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +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 (); -#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 message (); +void error (); +void fatal (); +#endif + +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 @@ -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 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, - 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)); +static int eval_makefile (char *filename, int flags); +static int eval (struct ebuffer *buffer, int flags); + +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 (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. */ @@ -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 @@ -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. */ @@ -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); @@ -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)); - -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_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); + +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; @@ -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 */ @@ -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; @@ -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 |