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 nul_char 78 }; 79 Macro_list cond_macro_list; 80 Boolean conditional_macro_used; 81 Boolean do_not_exec_rule; /* `-n' */ 82 Boolean dollarget_seen; 83 Boolean dollarless_flag; 84 Name dollarless_value; 85 Envvar envvar; 86 #ifdef lint 87 char **environ; 88 #endif 89 int exit_status; 90 wchar_t *file_being_read; 91 /* Variable gnu_style=true if env. var. SUN_MAKE_COMPAT_MODE=GNU (RFE 4866328) */ 92 Boolean gnu_style = false; 93 Name_set hashtab; 94 Name host_arch; 95 Name host_mach; 96 int line_number; 97 char *make_state_lockfile; 98 Boolean make_word_mentioned; 99 Makefile_type makefile_type = reading_nothing; 100 char mbs_buffer[(MAXPATHLEN * MB_LEN_MAX)]; 101 Name path_name; 102 Boolean posix = true; 103 Name hat; 104 Name query; 105 Boolean query_mentioned; 106 Boolean reading_environment; 107 Name shell_name; 108 Boolean svr4 = false; 109 Name target_arch; 110 Name target_mach; 111 Boolean tilde_rule; 112 Name virtual_root; 113 Boolean vpath_defined; 114 Name vpath_name; 115 wchar_t wcs_buffer[MAXPATHLEN]; 116 Boolean working_on_targets; 117 #if defined (TEAMWARE_MAKE_CMN) 118 Boolean out_err_same; 119 #endif 120 pid_t childPid = -1; // This variable is used for killing child's process 121 // Such as qrsh, running command, etc. 122 123 /* 124 * timestamps defined in defs.h 125 */ 126 const timestruc_t file_no_time = { -1, 0 }; 127 const timestruc_t file_doesnt_exist = { 0, 0 }; 128 const timestruc_t file_is_dir = { 1, 0 }; 129 const timestruc_t file_min_time = { 2, 0 }; 130 const timestruc_t file_max_time = { INT_MAX, 0 };