From e4da30858037b431880263676e8f90b1f8412a38 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sat, 18 Nov 2006 20:53:44 +0000 Subject: Fix from Eli for incorrect value of $(MAKE) on Cygwin. A few changes from char* to void* where appropriate, and removing of unnecessary casts. Much more work on const-ifying the codebase. This round involves some code changes to make it correct. NOTE!! There will almost certainly be problems on the non-POSIX ports that will need to be addressed after the const changes are finished: they will need to be const-ified properly and there may need to be some changes to allocate memory, etc. as well. The next (last?) big push for this, still to come, is const-ifying the filenames in struct file, struct dep, etc. This will allow us to store file names in the string cache and finally resolve Savannah bug #15182 (make uses too much memory), among other advantages. --- make.h | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) (limited to 'make.h') diff --git a/make.h b/make.h index 316d9c7..08f5543 100644 --- a/make.h +++ b/make.h @@ -396,17 +396,28 @@ char *find_percent (char *); FILE *open_tmpfile (char **, const char *); #ifndef NO_ARCHIVES -int ar_name (char *); -void ar_parse_name (char *, char **, char **); -int ar_touch (char *); -time_t ar_member_date (char *); +int ar_name (const char *); +void ar_parse_name (const char *, char **, char **); +int ar_touch (const char *); +time_t ar_member_date (const char *); + +typedef long int (*ar_member_func_t) (int desc, const char *mem, int truncated, + long int hdrpos, long int datapos, + long int size, long int date, int uid, + int gid, int mode, const void *arg); + +long int ar_scan (const char *archive, ar_member_func_t function, const void *arg); +int ar_name_equal (const char *name, const char *mem, int truncated); +#ifndef VMS +int ar_member_touch (const char *arname, const char *memname); +#endif #endif -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 *); +int dir_file_exists_p (const char *, const char *); +int file_exists_p (const char *); +int file_impossible_p (const char *); +void file_impossible (const char *); +const char *dir_name (const char *); void hash_init_directories (void); void define_default_variables (void); @@ -417,7 +428,7 @@ void install_default_implicit_rules (void); 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); +int gpath_search (const char *file, unsigned int len); void construct_include_path (char **arg_dirs); @@ -477,6 +488,8 @@ extern int second_expansion, clock_skew_detected, rebuilding_makefiles; /* can we run commands via 'sh -c xxx' or must we use batch files? */ extern int batch_mode_shell; +extern char cmd_prefix; + extern unsigned int job_slots; extern int job_fds[2]; extern int job_rfd; @@ -574,4 +587,3 @@ extern int handling_fatal_signal; #define ENULLLOOP(_v,_c) do{ errno = 0; \ while (((_v)=_c)==0 && errno==EINTR); }while(0) - -- cgit v1.2.3