1 | /*****************************************************************************/ |
2 | /* */ |
3 | /* global.c */ |
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 | /* common */ |
37 | #include "addrsize.h" |
38 | |
39 | /* ca65 */ |
40 | #include "global.h" |
41 | |
42 | |
43 | |
44 | /*****************************************************************************/ |
45 | /* Data */ |
46 | /*****************************************************************************/ |
47 | |
48 | |
49 | |
50 | /* File names */ |
51 | const char* InFile = 0; /* Name of input file */ |
52 | const char* OutFile = 0; /* Name of output file */ |
53 | StrBuf ListingName = STATIC_STRBUF_INITIALIZER; /* Name of listing file */ |
54 | StrBuf DepName = STATIC_STRBUF_INITIALIZER; /* Dependency file */ |
55 | StrBuf FullDepName = STATIC_STRBUF_INITIALIZER; /* Full dependency file */ |
56 | |
57 | /* Default extensions */ |
58 | const char ObjExt[] = ".o" ;/* Default object extension */ |
59 | |
60 | char LocalStart = '@'; /* This char starts local symbols */ |
61 | |
62 | unsigned char IgnoreCase = 0; /* Ignore case on identifiers? */ |
63 | unsigned char AutoImport = 0; /* Mark unresolveds as import */ |
64 | unsigned char SmartMode = 0; /* Smart mode */ |
65 | unsigned char DbgSyms = 0; /* Add debug symbols */ |
66 | unsigned char LineCont = 0; /* Allow line continuation */ |
67 | unsigned char LargeAlignment = 0; /* Don't warn about large alignments */ |
68 | unsigned char RelaxChecks = 0; /* Relax a few assembler checks */ |
69 | unsigned char StringEscapes = 0; /* Allow C-style escapes in strings */ |
70 | |
71 | /* Emulation features */ |
72 | unsigned char DollarIsPC = 0; /* Allow the $ symbol as current PC */ |
73 | unsigned char NoColonLabels = 0; /* Allow labels without a colon */ |
74 | unsigned char LooseStringTerm = 0; /* Allow ' as string terminator */ |
75 | unsigned char LooseCharTerm = 0; /* Allow " for char constants */ |
76 | unsigned char AtInIdents = 0; /* Allow '@' in identifiers */ |
77 | unsigned char DollarInIdents = 0; /* Allow '$' in identifiers */ |
78 | unsigned char LeadingDotInIdents = 0; /* Allow '.' to start an identifier */ |
79 | unsigned char PCAssignment = 0; /* Allow "* = $XXX" or "$ = $XXX" */ |
80 | unsigned char MissingCharTerm = 0; /* Allow lda #'a (no closing term) */ |
81 | unsigned char UbiquitousIdents = 0; /* Allow ubiquitous identifiers */ |
82 | unsigned char OrgPerSeg = 0; /* Make .org local to current seg */ |
83 | unsigned char = 0; /* Allow C like comments */ |
84 | unsigned char ForceRange = 0; /* Force values into expected range */ |
85 | unsigned char UnderlineInNumbers = 0; /* Allow underlines in numbers */ |
86 | unsigned char AddrSize = 0; /* Allow .ADDRSIZE function */ |
87 | unsigned char BracketAsIndirect = 0; /* Use '[]' not '()' for indirection */ |
88 | |