Description of compile-time switches to defgb  (29 Jun 99)
   (for versions 3.7 and later-see "Incompatibilities w/earlier versions")

        defgb accepts a number of compile-time switches.  Most of
them control what functions defgb will perform.  One of them,
METHOD_NAME, specifies a string that will appear in diagnostic messages.
See defgb documentation (currently in the code) for more information.

	Note that more than one module may have to be compiled using
a particular switch.  In general, all modules that use the include file
defgb.h must be recompiled.  Search each source module either for the
switch you are setting, or the string "defgb.h".

	The switches with their default values follow.  For descriptions, see
the code.  Also see the code for how the values "look" to the C code.
Specifying values on a command line or in a make file may require extra 
characters to "protect" quotation marks, apostrophes, etc.

METHOD_NAME		"defgb"

NVAR			 250
COMMENTSIZE		2430		For requirements, see code
MAXREC			1257
DISPLAY_WIDTH		  80

SEPARATOR		blank, tab, comma, newline, carriage return

ALT_SEPARATOR		apostrophe	(Relevant to free field data and all
					  script/object input specifications.
					 Also determines the escaped string 
					  delimiter.  If differing values are 
					   needed, specify escaped string delim 
					    here and data/script value at runtime)

WJSTBL_SEPARATOR	binary 1	(Characters prohibited in optional
WJSTBL_WHITE_SPACE	vertical tab	 file data)

TIMEDATE_SKIPFIELD_CHAR	asterisk	(See timedate optional file documentation)

SIGNIFICANT_CONSECUTIVE_SEPARATORS	FALSE (Relevant to free field)
SIGNIFICANT_EMBEDDED_SEPARATORS		TRUE  (Relevant to fixed field)

VARLIST_ENDS		-2		(See varlistopts optional file doc)
COLL_FROM_OBJOBJ_OBJ	"/list_level1_specs"	"	  "	   "

READ_COMMANDS		TRUE		Allow defgb to read scripts ("defexec")
READ_OBJECTS		TRUE		Allow defgb to read JGOFS objects
OPTIMIZE_OBJECT_TRANSFER TRUE		Only transfer object data outer needs
					  (based on requested display level)

DATAFIELDOPTS_OPT	0
TIMEDATE_OPT		0
LATLON_OPT		0
REMOVAL_OPT		0
TRANS_OPT		0
INPWIDTH_OPT		0
DISPWIDTH_OPT		0
VARLIST_OPT		0
VARLISTOPTS_OPT		0

ERR_PREFIX		"&x"

	There are also several debugging switches to trace defgb execution.
All can be set at runtime by use of the diagnostics optional file (see 
optional file documentation for more information).  Some may be set at
compile time for 2 purposes.  One is to define default diagnostic switches
so they need not be specified at runtime.  The other is to define the
switches in effect before the diagnostics optional file is read.

DEFAULT_TRACE_LEVEL	 0	(See "trace level" in opt file documentation)
DEFAULT_ERROR_LEVEL	60	(    "error level"			    )

DEFAULT_DEBUG_FILE          "/dev/stderr" (  "debug sink"		    )
DEFAULT_ERROR_FILE          "/dev/stdout" (  "error sink"		    )
DEFAULT_OTHER_COMMENT_FILE  "/dev/null"	  (  "other_comment sink"	    )

DEFAULT_MAXSCRIPTDIAGS	 5	(    "maxscriptdiags"			    )

DEFAULT_INSERTED_MSGS       TRUE  (  "inserted msgs"			    )
DEFAULT_INSERTED_MSG_TAG    TRUE  (  "inserted msg tag"			    )
DEFAULT_COMMENT_SOURCE_TAG  TRUE  (  "comment source tag"		    )

	For compatibility with def, the DEBUG and DEBUG0 switches may be
defined.  If DEBUG is defined, it is the equivalent of specifying a
DEFAULT_TRACE_LEVEL of 40.  If DEBUG0 is defined, it is the equivalent of
setting the iovalstr and iovalreal frequency specifiers to 1 at runtime.

-----------

Incompatibilities with earlier versions
3.7 vs 3.6
	Diagnostics no longer issued if METHOD_PROTOTYPE specified;
	    a specified switch is ignored.  See 3.5 vs 3.4 comment
3.7 vs ? (there's evidence that this incompatibility first occurred
	  around v 3.0 - sorry about that)
	TOKEN now set in file pointed to by OPTIONS switch in make file
	MAXCOMMENTLINE obsolete.  Instead, set COMMENTLINE in file pointed
	    to by OPTIONS switch in make file
3.6 vs 3.5
	None
3.5 vs 3.4
	METHOD_PROTOTYPE no longer accepted.  See 3.3 vs 3.2 comment
3.4 vs 3.3
	None
3.3 vs 3.2
	METHOD_PROTOTYPE = DEFGB_URL & ! READ_COMMANDS is no longer
	    diagnosed as error
	METHOD_PROTOTYPE is being deprecated.  All variants of defgb
	    can now be specified at runtime via optional files.
	  DEFGB_URL functionality is available via datafieldopts
	    separator option.  If you prefer a compiled version, use
	    SEPARATOR compilation switch.
	  DEFGB_NOHEADER functionality is available via varlistopts
	    varlists_end option.  If you prefer a compiled version, use
	    VARLIST_ENDS compilation switch.
	  PROCESS_VARLIST is obsolete.  It is the equivalent of specifying
	    VARLIST_ENDS as -2
3.2 vs 3.1
	None.
3.1 vs 3.0
	None.
	Implementation of READ_COMMENTS and READ_OBJECTS has moved from
	    mostly runtime to all compile-time.  That is, there used to be
	    linker errors for non-existent routines, but at runtime, the code
	    would not call them.  Now the calls are not compiled into the
	    program and there should be no errors.
3.0 vs 2.9
	DEFAULT_*_SINK replaced by DEFAULT_*_FILE
	Default for ERR_PREFIX		
	EOD_STRING no longer defined (but never did anything anyway)
2.9 vs 2.8
	None
2.8 vs 2.7
	DEFAULT_OTHER_COMMENT_SINK (new, but effectively changes default
	    for where this output goes)
	Default for WJSTBL_SEPARATOR	
	PROCESS_NONLEVEL0_VARLIST replaced by PROCESS_VARLIST
2.7 vs 2.6
	METHOD_SWITCH replaced by METHOD_PROTOTYPE
	MAXLEVELS specification no longer honored
	EXEC replaced by READ_COMMANDS
2.6 vs 2.5
	METHOD_SWITCH=DEFMET switch no longer accepted
2.5 vs 2.4
        CREATE_GMT has been superseded in functionality by the timedateparams
	    optional file.  The gmtparams optional file has also been
	    superseded in functionality by the timedateparams optional file,
	    so its switch, GMT_OPT, has been changed to TIMEDATE_OPT.
	    See optional file documentation for more info.
	DATA_FIELD_TRIM may not be specified (capability may be present in
	    a future version; although it worked in 2.4, interaction w/outer
	    made it look as if it didn't)
2.4 vs 2.3
        NEGATE_LON has been superseded in functionality by the latlonparams
	    optional file.