summaryrefslogtreecommitdiff
path: root/make.h
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2006-11-18 20:53:44 +0000
committerPaul Smith <psmith@gnu.org>2006-11-18 20:53:44 +0000
commite4da30858037b431880263676e8f90b1f8412a38 (patch)
tree2605109d089f52e373bd976391dca85774ae3b21 /make.h
parent7595f38f62afa7ac3451018d865fb251e3ce91c3 (diff)
downloadgunmake-e4da30858037b431880263676e8f90b1f8412a38.tar.gz
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.
Diffstat (limited to 'make.h')
-rw-r--r--make.h34
1 files changed, 23 insertions, 11 deletions
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)
-