1/*****************************************************************************/
2/* */
3/* global.h */
4/* */
5/* Global variables for the ca65 macroassembler */
6/* */
7/* */
8/* */
9/* (C) 1998-2013, Ullrich von Bassewitz */
10/* Roemerstrasse 52 */
11/* D-70794 Filderstadt */
12/* EMail: uz@cc65.org */
13/* */
14/* */
15/* This software is provided 'as-is', without any expressed or implied */
16/* warranty. In no event will the authors be held liable for any damages */
17/* arising from the use of this software. */
18/* */
19/* Permission is granted to anyone to use this software for any purpose, */
20/* including commercial applications, and to alter it and redistribute it */
21/* freely, subject to the following restrictions: */
22/* */
23/* 1. The origin of this software must not be misrepresented; you must not */
24/* claim that you wrote the original software. If you use this software */
25/* in a product, an acknowledgment in the product documentation would be */
26/* appreciated but is not required. */
27/* 2. Altered source versions must be plainly marked as such, and must not */
28/* be misrepresented as being the original software. */
29/* 3. This notice may not be removed or altered from any source */
30/* distribution. */
31/* */
32/*****************************************************************************/
33
34
35
36#ifndef GLOBAL_H
37#define GLOBAL_H
38
39
40
41/* common */
42#include "strbuf.h"
43
44
45
46/*****************************************************************************/
47/* Data */
48/*****************************************************************************/
49
50
51
52/* File names */
53extern const char* InFile; /* Name of input file */
54extern const char* OutFile; /* Name of output file */
55extern StrBuf ListingName; /* Name of listing file */
56extern StrBuf DepName; /* Name of dependencies file */
57extern StrBuf FullDepName; /* Name of full dependencies file */
58
59/* Default extensions */
60extern const char ObjExt[]; /* Default object extension */
61
62extern char LocalStart; /* This char starts local symbols */
63
64extern unsigned char IgnoreCase; /* Ignore case on identifiers? */
65extern unsigned char AutoImport; /* Mark unresolveds as import */
66extern unsigned char SmartMode; /* Smart mode */
67extern unsigned char DbgSyms; /* Add debug symbols */
68extern unsigned char LineCont; /* Allow line continuation */
69extern unsigned char LargeAlignment; /* Don't warn about large alignments */
70extern unsigned char RelaxChecks; /* Relax a few assembler checks */
71extern unsigned char StringEscapes; /* Allow C-style escapes in strings */
72
73/* Emulation features */
74extern unsigned char DollarIsPC; /* Allow the $ symbol as current PC */
75extern unsigned char NoColonLabels; /* Allow labels without a colon */
76extern unsigned char LooseStringTerm; /* Allow ' as string terminator */
77extern unsigned char LooseCharTerm; /* Allow " for char constants */
78extern unsigned char AtInIdents; /* Allow '@' in identifiers */
79extern unsigned char DollarInIdents; /* Allow '$' in identifiers */
80extern unsigned char LeadingDotInIdents; /* Allow '.' to start an identifier */
81extern unsigned char PCAssignment; /* Allow "* = $XXX" or "$ = $XXX" */
82extern unsigned char MissingCharTerm; /* Allow lda #'a (no closing term) */
83extern unsigned char UbiquitousIdents; /* Allow ubiquitous identifiers */
84extern unsigned char OrgPerSeg; /* Make .org local to current seg */
85extern unsigned char CComments; /* Allow C like comments */
86extern unsigned char ForceRange; /* Force values into expected range */
87extern unsigned char UnderlineInNumbers; /* Allow underlines in numbers */
88extern unsigned char AddrSize; /* Allow .ADDRSIZE function */
89extern unsigned char BracketAsIndirect; /* Use '[]' not '()' for indirection */
90
91
92
93
94/* End of global.h */
95
96#endif
97