1 /*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21 /*
22 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
24 */
25 /*
26 * @(#)globals.cc 1.42 06/12/12
27 */
28
29 #pragma ident "@(#)globals.cc 1.42 06/12/12"
30
31 /*
32 * globals.cc
33 *
34 * This declares all global variables
35 */
36
37 /*
38 * Included files
39 */
40 #include <nl_types.h>
41 #include <mk/defs.h>
42 #include <sys/stat.h>
43
44 /*
45 * Defined macros
46 */
47
48 /*
49 * typedefs & structs
50 */
51
52 /*
53 * Global variables used by make only
54 */
55 FILE *dependency_report_file;
56
57 /*
58 * Global variables used by make
59 */
60 Boolean allrules_read=false;
61 Name posix_name;
62 Name svr4_name;
63 Boolean sdot_target; /* used to identify s.m(/M)akefile */
64 Boolean all_parallel; /* TEAMWARE_MAKE_CMN */
65 Boolean assign_done;
66 int foo;
67 Boolean build_failed_seen;
68 #ifdef DISTRIBUTED
69 Boolean building_serial;
70 #endif
71 Name built_last_make_run;
72 Name c_at;
73 #ifdef DISTRIBUTED
74 Boolean called_make = false;
75 #endif
76 Boolean cleanup;
77 Boolean close_report;
78 Boolean command_changed;
79 Boolean commands_done;
80 Chain conditional_targets;
81 Name conditionals;
82 Boolean continue_after_error; /* `-k' */
83 Property current_line;
84 Name current_make_version;
85 Name current_target;
86 short debug_level;
87 Cmd_line default_rule;
88 Name default_rule_name;
89 Name default_target_to_build;
90 Name dmake_group;
91 Name dmake_max_jobs;
92 Name dmake_mode;
93 DMake_mode dmake_mode_type;
94 Name dmake_output_mode;
95 DMake_output_mode output_mode = txt1_mode;
96 Name dmake_odir;
97 Name dmake_rcfile;
98 Name done;
99 Name dot;
100 Name dot_keep_state;
101 Name dot_keep_state_file;
102 Name empty_name;
103 #if defined(HP_UX) || defined(linux)
104 int exit_status;
105 #endif
106 Boolean fatal_in_progress;
107 int file_number;
108 #if 0
109 Boolean filter_stderr; /* `-X' */
110 #endif
111 Name force;
112 Name ignore_name;
113 Boolean ignore_errors; /* `-i' */
114 Boolean ignore_errors_all; /* `-i' */
115 Name init;
116 int job_msg_id;
117 Boolean keep_state;
118 Name make_state;
119 #ifdef TEAMWARE_MAKE_CMN
120 timestruc_t make_state_before;
121 #endif
122 Dependency makefiles_used;
123 Name makeflags;
124 // Boolean make_state_locked; // Moved to lib/mksh
125 Name make_version;
126 char mbs_buffer2[(MAXPATHLEN * MB_LEN_MAX)];
127 char *mbs_ptr;
128 char *mbs_ptr2;
129 int mtool_msgs_fd;
130 Boolean depinfo_already_read = false;
131 #ifdef NSE
132 Name derived_src;
133 Boolean nse; /* NSE on */
134 Name nse_backquote_seen;
135 char nse_depinfo_lockfile[MAXPATHLEN];
136 Boolean nse_depinfo_locked;
137 Boolean nse_did_recursion;
138 Name nse_shell_var_used;
139 Boolean nse_watch_vars = false;
140 wchar_t current_makefile[MAXPATHLEN];
141 #endif
142 Boolean no_action_was_taken = true; /* true if we've not **
143 ** run any command */
144
145 Boolean no_parallel = false; /* TEAMWARE_MAKE_CMN */
146 #ifdef SGE_SUPPORT
147 Boolean grid = false; /* TEAMWARE_MAKE_CMN */
148 #endif
149 Name no_parallel_name;
150 Name not_auto;
151 Boolean only_parallel; /* TEAMWARE_MAKE_CMN */
152 Boolean parallel; /* TEAMWARE_MAKE_CMN */
153 Name parallel_name;
154 Name localhost_name;
155 int parallel_process_cnt;
156 Percent percent_list;
157 Dyntarget dyntarget_list;
158 Name plus;
159 Name pmake_machinesfile;
160 Name precious;
161 Name primary_makefile;
162 Boolean quest; /* `-q' */
163 short read_trace_level;
164 Boolean reading_dependencies = false;
165 Name recursive_name;
166 int recursion_level;
167 short report_dependencies_level = 0; /* -P */
168 Boolean report_pwd;
169 Boolean rewrite_statefile;
170 Running running_list;
171 char *sccs_dir_path;
172 Name sccs_get_name;
173 Name sccs_get_posix_name;
174 Cmd_line sccs_get_rule;
175 Cmd_line sccs_get_org_rule;
176 Cmd_line sccs_get_posix_rule;
177 Name get_name;
178 Cmd_line get_rule;
179 Name get_posix_name;
180 Cmd_line get_posix_rule;
181 Boolean send_mtool_msgs; /* `-K' */
182 Boolean all_precious;
183 Boolean silent_all; /* `-s' */
184 Boolean report_cwd; /* `-w' */
185 Boolean silent; /* `-s' */
186 Name silent_name;
187 char *stderr_file = NULL;
188 char *stdout_file = NULL;
189 #ifdef SGE_SUPPORT
190 char script_file[MAXPATHLEN] = "";
191 #endif
192 Boolean stdout_stderr_same;
193 Dependency suffixes;
194 Name suffixes_name;
195 Name sunpro_dependencies;
196 Boolean target_variants;
197 char *tmpdir = NOCATGETS("/tmp");
198 char *temp_file_directory = NOCATGETS(".");
199 Name temp_file_name;
200 short temp_file_number;
201 time_t timing_start;
202 wchar_t *top_level_target;
203 Boolean touch; /* `-t' */
204 Boolean trace_reader; /* `-D' */
205 Boolean build_unconditional; /* `-u' */
206 pathpt vroot_path = VROOT_DEFAULT;
207 Name wait_name;
208 wchar_t wcs_buffer2[MAXPATHLEN];
209 wchar_t *wcs_ptr;
210 wchar_t *wcs_ptr2;
211 nl_catd catd;
212 long int hostid;
213
214 /*
215 * File table of contents
216 */
217