From b501a54cf959bc549810fb24ca6f9584dc5c9cf3 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Fri, 22 Sep 2000 14:33:37 +0000 Subject: initial import --- dmake/vextern.h | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 dmake/vextern.h (limited to 'dmake/vextern.h') diff --git a/dmake/vextern.h b/dmake/vextern.h new file mode 100644 index 000000000000..84ded883d4c7 --- /dev/null +++ b/dmake/vextern.h @@ -0,0 +1,107 @@ +/* RCS $Id: vextern.h,v 1.1.1.1 2000-09-22 15:33:26 hr Exp $ +-- +-- SYNOPSIS +-- Global variable declarations. +-- +-- DESCRIPTION +-- Leave _DEFINE_GLOBALS_ undefined and the following declarations +-- will be defined as global variables, otherwise you get the +-- external declarations to the same global variables. +-- +-- AUTHOR +-- Dennis Vadura, dvadura@dmake.wticorp.com +-- +-- WWW +-- http://dmake.wticorp.com/ +-- +-- COPYRIGHT +-- Copyright (c) 1996,1997 by WTI Corp. All rights reserved. +-- +-- This program is NOT free software; you can redistribute it and/or +-- modify it under the terms of the Software License Agreement Provided +-- in the file /readme/license.txt. +-- +-- LOG +-- Use cvs log to obtain detailed change logs. +*/ + +/* These two are defined in dir/ruletab.c and dir/dirbrk.c, and are always + * imported as externals by the other code. Their defining modules do not + * #include this file. */ +extern char* DirBrkStr; /* pointer to value of macro DIRBRKSTR */ +extern char** Rule_tab; /* Builtin rules */ + +#ifndef _DEFINE_GLOBALS_ +#define EXTERN extern +#else +#define EXTERN +#endif + +EXTERN int Line_number; /* Current line number in make file parse */ +EXTERN t_attr Glob_attr; /* Global attrs to control global ops */ +EXTERN char* Makedir; /* pointer to macro value for MAKEDIR */ +EXTERN char* Shell; /* pointer to macro value for SHELL */ +EXTERN char* Shell_flags; /* pointer to macro value for SHELLFLAGS */ +EXTERN char* GShell; /* pointer to macro value for GROUPSHELL */ +EXTERN char* GShell_flags; /* pointer to macro value for GROUPFLAGS */ +EXTERN char* Shell_metas; /* pointer to macro value for SHELLMETAS */ +EXTERN char* Grp_suff; /* pointer to macro value for GROUPSUFFIX */ +EXTERN char* DirSepStr; /* pointer to macro value for DIRSEPSTR */ +EXTERN char* Pname; /* dmake process invoke name */ +EXTERN char* Pwd; /* current working dir, value of PWD */ +EXTERN char* Tmd; /* path to directory where dmake started */ +EXTERN char* Keep_state; /* current .KEEP_STATE file */ +EXTERN char* Escape_char; /* Current escape character */ +EXTERN char* LastMacName; /* Last macro successfully parsed */ +EXTERN char* UseDirCache; /* The value of .DIRCACHE */ +EXTERN char* DcacheRespCase; /* TRUE if we are to respect dcache case */ +EXTERN int Target; /* TRUE if target found in makefile */ +EXTERN int If_expand; /* TRUE if calling Expand from getinp.c */ +EXTERN int Suppress_temp_file;/* TRUE if doing a test in _exec_recipe*/ +EXTERN int Readenv; /* TRUE if defining macro from environment*/ +EXTERN int Makemkf; /* TRUE if making makefile(s) */ +EXTERN int Nest_level; /* Nesting level for .IF .ELSE .END ... */ +EXTERN int Prep; /* Value of macro PREP */ +EXTERN int Def_targets; /* TRUE if defining targets */ +EXTERN int Skip_to_eof; /* TRUE if asked to skip to eof on input */ +EXTERN int DynamicNestLevel;/* Value of DYNAMICNESTINGLEVEL macro */ +EXTERN int NameMax; /* The value of NAMEMAX */ + + +EXTERN CELLPTR Root; /* Root of the make graph */ +EXTERN CELLPTR Targets; /* Targets in makefile */ + +EXTERN CELLPTR Current_target; /* cell of current target being made */ +EXTERN int Wait_for_completion; +EXTERN int Doing_bang; +EXTERN int Packed_shell; /* TRUE if packed args to use a shell */ +EXTERN int Swap_on_exec; /* TRUE if going to swap on exec call */ +EXTERN int State; /* parser state */ +EXTERN int Group; /* parsing a group recipe ==> TRUE */ + +/* Command line option flags are defined here. They correspond one-for one + * with the flags defined in dmake.c */ + +EXTERN char *Augmake; /* -A */ +EXTERN char Comment; /* -c */ +EXTERN char Get_env; /* -e or -E */ +EXTERN char* Notabs; /* -B */ +EXTERN int Continue; /* -k */ +EXTERN int Force; /* -u */ +EXTERN int Listing; /* -p */ +EXTERN int Rules; /* -r */ +EXTERN int Trace; /* -n */ +EXTERN int Touch; /* -t */ +EXTERN int Check; /* -q */ +EXTERN uint16 Verbose; /* -v */ +EXTERN int Microsoft; /* -M */ +EXTERN int Transitive; /* -T */ +EXTERN int No_exec; /* -X */ + +EXTERN HASHPTR Defs[HASH_TABLE_SIZE]; +EXTERN HASHPTR Macs[HASH_TABLE_SIZE]; + +EXTERN char *Buffer; /* a general purpose buffer */ +EXTERN int Buffer_size; +EXTERN int Max_proclmt; /* limit of max # of conc procs */ +EXTERN int Max_proc; /* max # of conc procs */ -- cgit