update dev300-m58
[ooovba.git] / dmake / vextern.h
blobf4402ceea8d0b08ccfd181f0e6dca4bd1a35221f
1 /* RCS $Id: vextern.h,v 1.7 2007-10-15 15:42:04 ihi Exp $
2 --
3 -- SYNOPSIS
4 -- Global variable declarations.
5 --
6 -- DESCRIPTION
7 -- Leave _DEFINE_GLOBALS_ undefined and the following declarations
8 -- will be defined as global variables, otherwise you get the
9 -- external declarations to the same global variables.
11 -- AUTHOR
12 -- Dennis Vadura, dvadura@dmake.wticorp.com
14 -- WWW
15 -- http://dmake.wticorp.com/
17 -- COPYRIGHT
18 -- Copyright (c) 1996,1997 by WTI Corp. All rights reserved.
19 --
20 -- This program is NOT free software; you can redistribute it and/or
21 -- modify it under the terms of the Software License Agreement Provided
22 -- in the file <distribution-root>/readme/license.txt.
24 -- LOG
25 -- Use cvs log to obtain detailed change logs.
28 /* These two are defined in dir/ruletab.c and dir/dirbrk.c, and are always
29 * imported as externals by the other code. Their defining modules do not
30 * #include this file. */
31 extern char* DirBrkStr; /* pointer to value of macro DIRBRKSTR */
32 extern char** Rule_tab; /* Builtin rules */
34 #ifndef _DEFINE_GLOBALS_
35 #define EXTERN extern
36 #else
37 #define EXTERN
38 #endif
40 EXTERN int Line_number; /* Current line number in make file parse */
41 EXTERN t_attr Glob_attr; /* Global attrs to control global ops */
42 EXTERN char* Makedir; /* pointer to macro value for MAKEDIR */
43 EXTERN char* Makedir_macval; /* value of MAKEDIR (for .WINPATH) */
44 EXTERN char* Shell; /* pointer to macro value for SHELL */
45 EXTERN char* Shell_flags; /* pointer to macro value for SHELLFLAGS */
46 EXTERN char* Shell_quote; /* pointer to macro value for SHELLCMDQUOTE */
47 EXTERN char* GShell; /* pointer to macro value for GROUPSHELL */
48 EXTERN char* GShell_flags; /* pointer to macro value for GROUPFLAGS */
49 EXTERN char* Shell_metas; /* pointer to macro value for SHELLMETAS */
50 EXTERN char* Grp_suff; /* pointer to macro value for GROUPSUFFIX */
51 EXTERN char* DirSepStr; /* pointer to macro value for DIRSEPSTR */
52 EXTERN char* AbsPname; /* pointer to macro value for ABSMAKECMD */
53 EXTERN char* Pname; /* dmake process invoke name */
54 EXTERN char* Pwd; /* current working dir */
55 EXTERN char* Pwd_macval; /* value of PWD (for .WINPATH) */
56 EXTERN char* Tmd; /* path to directory where dmake started */
57 EXTERN char* Tmd_macval; /* value of TMD (for .WINPATH) */
58 EXTERN char* Spacechar; /* pointer to macro value for SPACECHAR */
59 EXTERN char* Keep_state; /* current .KEEP_STATE file */
60 EXTERN char* Escape_char; /* Current escape character */
61 EXTERN char* LastMacName; /* Last macro successfully parsed */
62 EXTERN char* UseDirCache; /* The value of .DIRCACHE */
63 EXTERN char* DcacheRespCase; /* TRUE if we are to respect dcache case */
64 EXTERN char* OOoDmMode; /* Enable special behavior for OOo build. */
65 EXTERN int Target; /* TRUE if a default target was found in *
66 * a makefile or on the commandline */
67 EXTERN int If_expand; /* TRUE if calling Expand from getinp.c */
68 EXTERN int Suppress_temp_file;/* TRUE if doing a test in _exec_recipe*/
69 EXTERN int Readenv; /* TRUE if defining macro from environment*/
70 EXTERN int Makemkf; /* TRUE if making makefile(s) */
71 EXTERN int Nest_level; /* Nesting level for .IF .ELSE .END ... */
72 EXTERN int Prep; /* Value of macro PREP */
73 EXTERN int Def_targets; /* TRUE if defining targets - Only used *
74 * in Def_cell(). */
75 EXTERN int Skip_to_eof; /* TRUE if asked to skip to eof on input */
76 EXTERN int NameMax; /* The value of NAMEMAX */
77 EXTERN int UseWinpath; /* True if .WINPATH is set for currently *
78 * made target. */
79 #if __CYGWIN__
80 EXTERN char* CygDrvPre; /* Drive prefix used by cygwin */
81 EXTERN int CygDrvPreLen; /* Drive prefix length used by cygwin */
82 #endif
85 EXTERN CELLPTR Root; /* Root of the make graph (.ROOT) */
86 EXTERN CELLPTR Targets; /* Targets in makefile (.TARGETS) */
88 EXTERN CELLPTR Current_target; /* cell of current target being made */
89 EXTERN int Wait_for_completion; /* Wait for subprocess to finish */
90 EXTERN int Is_exec_shell; /* Indicate shell escape */
91 EXTERN CELLPTR Shell_exec_target; /* Keep Current_target for _exec__shell */
92 EXTERN FILE* stdout_redir; /* For _exec_shell client redirects */
93 EXTERN int zerofd; /* File descriptor for /dev/null */
94 EXTERN int Doing_bang; /* TRUE if target timestamp needs not to be
95 * updated immediately. */
96 EXTERN int Packed_shell; /* TRUE if packed args to use a shell */
97 #if defined(MSDOS)
98 EXTERN int Swap_on_exec; /* TRUE if going to swap on exec call */
99 #endif
100 EXTERN int State; /* parser state */
101 EXTERN int Group; /* parsing a group recipe ==> TRUE */
103 /* Command line option flags are defined here. They correspond one-for one
104 * with the flags defined in dmake.c */
106 EXTERN char *Augmake; /* -A */
107 EXTERN char Comment; /* -c */
108 EXTERN char Get_env; /* -e or -E */
109 EXTERN char* Notabs; /* -B */
110 EXTERN int Continue; /* -k */
111 EXTERN int Force; /* -u */
112 EXTERN int Listing; /* -p */
113 EXTERN int Rules; /* -r */
114 EXTERN int Trace; /* -n */
115 EXTERN int Touch; /* -t */
116 EXTERN int Check; /* -q */
117 EXTERN uint16 Verbose; /* -v */
118 EXTERN uint16 Measure; /* -m */
119 EXTERN int Microsoft; /* -M */
120 EXTERN int Transitive; /* -T */
121 EXTERN int No_exec; /* -X */
123 EXTERN HASHPTR Defs[HASH_TABLE_SIZE];
124 EXTERN HASHPTR Macs[HASH_TABLE_SIZE];
126 EXTERN char *Buffer; /* a general purpose buffer */
127 EXTERN int Buffer_size;
128 EXTERN int Max_proclmt; /* limit of max # of conc procs */
129 EXTERN int Max_proc; /* max # of conc procs */