Print this page
make: remove SCCS ident stuff
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/cmd/make/include/mk/defs.h
+++ new/usr/src/cmd/make/include/mk/defs.h
1 1 #ifndef _MK_DEFS_H
2 2 #define _MK_DEFS_H
3 3 /*
4 4 * CDDL HEADER START
5 5 *
6 6 * The contents of this file are subject to the terms of the
7 7 * Common Development and Distribution License (the "License").
8 8 * You may not use this file except in compliance with the License.
9 9 *
10 10 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11 11 * or http://www.opensolaris.org/os/licensing.
12 12 * See the License for the specific language governing permissions
13 13 * and limitations under the License.
14 14 *
15 15 * When distributing Covered Code, include this CDDL HEADER in each
16 16 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
↓ open down ↓ |
16 lines elided |
↑ open up ↑ |
17 17 * If applicable, add the following below this CDDL HEADER, with the
18 18 * fields enclosed by brackets "[]" replaced with your own identifying
19 19 * information: Portions Copyright [yyyy] [name of copyright owner]
20 20 *
21 21 * CDDL HEADER END
22 22 */
23 23 /*
24 24 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
25 25 * Use is subject to license terms.
26 26 */
27 -/*
28 - * @(#)defs.h 1.61 06/12/12
29 - */
30 -
31 -#pragma ident "@(#)defs.h 1.61 06/12/12"
32 27
33 28 /*
34 29 * Included files
35 30 */
36 31 #ifdef DISTRIBUTED
37 32 # include <dm/Avo_AcknowledgeMsg.h>
38 33 # include <dm/Avo_DoJobMsg.h>
39 34 # include <dm/Avo_JobResultMsg.h>
40 35 #endif
41 36
42 37 #include <mksh/defs.h>
43 38
44 39 #if defined(DISTRIBUTED) || defined(MAKETOOL) /* tolik */
45 40 # include <rw/xdrstrea.h>
46 41 #endif
47 42
48 43
49 44 /*
50 45 * Defined macros
51 46 */
52 47
53 48 #define SKIPSPACE(x) while (*x && \
54 49 ((*x == (int) space_char) || \
55 50 (*x == (int) tab_char) || \
56 51 (*x == (int) comma_char))) { \
57 52 x++; \
58 53 }
59 54
60 55 #define SKIPWORD(x) while (*x && \
61 56 (*x != (int) space_char) && \
62 57 (*x != (int) tab_char) && \
63 58 (*x != (int) newline_char) && \
64 59 (*x != (int) comma_char) && \
65 60 (*x != (int) equal_char)) { \
66 61 x++; \
67 62 }
68 63
69 64 #define SKIPTOEND(x) while (*x && \
70 65 (*x != (int) newline_char)) { \
↓ open down ↓ |
29 lines elided |
↑ open up ↑ |
71 66 x++; \
72 67 }
73 68
74 69 #define PMAKE_DEF_MAX_JOBS 2 /* Default number of parallel jobs. */
75 70
76 71 #define OUT_OF_DATE(a,b) \
77 72 (((a) < (b)) || (((a) == file_doesnt_exist) && ((b) == file_doesnt_exist)))
78 73
79 74 #define OUT_OF_DATE_SEC(a,b) \
80 75 (((a).tv_sec < (b).tv_sec) || (((a).tv_sec == file_doesnt_exist.tv_sec) && ((b).tv_sec == file_doesnt_exist.tv_sec)))
81 -
76 +
82 77 #define SETVAR(name, value, append) \
83 78 setvar_daemon(name, value, append, no_daemon, \
84 79 true, debug_level)
85 80 #ifdef SUN5_0
86 81 #define MAX(a,b) (((a)>(b))?(a):(b))
87 82 /*
88 83 * New feature added to SUN5_0 make, invoke the vanilla svr4 make when
89 84 * the USE_SVR4_MAKE environment variable is set.
90 85 */
91 86 #define SVR4_MAKE "/usr/ccs/lib/svr4.make"
92 87 #define USE_SVR4_MAKE "USE_SVR4_MAKE"
93 88 #endif
94 89 /*
95 90 * The standard MAXHOSTNAMELEN is 64. We want 32.
96 91 */
97 92 #define MAX_HOSTNAMELEN 32
98 93
99 94
100 95 /*
101 96 * typedefs & structs
102 97 */
103 98 typedef enum {
104 99 no_state,
105 100 scan_name_state,
106 101 scan_command_state,
107 102 enter_dependencies_state,
108 103 enter_conditional_state,
109 104 enter_equal_state,
110 105 illegal_bytes_state,
111 106 illegal_eoln_state,
112 107 poorly_formed_macro_state,
113 108 exit_state
114 109 } Reader_state;
115 110
116 111 struct _Name_vector {
117 112 struct _Name *names[64];
118 113 struct _Chain *target_group[64];
119 114 short used;
120 115 struct _Name_vector *next;
121 116 };
122 117
123 118 struct _Running {
124 119 struct _Running *next;
125 120 Doname state;
126 121 struct _Name *target;
127 122 struct _Name *true_target;
128 123 struct _Property *command;
129 124 struct _Name *sprodep_value;
130 125 char *sprodep_env;
131 126 int recursion_level;
132 127 Boolean do_get;
133 128 Boolean implicit;
134 129 Boolean redo;
135 130 int auto_count;
136 131 struct _Name **automatics;
137 132 pid_t pid;
138 133 #ifdef TEAMWARE_MAKE_CMN
139 134 int job_msg_id;
140 135 #else
141 136 int host;
142 137 #endif
143 138 char *stdout_file;
144 139 char *stderr_file;
145 140 struct _Name *temp_file;
146 141 int conditional_cnt;
147 142 struct _Name **conditional_targets;
148 143 #ifdef TEAMWARE_MAKE_CMN
149 144 Boolean make_refd;
150 145 #endif
151 146 };
152 147
153 148 typedef enum {
154 149 serial_mode,
155 150 parallel_mode,
156 151 distributed_mode
157 152 } DMake_mode;
158 153
159 154 typedef enum {
↓ open down ↓ |
68 lines elided |
↑ open up ↑ |
160 155 txt1_mode,
161 156 txt2_mode,
162 157 html1_mode
163 158 } DMake_output_mode;
164 159
165 160 struct _Recursive_make {
166 161 struct _Recursive_make *next; /* Linked list */
167 162 wchar_t *target;/* Name of target */
168 163 wchar_t *oldline;/* Original line in .nse_depinfo */
169 164 wchar_t *newline;/* New line in .nse_depinfo */
170 - wchar_t *cond_macrostring;
171 - /* string built from value of
172 - * conditional macros used by
165 + wchar_t *cond_macrostring;
166 + /* string built from value of
167 + * conditional macros used by
173 168 * this target
174 169 */
175 170 Boolean removed;/* This target is no longer recursive*/
176 171 };
177 172
178 173 struct _Dyntarget {
179 174 struct _Dyntarget *next;
180 175 struct _Name *name;
181 176 };
182 177
183 178
184 179 /*
185 180 * Typedefs for all structs
186 181 */
187 182 typedef struct _Cmd_line *Cmd_line, Cmd_line_rec;
188 183 typedef struct _Dependency *Dependency, Dependency_rec;
189 184 typedef struct _Macro *Macro, Macro_rec;
190 185 typedef struct _Name_vector *Name_vector, Name_vector_rec;
191 186 typedef struct _Percent *Percent, Percent_rec;
192 187 typedef struct _Dyntarget *Dyntarget;
193 188 typedef struct _Recursive_make *Recursive_make, Recursive_make_rec;
194 189 typedef struct _Running *Running, Running_rec;
195 190
196 191
197 192 /*
198 193 * extern declarations for all global variables.
199 194 * The actual declarations are in globals.cc
200 195 */
201 196 extern Boolean allrules_read;
202 197 extern Name posix_name;
203 198 extern Name svr4_name;
204 199 extern Boolean sdot_target;
205 200 extern Boolean all_parallel;
206 201 extern Boolean assign_done;
207 202 extern Boolean build_failed_seen;
208 203 #ifdef DISTRIBUTED
209 204 extern Boolean building_serial;
210 205 #endif
211 206 extern Name built_last_make_run;
212 207 extern Name c_at;
213 208 #ifdef DISTRIBUTED
214 209 extern Boolean called_make;
215 210 #endif
216 211 extern Boolean command_changed;
217 212 extern Boolean commands_done;
218 213 extern Chain conditional_targets;
219 214 extern Name conditionals;
220 215 extern Boolean continue_after_error;
221 216 extern Property current_line;
222 217 extern Name current_make_version;
223 218 extern Name current_target;
224 219 extern short debug_level;
225 220 extern Cmd_line default_rule;
226 221 extern Name default_rule_name;
227 222 extern Name default_target_to_build;
228 223 extern Boolean depinfo_already_read;
229 224 extern Name dmake_group;
230 225 extern Name dmake_max_jobs;
231 226 extern Name dmake_mode;
232 227 extern DMake_mode dmake_mode_type;
233 228 extern Name dmake_output_mode;
234 229 extern DMake_output_mode output_mode;
235 230 extern Name dmake_odir;
236 231 extern Name dmake_rcfile;
237 232 extern Name done;
238 233 extern Name dot;
239 234 extern Name dot_keep_state;
240 235 extern Name dot_keep_state_file;
241 236 extern Name empty_name;
242 237 extern Boolean fatal_in_progress;
243 238 extern int file_number;
244 239 extern Name force;
245 240 extern Name ignore_name;
246 241 extern Boolean ignore_errors;
247 242 extern Boolean ignore_errors_all;
248 243 extern Name init;
249 244 extern int job_msg_id;
250 245 extern Boolean keep_state;
251 246 extern Name make_state;
252 247 #ifdef TEAMWARE_MAKE_CMN
253 248 extern timestruc_t make_state_before;
254 249 #endif
255 250 extern Boolean make_state_locked;
256 251 extern Dependency makefiles_used;
257 252 extern Name makeflags;
258 253 extern Name make_version;
259 254 extern char mbs_buffer2[];
260 255 extern char *mbs_ptr;
261 256 extern char *mbs_ptr2;
262 257 extern Boolean no_action_was_taken;
263 258 extern int mtool_msgs_fd;
264 259 extern Boolean no_parallel;
265 260 #ifdef SGE_SUPPORT
266 261 extern Boolean grid;
267 262 #endif
268 263 extern Name no_parallel_name;
269 264 extern Name not_auto;
270 265 extern Boolean only_parallel;
271 266 extern Boolean parallel;
272 267 extern Name parallel_name;
273 268 extern Name localhost_name;
274 269 extern int parallel_process_cnt;
275 270 extern Percent percent_list;
276 271 extern Dyntarget dyntarget_list;
277 272 extern Name plus;
278 273 extern Name pmake_machinesfile;
279 274 extern Name precious;
280 275 extern Name primary_makefile;
281 276 extern Boolean quest;
282 277 extern short read_trace_level;
283 278 extern Boolean reading_dependencies;
284 279 extern int recursion_level;
285 280 extern Name recursive_name;
286 281 extern short report_dependencies_level;
287 282 extern Boolean report_pwd;
288 283 extern Boolean rewrite_statefile;
289 284 extern Running running_list;
290 285 extern char *sccs_dir_path;
291 286 extern Name sccs_get_name;
292 287 extern Name sccs_get_posix_name;
293 288 extern Cmd_line sccs_get_rule;
294 289 extern Cmd_line sccs_get_org_rule;
295 290 extern Cmd_line sccs_get_posix_rule;
296 291 extern Name get_name;
297 292 extern Name get_posix_name;
298 293 extern Cmd_line get_rule;
299 294 extern Cmd_line get_posix_rule;
300 295 extern Boolean send_mtool_msgs;
301 296 extern Boolean all_precious;
302 297 extern Boolean report_cwd;
303 298 extern Boolean silent_all;
304 299 extern Boolean silent;
305 300 extern Name silent_name;
306 301 extern char *stderr_file;
307 302 extern char *stdout_file;
308 303 #ifdef SGE_SUPPORT
309 304 extern char script_file[];
310 305 #endif
311 306 extern Boolean stdout_stderr_same;
312 307 extern Dependency suffixes;
313 308 extern Name suffixes_name;
314 309 extern Name sunpro_dependencies;
315 310 extern Boolean target_variants;
316 311 extern char *tmpdir;
317 312 extern char *temp_file_directory;
318 313 extern Name temp_file_name;
319 314 extern short temp_file_number;
320 315 extern wchar_t *top_level_target;
321 316 extern Boolean touch;
322 317 extern Boolean trace_reader;
323 318 extern Boolean build_unconditional;
324 319 extern pathpt vroot_path;
325 320 extern Name wait_name;
326 321 extern wchar_t wcs_buffer2[];
327 322 extern wchar_t *wcs_ptr;
328 323 extern wchar_t *wcs_ptr2;
329 324 extern nl_catd catd;
330 325 extern long int hostid;
331 326
332 327 /*
333 328 * Declarations of system defined variables
334 329 */
335 330 #if !defined(linux)
336 331 /* On linux this variable is defined in 'signal.h' */
337 332 extern char *sys_siglist[];
338 333 #endif
339 334
340 335 /*
341 336 * Declarations of system supplied functions
342 337 */
343 338 extern int file_lock(char *, char *, int *, int);
344 339
345 340 /*
346 341 * Declarations of functions declared and used by make
347 342 */
348 343 extern void add_pending(Name target, int recursion_level, Boolean do_get, Boolean implicit, Boolean redo);
349 344 extern void add_running(Name target, Name true_target, Property command, int recursion_level, int auto_count, Name *automatics, Boolean do_get, Boolean implicit);
350 345 extern void add_serial(Name target, int recursion_level, Boolean do_get, Boolean implicit);
351 346 extern void add_subtree(Name target, int recursion_level, Boolean do_get, Boolean implicit);
352 347 extern void append_or_replace_macro_in_dyn_array(ASCII_Dyn_Array *Ar, char *macro);
353 348 #ifdef DISTRIBUTED
354 349 extern Doname await_dist(Boolean waitflg);
355 350 #endif
356 351 #ifdef TEAMWARE_MAKE_CMN
357 352 extern void await_parallel(Boolean waitflg);
358 353 #endif
359 354 extern void build_suffix_list(Name target_suffix);
360 355 extern Boolean check_auto_dependencies(Name target, int auto_count, Name *automatics);
361 356 extern void check_state(Name temp_file_name);
362 357 extern void cond_macros_into_string(Name np, String_rec *buffer);
363 358 extern void construct_target_string();
364 359 extern void create_xdrs_ptr(void);
365 360 extern void depvar_add_to_list (Name name, Boolean cmdline);
366 361 #ifdef DISTRIBUTED
367 362 extern void distribute_rxm(Avo_DoJobMsg *dmake_job_msg);
368 363 extern int getRxmMessage(void);
369 364 extern Avo_JobResultMsg* getJobResultMsg(void);
370 365 extern Avo_AcknowledgeMsg* getAcknowledgeMsg(void);
371 366 #endif
372 367 extern Doname doname(register Name target, register Boolean do_get, register Boolean implicit, register Boolean automatic = false);
373 368 extern Doname doname_check(register Name target, register Boolean do_get, register Boolean implicit, register Boolean automatic);
374 369 extern Doname doname_parallel(Name target, Boolean do_get, Boolean implicit);
375 370 extern Doname dosys(register Name command, register Boolean ignore_error, register Boolean call_make, Boolean silent_error, Boolean always_exec, Name target, Boolean redirect_out_err);
376 371 extern void dump_make_state(void);
377 372 extern void dump_target_list(void);
378 373 extern void enter_conditional(register Name target, Name name, Name value, register Boolean append);
379 374 extern void enter_dependencies(register Name target, Chain target_group, register Name_vector depes, register Cmd_line command, register Separator separator);
380 375 extern void enter_dependency(Property line, register Name depe, Boolean automatic);
381 376 extern void enter_equal(Name name, Name value, register Boolean append);
382 377 extern Percent enter_percent(register Name target, Chain target_group, register Name_vector depes, Cmd_line command);
383 378 extern Dyntarget enter_dyntarget(register Name target);
384 379 extern Name_vector enter_name(String string, Boolean tail_present, register wchar_t *string_start, register wchar_t *string_end, Name_vector current_names, Name_vector *extra_names, Boolean *target_group_seen);
385 380 extern Boolean exec_vp(register char *name, register char **argv, char **envp, register Boolean ignore_error);
386 381 extern Doname execute_parallel(Property line, Boolean waitflg, Boolean local = false);
387 382 extern Doname execute_serial(Property line);
388 383 extern timestruc_t& exists(register Name target);
389 384 extern void fatal(char *, ...);
390 385 extern void fatal_reader(char *, ...);
391 386 extern Doname find_ar_suffix_rule(register Name target, Name true_target, Property *command, Boolean rechecking);
392 387 extern Doname find_double_suffix_rule(register Name target, Property *command, Boolean rechecking);
393 388 extern Doname find_percent_rule(register Name target, Property *command, Boolean rechecking);
394 389 extern int find_run_directory (char *cmd, char *cwd, char *dir, char **pgm, char **run, char *path);
395 390 extern Doname find_suffix_rule(Name target, Name target_body, Name target_suffix, Property *command, Boolean rechecking);
396 391 extern Chain find_target_groups(register Name_vector target_list, register int i, Boolean reset);
397 392 extern void finish_children(Boolean docheck);
398 393 extern void finish_running(void);
399 394 extern void free_chain(Name_vector ptr);
400 395 extern void gather_recursive_deps(void);
401 396 extern char *get_current_path(void);
402 397 extern int get_job_msg_id(void);
403 398 extern FILE *get_mtool_msgs_fp(void);
404 399 #ifdef DISTRIBUTED
405 400 extern Boolean get_dmake_group_specified(void);
406 401 extern Boolean get_dmake_max_jobs_specified(void);
407 402 extern Boolean get_dmake_mode_specified(void);
408 403 extern Boolean get_dmake_odir_specified(void);
409 404 extern Boolean get_dmake_rcfile_specified(void);
410 405 extern Boolean get_pmake_machinesfile_specified(void);
411 406 #endif
412 407 #if defined(DISTRIBUTED) || defined(MAKETOOL) /* tolik */
413 408 extern XDR *get_xdrs_ptr(void);
414 409 #endif
415 410 extern wchar_t *getmem_wc(register int size);
416 411 #if !defined(linux)
417 412 /* On linux getwd(char *) is defined in 'unistd.h' */
418 413 #ifdef __cplusplus
419 414 extern "C" {
420 415 #endif
421 416 extern char *getwd(char *);
422 417 #ifdef __cplusplus
423 418 }
424 419 #endif
425 420 #endif
426 421 extern void handle_interrupt(int);
427 422 extern Boolean is_running(Name target);
428 423 extern void load_cached_names(void);
429 424 extern Boolean parallel_ok(Name target, Boolean line_prop_must_exists);
430 425 extern void print_dependencies(register Name target, register Property line);
431 426 extern void send_job_start_msg(Property line);
432 427 extern void send_rsrc_info_msg(int max_jobs, char *hostname, char *username);
433 428 extern void print_value(register Name value, Daemon daemon);
434 429 extern timestruc_t& read_archive(register Name target);
435 430 extern int read_dir(Name dir, wchar_t *pattern, Property line, wchar_t *library);
436 431 extern void read_directory_of_file(register Name file);
437 432 extern int read_make_machines(Name make_machines_name);
438 433 extern Boolean read_simple_file(register Name makefile_name, register Boolean chase_path, register Boolean doname_it, Boolean complain, Boolean must_exist, Boolean report_file, Boolean lock_makefile);
439 434 extern void remove_recursive_dep(Name target);
440 435 extern void report_recursive_dep(Name target, char *line);
441 436 extern void report_recursive_done(void);
442 437 extern void report_recursive_init(void);
443 438 extern Recursive_make find_recursive_target(Name target);
444 439 extern void reset_locals(register Name target, register Property old_locals, register Property conditional, register int index);
445 440 extern void set_locals(register Name target, register Property old_locals);
446 441 extern void setvar_append(register Name name, register Name value);
447 442 #ifdef DISTRIBUTED
448 443 extern void setvar_envvar(Avo_DoJobMsg *dmake_job_msg);
449 444 #else
450 445 extern void setvar_envvar(void);
451 446 #endif
452 447 extern void special_reader(Name target, register Name_vector depes, Cmd_line command);
453 448 extern void startup_rxm();
454 449 extern Doname target_can_be_built(register Name target);
455 450 extern char *time_to_string(const timestruc_t &time);
↓ open down ↓ |
273 lines elided |
↑ open up ↑ |
456 451 extern void update_target(Property line, Doname result);
457 452 extern void warning(char *, ...);
458 453 extern void write_state_file(int report_recursive, Boolean exiting);
459 454 extern Name vpath_translation(register Name cmd);
460 455
461 456 #define DEPINFO_FMT_VERSION "VERS2$"
462 457 #define VER_LEN strlen(DEPINFO_FMT_VERSION)
463 458
464 459 #ifdef NSE
465 460
466 -/*
461 +/*
467 462 * NSE version for depinfo format
468 463 */
469 464 extern Boolean nse;
470 465 extern Name nse_backquote_seen;
471 466 extern Boolean nse_did_recursion;
472 467 extern Name nse_shell_var_used;
473 468 extern Boolean nse_watch_vars;
474 469 extern wchar_t current_makefile[MAXPATHLEN];
475 470 extern Boolean nse_depinfo_locked;
476 471 extern char nse_depinfo_lockfile[MAXPATHLEN];
477 472 extern Name derived_src;
478 473
479 474 extern void depvar_dep_macro_used(Name);
480 475 extern void depvar_rule_macro_used(Name);
481 476 extern Boolean nse_backquotes(wchar_t *);
482 477 extern void nse_check_cd(Property);
483 478 extern void nse_check_derived_src(Name, wchar_t *, Cmd_line);
484 479 extern void nse_check_file_backquotes(wchar_t *);
485 480 extern void nse_check_no_deps_no_rule(Name, Property, Property);
486 481 extern void nse_check_sccs(wchar_t *, wchar_t *);
487 482 extern void nse_dep_cmdmacro(wchar_t *);
488 483 extern int nse_exit_status(void);
489 484 extern void nse_init_source_suffixes(void);
490 485 extern void nse_no_makefile(Name);
491 486 extern void nse_rule_cmdmacro(wchar_t *);
492 487 extern void nse_wildcard(wchar_t *, wchar_t *);
493 488 #endif
494 489
495 490 #endif
↓ open down ↓ |
19 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX