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 /*
27 * globals.cc
28 *
29 * This declares all global variables
30 */
31
32 /*
33 * Included files
34 */
35 #include <nl_types.h>
36 #include <mk/defs.h>
37 #include <sys/stat.h>
38
39 /*
40 * Defined macros
41 */
42
43 /*
44 * typedefs & structs
45 */
46
47 /*
48 * Global variables used by make only
49 */
50 FILE *dependency_report_file;
51
52 /*
53 * Global variables used by make
54 */
55 Boolean allrules_read=false;
56 Name posix_name;
57 Name svr4_name;
58 Boolean sdot_target; /* used to identify s.m(/M)akefile */
59 Boolean all_parallel; /* TEAMWARE_MAKE_CMN */
60 Boolean assign_done;
61 int foo;
62 Boolean build_failed_seen;
63 #ifdef DISTRIBUTED
64 Boolean building_serial;
65 #endif
66 Name built_last_make_run;
67 Name c_at;
68 #ifdef DISTRIBUTED
69 Boolean called_make = false;
70 #endif
71 Boolean cleanup;
72 Boolean close_report;
73 Boolean command_changed;
74 Boolean commands_done;
75 Chain conditional_targets;
76 Name conditionals;
77 Boolean continue_after_error; /* `-k' */
78 Property current_line;
79 Name current_make_version;
80 Name current_target;
81 short debug_level;
82 Cmd_line default_rule;
83 Name default_rule_name;
84 Name default_target_to_build;
85 Name dmake_group;
86 Name dmake_max_jobs;
87 Name dmake_mode;
88 DMake_mode dmake_mode_type;
89 Name dmake_output_mode;
90 DMake_output_mode output_mode = txt1_mode;
91 Name dmake_odir;
92 Name dmake_rcfile;
93 Name done;
94 Name dot;
95 Name dot_keep_state;
96 Name dot_keep_state_file;
97 Name empty_name;
98 #if defined(HP_UX) || defined(linux)
99 int exit_status;
100 #endif
101 Boolean fatal_in_progress;
102 int file_number;
103 #if 0
104 Boolean filter_stderr; /* `-X' */
105 #endif
106 Name force;
107 Name ignore_name;
108 Boolean ignore_errors; /* `-i' */
109 Boolean ignore_errors_all; /* `-i' */
110 Name init;
111 int job_msg_id;
112 Boolean keep_state;
113 Name make_state;
114 #ifdef TEAMWARE_MAKE_CMN
115 timestruc_t make_state_before;
116 #endif
117 Dependency makefiles_used;
118 Name makeflags;
119 // Boolean make_state_locked; // Moved to lib/mksh
120 Name make_version;
121 char mbs_buffer2[(MAXPATHLEN * MB_LEN_MAX)];
122 char *mbs_ptr;
123 char *mbs_ptr2;
124 int mtool_msgs_fd;
125 Boolean depinfo_already_read = false;
126 #ifdef NSE
127 Name derived_src;
128 Boolean nse; /* NSE on */
129 Name nse_backquote_seen;
130 char nse_depinfo_lockfile[MAXPATHLEN];
131 Boolean nse_depinfo_locked;
132 Boolean nse_did_recursion;
133 Name nse_shell_var_used;
134 Boolean nse_watch_vars = false;
135 wchar_t current_makefile[MAXPATHLEN];
136 #endif
137 Boolean no_action_was_taken = true; /* true if we've not **
138 ** run any command */
139
140 Boolean no_parallel = false; /* TEAMWARE_MAKE_CMN */
141 #ifdef SGE_SUPPORT
142 Boolean grid = false; /* TEAMWARE_MAKE_CMN */
143 #endif
144 Name no_parallel_name;
145 Name not_auto;
146 Boolean only_parallel; /* TEAMWARE_MAKE_CMN */
147 Boolean parallel; /* TEAMWARE_MAKE_CMN */
148 Name parallel_name;
149 Name localhost_name;
150 int parallel_process_cnt;
151 Percent percent_list;
152 Dyntarget dyntarget_list;
153 Name plus;
154 Name pmake_machinesfile;
155 Name precious;
156 Name primary_makefile;
157 Boolean quest; /* `-q' */
158 short read_trace_level;
159 Boolean reading_dependencies = false;
160 Name recursive_name;
161 int recursion_level;
162 short report_dependencies_level = 0; /* -P */
163 Boolean report_pwd;
164 Boolean rewrite_statefile;
165 Running running_list;
166 char *sccs_dir_path;
167 Name sccs_get_name;
168 Name sccs_get_posix_name;
169 Cmd_line sccs_get_rule;
170 Cmd_line sccs_get_org_rule;
171 Cmd_line sccs_get_posix_rule;
172 Name get_name;
173 Cmd_line get_rule;
174 Name get_posix_name;
175 Cmd_line get_posix_rule;
176 Boolean send_mtool_msgs; /* `-K' */
177 Boolean all_precious;
178 Boolean silent_all; /* `-s' */
179 Boolean report_cwd; /* `-w' */
180 Boolean silent; /* `-s' */
181 Name silent_name;
182 char *stderr_file = NULL;
183 char *stdout_file = NULL;
184 #ifdef SGE_SUPPORT
185 char script_file[MAXPATHLEN] = "";
186 #endif
187 Boolean stdout_stderr_same;
188 Dependency suffixes;
189 Name suffixes_name;
190 Name sunpro_dependencies;
191 Boolean target_variants;
192 const char *tmpdir = NOCATGETS("/tmp");
193 const char *temp_file_directory = NOCATGETS(".");
194 Name temp_file_name;
195 short temp_file_number;
196 time_t timing_start;
197 wchar_t *top_level_target;
198 Boolean touch; /* `-t' */
199 Boolean trace_reader; /* `-D' */
200 Boolean build_unconditional; /* `-u' */
201 pathpt vroot_path = VROOT_DEFAULT;
202 Name wait_name;
203 wchar_t wcs_buffer2[MAXPATHLEN];
204 wchar_t *wcs_ptr;
205 wchar_t *wcs_ptr2;
206 nl_catd catd;
207 long int hostid;
208
209 /*
210 * File table of contents
211 */
212