summaryrefslogtreecommitdiff
path: root/usr/src/cmd/make/lib/mksh/globals.cc
blob: 2104ada989b61e4884b02e7fa40419591f632d32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */
/*
 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
 * Use is subject to license terms.
 */


/*
 *	globals.cc
 *
 *	This declares all global variables
 */

/*
 * Included files
 */
#include <mksh/globals.h>

/*
 * Defined macros
 */

/*
 * typedefs & structs
 */

/*
 * Global variables
 */
char		char_semantics[CHAR_SEMANTICS_ENTRIES];
wchar_t		char_semantics_char[] = {
	ampersand_char,
	asterisk_char,
	at_char,
	backquote_char,
	backslash_char,
	bar_char,
	bracketleft_char,
	bracketright_char,
	colon_char,
	dollar_char,
	doublequote_char,
	equal_char,
	exclam_char,
	greater_char,
	hat_char,
	hyphen_char,
	less_char,
	newline_char,
	numbersign_char,
	parenleft_char,
	parenright_char,
	percent_char,
	plus_char,
	question_char,
	quote_char,
	semicolon_char,
	nul_char
};
Macro_list	cond_macro_list;
Boolean		conditional_macro_used;
Boolean		do_not_exec_rule;		/* `-n' */
Boolean		dollarget_seen;
Boolean		dollarless_flag;
Name		dollarless_value;
Envvar		envvar;
int		exit_status;
wchar_t		*file_being_read;
/* Variable gnu_style=true if env. var. SUN_MAKE_COMPAT_MODE=GNU (RFE 4866328) */
Boolean		gnu_style = false;
Name_set	hashtab;
Name		host_arch;
Name		host_mach;
int		line_number;
char		*make_state_lockfile;
Boolean		make_word_mentioned;
Makefile_type	makefile_type = reading_nothing;
char		mbs_buffer[(MAXPATHLEN * MB_LEN_MAX)];
Name		path_name;
Boolean		posix = true;
Name		hat;
Name		query;
Boolean		query_mentioned;
Boolean		reading_environment;
Name		shell_name;
Boolean		svr4 = false;
Name		target_arch;
Name		target_mach;
Boolean		tilde_rule;
Name		virtual_root;
Boolean		vpath_defined;
Name		vpath_name;
wchar_t		wcs_buffer[MAXPATHLEN];
Boolean		working_on_targets;
Boolean		out_err_same;
pid_t		childPid = -1;	// This variable is used for killing child's process
				// Such as qrsh, running command, etc.

/*
 * timestamps defined in defs.h
 */
const timestruc_t file_no_time		= { -1, 0 };
const timestruc_t file_doesnt_exist	= { 0, 0 };
const timestruc_t file_is_dir		= { 1, 0 };
const timestruc_t file_min_time		= { 2, 0 };
const timestruc_t file_max_time		= { INT_MAX, 0 };