Print this page
make: unifdef for TEAMWARE_MAKE_CMN (defined)
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.
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 27
28 28 /*
29 29 * Included files
30 30 */
31 31
32 32 #include <mksh/defs.h>
33 33
34 34
35 35
36 36 /*
37 37 * Defined macros
38 38 */
39 39
40 40 #define SKIPSPACE(x) while (*x && \
41 41 ((*x == (int) space_char) || \
42 42 (*x == (int) tab_char) || \
43 43 (*x == (int) comma_char))) { \
44 44 x++; \
45 45 }
46 46
47 47 #define SKIPWORD(x) while (*x && \
48 48 (*x != (int) space_char) && \
49 49 (*x != (int) tab_char) && \
50 50 (*x != (int) newline_char) && \
51 51 (*x != (int) comma_char) && \
52 52 (*x != (int) equal_char)) { \
53 53 x++; \
54 54 }
55 55
56 56 #define SKIPTOEND(x) while (*x && \
57 57 (*x != (int) newline_char)) { \
58 58 x++; \
59 59 }
60 60
61 61 #define PMAKE_DEF_MAX_JOBS 2 /* Default number of parallel jobs. */
62 62
63 63 #define OUT_OF_DATE(a,b) \
64 64 (((a) < (b)) || (((a) == file_doesnt_exist) && ((b) == file_doesnt_exist)))
65 65
66 66 #define OUT_OF_DATE_SEC(a,b) \
67 67 (((a).tv_sec < (b).tv_sec) || (((a).tv_sec == file_doesnt_exist.tv_sec) && ((b).tv_sec == file_doesnt_exist.tv_sec)))
68 68
69 69 #define SETVAR(name, value, append) \
70 70 setvar_daemon(name, value, append, no_daemon, \
71 71 true, debug_level)
72 72 #define MAX(a,b) (((a)>(b))?(a):(b))
73 73 /*
74 74 * New feature added to SUN5_0 make, invoke the vanilla svr4 make when
75 75 * the USE_SVR4_MAKE environment variable is set.
76 76 */
77 77 #define SVR4_MAKE "/usr/ccs/lib/svr4.make"
78 78 #define USE_SVR4_MAKE "USE_SVR4_MAKE"
79 79 /*
80 80 * The standard MAXHOSTNAMELEN is 64. We want 32.
81 81 */
82 82 #define MAX_HOSTNAMELEN 32
83 83
84 84
85 85 /*
86 86 * typedefs & structs
87 87 */
88 88 typedef enum {
89 89 no_state,
90 90 scan_name_state,
91 91 scan_command_state,
92 92 enter_dependencies_state,
93 93 enter_conditional_state,
94 94 enter_equal_state,
95 95 illegal_bytes_state,
96 96 illegal_eoln_state,
97 97 poorly_formed_macro_state,
98 98 exit_state
99 99 } Reader_state;
100 100
101 101 struct _Name_vector {
102 102 struct _Name *names[64];
103 103 struct _Chain *target_group[64];
104 104 short used;
105 105 struct _Name_vector *next;
106 106 };
107 107
108 108 struct _Running {
109 109 struct _Running *next;
110 110 Doname state;
111 111 struct _Name *target;
112 112 struct _Name *true_target;
↓ open down ↓ |
112 lines elided |
↑ open up ↑ |
113 113 struct _Property *command;
114 114 struct _Name *sprodep_value;
115 115 char *sprodep_env;
116 116 int recursion_level;
117 117 Boolean do_get;
118 118 Boolean implicit;
119 119 Boolean redo;
120 120 int auto_count;
121 121 struct _Name **automatics;
122 122 pid_t pid;
123 -#ifdef TEAMWARE_MAKE_CMN
124 123 int job_msg_id;
125 -#else
126 - int host;
127 -#endif
128 124 char *stdout_file;
129 125 char *stderr_file;
130 126 struct _Name *temp_file;
131 127 int conditional_cnt;
132 128 struct _Name **conditional_targets;
133 -#ifdef TEAMWARE_MAKE_CMN
134 129 Boolean make_refd;
135 -#endif
136 130 };
137 131
138 132 typedef enum {
139 133 serial_mode,
140 134 parallel_mode,
141 135 distributed_mode
142 136 } DMake_mode;
143 137
144 138 typedef enum {
145 139 txt1_mode,
146 140 txt2_mode,
147 141 html1_mode
148 142 } DMake_output_mode;
149 143
150 144 struct _Recursive_make {
151 145 struct _Recursive_make *next; /* Linked list */
152 146 wchar_t *target;/* Name of target */
153 147 wchar_t *oldline;/* Original line in .nse_depinfo */
154 148 wchar_t *newline;/* New line in .nse_depinfo */
155 149 wchar_t *cond_macrostring;
156 150 /* string built from value of
157 151 * conditional macros used by
158 152 * this target
159 153 */
160 154 Boolean removed;/* This target is no longer recursive*/
161 155 };
162 156
163 157 struct _Dyntarget {
164 158 struct _Dyntarget *next;
165 159 struct _Name *name;
166 160 };
167 161
168 162
169 163 /*
170 164 * Typedefs for all structs
171 165 */
172 166 typedef struct _Cmd_line *Cmd_line, Cmd_line_rec;
173 167 typedef struct _Dependency *Dependency, Dependency_rec;
174 168 typedef struct _Macro *Macro, Macro_rec;
175 169 typedef struct _Name_vector *Name_vector, Name_vector_rec;
176 170 typedef struct _Percent *Percent, Percent_rec;
177 171 typedef struct _Dyntarget *Dyntarget;
178 172 typedef struct _Recursive_make *Recursive_make, Recursive_make_rec;
179 173 typedef struct _Running *Running, Running_rec;
180 174
181 175
182 176 /*
183 177 * extern declarations for all global variables.
184 178 * The actual declarations are in globals.cc
185 179 */
186 180 extern Boolean allrules_read;
187 181 extern Name posix_name;
188 182 extern Name svr4_name;
189 183 extern Boolean sdot_target;
190 184 extern Boolean all_parallel;
191 185 extern Boolean assign_done;
192 186 extern Boolean build_failed_seen;
193 187 extern Name built_last_make_run;
194 188 extern Name c_at;
195 189 extern Boolean command_changed;
196 190 extern Boolean commands_done;
197 191 extern Chain conditional_targets;
198 192 extern Name conditionals;
199 193 extern Boolean continue_after_error;
200 194 extern Property current_line;
201 195 extern Name current_make_version;
202 196 extern Name current_target;
203 197 extern short debug_level;
204 198 extern Cmd_line default_rule;
205 199 extern Name default_rule_name;
206 200 extern Name default_target_to_build;
207 201 extern Boolean depinfo_already_read;
208 202 extern Name dmake_group;
209 203 extern Name dmake_max_jobs;
210 204 extern Name dmake_mode;
211 205 extern DMake_mode dmake_mode_type;
212 206 extern Name dmake_output_mode;
213 207 extern DMake_output_mode output_mode;
214 208 extern Name dmake_odir;
215 209 extern Name dmake_rcfile;
216 210 extern Name done;
217 211 extern Name dot;
218 212 extern Name dot_keep_state;
219 213 extern Name dot_keep_state_file;
220 214 extern Name empty_name;
↓ open down ↓ |
75 lines elided |
↑ open up ↑ |
221 215 extern Boolean fatal_in_progress;
222 216 extern int file_number;
223 217 extern Name force;
224 218 extern Name ignore_name;
225 219 extern Boolean ignore_errors;
226 220 extern Boolean ignore_errors_all;
227 221 extern Name init;
228 222 extern int job_msg_id;
229 223 extern Boolean keep_state;
230 224 extern Name make_state;
231 -#ifdef TEAMWARE_MAKE_CMN
232 225 extern timestruc_t make_state_before;
233 -#endif
234 226 extern Boolean make_state_locked;
235 227 extern Dependency makefiles_used;
236 228 extern Name makeflags;
237 229 extern Name make_version;
238 230 extern char mbs_buffer2[];
239 231 extern char *mbs_ptr;
240 232 extern char *mbs_ptr2;
241 233 extern Boolean no_action_was_taken;
242 234 extern int mtool_msgs_fd;
243 235 extern Boolean no_parallel;
244 236 extern Name no_parallel_name;
245 237 extern Name not_auto;
246 238 extern Boolean only_parallel;
247 239 extern Boolean parallel;
248 240 extern Name parallel_name;
249 241 extern Name localhost_name;
250 242 extern int parallel_process_cnt;
251 243 extern Percent percent_list;
252 244 extern Dyntarget dyntarget_list;
253 245 extern Name plus;
254 246 extern Name pmake_machinesfile;
255 247 extern Name precious;
256 248 extern Name primary_makefile;
257 249 extern Boolean quest;
258 250 extern short read_trace_level;
259 251 extern Boolean reading_dependencies;
260 252 extern int recursion_level;
261 253 extern Name recursive_name;
262 254 extern short report_dependencies_level;
263 255 extern Boolean report_pwd;
264 256 extern Boolean rewrite_statefile;
265 257 extern Running running_list;
266 258 extern char *sccs_dir_path;
267 259 extern Name sccs_get_name;
268 260 extern Name sccs_get_posix_name;
269 261 extern Cmd_line sccs_get_rule;
270 262 extern Cmd_line sccs_get_org_rule;
271 263 extern Cmd_line sccs_get_posix_rule;
272 264 extern Name get_name;
273 265 extern Name get_posix_name;
274 266 extern Cmd_line get_rule;
275 267 extern Cmd_line get_posix_rule;
276 268 extern Boolean send_mtool_msgs;
277 269 extern Boolean all_precious;
278 270 extern Boolean report_cwd;
279 271 extern Boolean silent_all;
280 272 extern Boolean silent;
281 273 extern Name silent_name;
282 274 extern char *stderr_file;
283 275 extern char *stdout_file;
284 276 extern Boolean stdout_stderr_same;
285 277 extern Dependency suffixes;
286 278 extern Name suffixes_name;
287 279 extern Name sunpro_dependencies;
288 280 extern Boolean target_variants;
289 281 extern const char *tmpdir;
290 282 extern const char *temp_file_directory;
291 283 extern Name temp_file_name;
292 284 extern short temp_file_number;
293 285 extern wchar_t *top_level_target;
294 286 extern Boolean touch;
295 287 extern Boolean trace_reader;
296 288 extern Boolean build_unconditional;
297 289 extern pathpt vroot_path;
298 290 extern Name wait_name;
299 291 extern wchar_t wcs_buffer2[];
300 292 extern wchar_t *wcs_ptr;
301 293 extern wchar_t *wcs_ptr2;
302 294 extern nl_catd catd;
303 295 extern long int hostid;
304 296
305 297 /*
306 298 * Declarations of system defined variables
307 299 */
308 300 /* On linux this variable is defined in 'signal.h' */
309 301 extern char *sys_siglist[];
310 302
311 303 /*
312 304 * Declarations of system supplied functions
313 305 */
↓ open down ↓ |
70 lines elided |
↑ open up ↑ |
314 306 extern int file_lock(char *, char *, int *, int);
315 307
316 308 /*
317 309 * Declarations of functions declared and used by make
318 310 */
319 311 extern void add_pending(Name target, int recursion_level, Boolean do_get, Boolean implicit, Boolean redo);
320 312 extern void add_running(Name target, Name true_target, Property command, int recursion_level, int auto_count, Name *automatics, Boolean do_get, Boolean implicit);
321 313 extern void add_serial(Name target, int recursion_level, Boolean do_get, Boolean implicit);
322 314 extern void add_subtree(Name target, int recursion_level, Boolean do_get, Boolean implicit);
323 315 extern void append_or_replace_macro_in_dyn_array(ASCII_Dyn_Array *Ar, char *macro);
324 -#ifdef TEAMWARE_MAKE_CMN
325 316 extern void await_parallel(Boolean waitflg);
326 -#endif
327 317 extern void build_suffix_list(Name target_suffix);
328 318 extern Boolean check_auto_dependencies(Name target, int auto_count, Name *automatics);
329 319 extern void check_state(Name temp_file_name);
330 320 extern void cond_macros_into_string(Name np, String_rec *buffer);
331 321 extern void construct_target_string();
332 322 extern void create_xdrs_ptr(void);
333 323 extern void depvar_add_to_list (Name name, Boolean cmdline);
334 324 extern Doname doname(register Name target, register Boolean do_get, register Boolean implicit, register Boolean automatic = false);
335 325 extern Doname doname_check(register Name target, register Boolean do_get, register Boolean implicit, register Boolean automatic);
336 326 extern Doname doname_parallel(Name target, Boolean do_get, Boolean implicit);
337 327 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);
338 328 extern void dump_make_state(void);
339 329 extern void dump_target_list(void);
340 330 extern void enter_conditional(register Name target, Name name, Name value, register Boolean append);
341 331 extern void enter_dependencies(register Name target, Chain target_group, register Name_vector depes, register Cmd_line command, register Separator separator);
342 332 extern void enter_dependency(Property line, register Name depe, Boolean automatic);
343 333 extern void enter_equal(Name name, Name value, register Boolean append);
344 334 extern Percent enter_percent(register Name target, Chain target_group, register Name_vector depes, Cmd_line command);
345 335 extern Dyntarget enter_dyntarget(register Name target);
346 336 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);
347 337 extern Boolean exec_vp(register char *name, register char **argv, char **envp, register Boolean ignore_error);
348 338 extern Doname execute_parallel(Property line, Boolean waitflg, Boolean local = false);
349 339 extern Doname execute_serial(Property line);
350 340 extern timestruc_t& exists(register Name target);
351 341 extern void fatal(const char *, ...);
352 342 extern void fatal_reader(char *, ...);
353 343 extern Doname find_ar_suffix_rule(register Name target, Name true_target, Property *command, Boolean rechecking);
354 344 extern Doname find_double_suffix_rule(register Name target, Property *command, Boolean rechecking);
355 345 extern Doname find_percent_rule(register Name target, Property *command, Boolean rechecking);
356 346 extern int find_run_directory (char *cmd, char *cwd, char *dir, char **pgm, char **run, char *path);
357 347 extern Doname find_suffix_rule(Name target, Name target_body, Name target_suffix, Property *command, Boolean rechecking);
358 348 extern Chain find_target_groups(register Name_vector target_list, register int i, Boolean reset);
359 349 extern void finish_children(Boolean docheck);
360 350 extern void finish_running(void);
361 351 extern void free_chain(Name_vector ptr);
362 352 extern void gather_recursive_deps(void);
363 353 extern char *get_current_path(void);
364 354 extern int get_job_msg_id(void);
365 355 extern FILE *get_mtool_msgs_fp(void);
366 356 extern wchar_t *getmem_wc(register int size);
367 357 /* On linux getwd(char *) is defined in 'unistd.h' */
368 358 #ifdef __cplusplus
369 359 extern "C" {
370 360 #endif
371 361 extern char *getwd(char *);
372 362 #ifdef __cplusplus
373 363 }
374 364 #endif
375 365 extern void handle_interrupt(int);
376 366 extern Boolean is_running(Name target);
377 367 extern void load_cached_names(void);
378 368 extern Boolean parallel_ok(Name target, Boolean line_prop_must_exists);
379 369 extern void print_dependencies(register Name target, register Property line);
380 370 extern void send_job_start_msg(Property line);
381 371 extern void send_rsrc_info_msg(int max_jobs, char *hostname, char *username);
382 372 extern void print_value(register Name value, Daemon daemon);
383 373 extern timestruc_t& read_archive(register Name target);
384 374 extern int read_dir(Name dir, wchar_t *pattern, Property line, wchar_t *library);
385 375 extern void read_directory_of_file(register Name file);
386 376 extern int read_make_machines(Name make_machines_name);
387 377 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);
388 378 extern void remove_recursive_dep(Name target);
389 379 extern void report_recursive_dep(Name target, char *line);
390 380 extern void report_recursive_done(void);
391 381 extern void report_recursive_init(void);
392 382 extern Recursive_make find_recursive_target(Name target);
393 383 extern void reset_locals(register Name target, register Property old_locals, register Property conditional, register int index);
394 384 extern void set_locals(register Name target, register Property old_locals);
395 385 extern void setvar_append(register Name name, register Name value);
396 386 extern void setvar_envvar(void);
397 387 extern void special_reader(Name target, register Name_vector depes, Cmd_line command);
398 388 extern void startup_rxm();
399 389 extern Doname target_can_be_built(register Name target);
400 390 extern char *time_to_string(const timestruc_t &time);
401 391 extern void update_target(Property line, Doname result);
402 392 extern void warning(char *, ...);
403 393 extern void write_state_file(int report_recursive, Boolean exiting);
404 394 extern Name vpath_translation(register Name cmd);
405 395
406 396 #define DEPINFO_FMT_VERSION "VERS2$"
407 397 #define VER_LEN strlen(DEPINFO_FMT_VERSION)
408 398
409 399
410 400 #endif
↓ open down ↓ |
74 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX