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