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 /* 28 * globals.cc 29 * 30 * This declares all global variables 31 */ 32 33 /* 34 * Included files 35 */ 36 #include <mksh/globals.h> 37 38 /* 39 * Defined macros 40 */ 41 42 /* 43 * typedefs & structs 44 */ 45 46 /* 47 * Global variables 48 */ 49 char char_semantics[CHAR_SEMANTICS_ENTRIES]; 50 wchar_t char_semantics_char[] = { 51 ampersand_char, 52 asterisk_char, 53 at_char, 54 backquote_char, 55 backslash_char, 56 bar_char, 57 bracketleft_char, 58 bracketright_char, 59 colon_char, 60 dollar_char, 61 doublequote_char, 62 equal_char, 63 exclam_char, 64 greater_char, 65 hat_char, 66 hyphen_char, 67 less_char, 68 newline_char, 69 numbersign_char, 70 parenleft_char, 71 parenright_char, 72 percent_char, 73 plus_char, 74 question_char, 75 quote_char, 76 semicolon_char, 77 #ifdef SGE_SUPPORT 78 space_char, 79 tab_char, 80 #endif 81 nul_char 82 }; 83 Macro_list cond_macro_list; 84 Boolean conditional_macro_used; 85 Boolean do_not_exec_rule; /* `-n' */ 86 Boolean dollarget_seen; 87 Boolean dollarless_flag; 88 Name dollarless_value; 89 Envvar envvar; 90 #ifdef lint 91 char **environ; 92 #endif 93 int exit_status; 94 wchar_t *file_being_read; 95 /* Variable gnu_style=true if env. var. SUN_MAKE_COMPAT_MODE=GNU (RFE 4866328) */ 96 Boolean gnu_style = false; 97 Name_set hashtab; 98 Name host_arch; 99 Name host_mach; 100 int line_number; 101 char *make_state_lockfile; 102 Boolean make_word_mentioned; 103 Makefile_type makefile_type = reading_nothing; 104 char mbs_buffer[(MAXPATHLEN * MB_LEN_MAX)]; 105 Name path_name; 106 Boolean posix = true; 107 Name hat; 108 Name query; 109 Boolean query_mentioned; 110 Boolean reading_environment; 111 Name shell_name; 112 Boolean svr4 = false; 113 Name target_arch; 114 Name target_mach; 115 Boolean tilde_rule; 116 Name virtual_root; 117 Boolean vpath_defined; 118 Name vpath_name; 119 wchar_t wcs_buffer[MAXPATHLEN]; 120 Boolean working_on_targets; 121 #if defined (TEAMWARE_MAKE_CMN) && defined(REDIRECT_ERR) 122 Boolean out_err_same; 123 #endif 124 pid_t childPid = -1; // This variable is used for killing child's process 125 // Such as qrsh, running command, etc. 126 127 /* 128 * timestamps defined in defs.h 129 */ 130 const timestruc_t file_no_time = { -1, 0 }; 131 const timestruc_t file_doesnt_exist = { 0, 0 }; 132 const timestruc_t file_is_dir = { 1, 0 }; 133 const timestruc_t file_min_time = { 2, 0 }; 134 const timestruc_t file_max_time = { INT_MAX, 0 };