-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathppcjvm-options.txt
More file actions
253 lines (252 loc) · 14.9 KB
/
ppcjvm-options.txt
File metadata and controls
253 lines (252 loc) · 14.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
Free Pascal Compiler version 3.3.1 [2024/05/09] for jvm
Copyright (c) 1993-2024 by Florian Klaempfl and others
C:\jac\system\Windows\Programming\Repositories\fpc-source\compiler\ppcjvm.exe [options] <inputfile> [options]
Put + after a boolean switch option to enable it, - to disable it.
@<x> Read compiler options from <x> in addition to the default fpc.cfg
-a The compiler does not delete the generated assembler file, automatically switches to external assembler writer
-a5 Don't generate Big Obj COFF files for GNU Binutils older than 2.25 (Windows, NativeNT)
-al List sourcecode lines in assembler file
-an List node info in assembler file (-dEXTDEBUG compiler)
-ao Add an extra option to external assembler call (ignored for internal)
-ar List register allocation/release info in assembler file
-aR List RTTI info in assembler file
-at List temp allocation/release info in assembler file
-A<x> Output format:
-Adefault Use default assembler
-b Generate browser info
-bl Generate local symbol info
-B Build all modules
-C<x> Code generation options:
-C3 Turn on IEEE error checking for constants
-Ca<x> Select ABI; see fpc -i or fpc -ia for possible values
-Cb Generate code for a big-endian variant of the target architecture
-Cc<x> Set default calling convention to <x>
-CD Create also dynamic library (not supported)
-Ce Compilation with emulated floating point opcodes
-CE Generate FPU code which can raise exceptions
-Cf<x> Select fpu instruction set to use; see fpc -i or fpc -if for possible values
-CF<x> Minimal floating point constant precision (default, 32, 64)
-Cg Generate PIC code
-Ch<n>[,m] <n> bytes min heap size (between 1023 and 67107840) and optionally [m] max heap size
-Ci IO-checking
-Cn Omit linking stage
-Co Check overflow of integer operations
-CO Check for possible overflow of integer operations
-Cp<x> Select instruction set; see fpc -i or fpc -ic for possible values
-CP<x>=<y> packing settings
-CPPACKENUM=<y> <y> enum packing: 0, 1, 2 and 4 or DEFAULT or NORMAL
-CPPACKRECORD=<y> <y> record packing: 0 or DEFAULT or NORMAL, 1, 2, 4, 8, 16 and 32
-CPPACKSET=<y> <y> set allocation: 0, 1 or DEFAULT or NORMAL, 2, 4 and 8
-Cr Range checking
-CR Verify object method call validity
-Cs<n> Set stack checking size to <n>
-Ct Stack checking (for testing only, see manual)
-CT<x> Target-specific code generation options
-CTautogetterprefix=X Automatically create getters for properties with prefix X (empty string disables)
-CTautosetterprefix=X Automatically create setters for properties with prefix X (empty string disables)
-CTcompactintarrayinit Generate smaller (but potentially slower) code for initializing integer array constants
-CTenumfieldinit Initialize enumeration fields in constructors to enumtype(0), after calling inherited constructors
-CTinitlocals Initialize local variables that trigger a JVM bytecode verification error if used uninitialized (slows down code)
-CTlowercaseprocstart Lowercase the first character of procedure/function/method names
-Cv Var/out parameter copy-out checking
-CX Create also smartlinked library
-d<x> Defines the symbol <x>
-D Generate a DEF file
-Dd<x> Set description to <x>
-DD<x> Set the date string returned by %DATE% to x, it is not checked for being a valid date string
-DT<x> Set the time string returned by %TIME% to x, it is not checked for being a valid time string
-Dv<x> Set DLL version to <x>
-e<x> Set path to executable
-E Same as -Cn
-fPIC Same as -Cg
-F<x> Set file names and paths:
-Fa<x>[,y] (for a program) load units <x> and [y] before uses is parsed
-Fc<x> Set input codepage to <x>
-FC<x> Set RC compiler binary name to <x>
-Fd Disable the compiler's internal directory cache
-FD<x> Set the directory where to search for compiler utilities
-Fe<x> Redirect error output to <x>
-FE<x> Set exe/unit output path to <x>
-Ff<x> Add <x> to framework path (Darwin only), or set IDF path to <x> (Xtensa-FreeRTOS)
-FF Use fpcres as RC to RES compiler instead of windres or gorc
-Fi<x> Add <x> to include path
-Fl<x> Add <x> to library path
-FL<x> Use <x> as dynamic linker
-Fm<x> Load unicode conversion table from <x>.txt in the compiler dir
-FM<x> Set the directory where to search for unicode binary files
-FN<x> Add <x> to list of default unit scopes (namespaces)
-Fo<x> Add <x> to object path
-Fr<x> Load error message file <x>
-FR<x> Set resource (.res) linker to <x>
-Ft Do not search uppercased or 8.3 unit filenames on case sensitive filesystems.
-Fu<x> Add <x> to unit path
-FU<x> Set unit output path to <x>, overrides -FE
-Fw<x> Load previously stored whole-program optimization feedback from <x>
-FW<x> Store generated whole-program optimization feedback in <x>
-g Generate debug information (default format for target)
-gc Generate checks for pointers (experimental, only available on some targets, might generate false positive)
-gh Use heaptrace unit (for memory leak/corruption debugging)
-gl Use line info unit (show more info with backtraces)
-gm Generate Microsoft CodeView debug information (experimental)
-go<x> Set debug information options
-godwarfcpp Simulate C++ debug information in DWARF
-godwarfmethodclassprefix Prefix method names in DWARF with class name
-godwarfomflinnum Generate line number information in OMF LINNUM records in MS LINK format in addition to the DWARF debug information (Open Watcom Debugger/Linker compatibility)
-godwarfsets Enable DWARF 'set' type debug information (breaks gdb < 6.5)
-gostabsabsincludes Store absolute/full include file paths in Stabs
-gp Preserve case in stabs symbol names
-gs Generate Stabs debug information
-gt Trash local variables (to detect uninitialized uses; multiple 't' changes the trashing value)
-gv Generates programs traceable with Valgrind
-gw Generate DWARFv2 debug information (same as -gw2)
-gw2 Generate DWARFv2 debug information
-gw3 Generate DWARFv3 debug information
-gw4 Generate DWARFv4 debug information (experimental)
-i Information
-ia Return list of supported ABI targets
-ib Return the used code generation backend type
-ic Return list of supported CPU instruction sets
-iD Return compiler date
-if Return list of supported FPU instruction sets
-ii Return list of supported inline assembler modes
-im Return list of supported modeswitches
-io Return list of supported optimizations
-ir Return list of recognized compiler and RTL features
-iSO Return compiler OS
-iSP Return compiler host processor
-it Return list of supported targets
-iTO Return target OS
-iTP Return target processor
-iu Return list of supported microcontroller types
-iV Return short compiler version
-iw Return list of supported whole program optimizations
-iW Return full compiler version
-I<x> Add <x> to include path
-k<x> Pass <x> to the linker
-l Write logo
-M<x> Set language mode to <x> / enable modeswitch <x> (see option -im)
-Mdelphi Delphi 7 compatibility mode
-Mdelphiunicode Delphi 2009 and later compatibility mode
-Mextendedpascal ISO 10206 mode
-Mfpc Free Pascal dialect (default)
-Miso ISO 7185 mode
-Mmacpas Macintosh Pascal dialects compatibility mode
-Mobjfpc FPC mode with Object Pascal support
-Mtp TP/BP 7.0 compatibility mode
Each mode (as listed above) enables its default set of modeswitches.
Other modeswitches are disabled and need to be enabled one by another.
-M<x>- Disable modeswitch <x> (see option -im)
-n Do not read the default config files
-o<x> Change the name of the executable produced to <x>
-O<x> Optimizations:
-O- Disable optimizations
-O1 Level 1 optimizations (quick and debugger friendly)
-O2 Level 2 optimizations (-O1 + quick optimizations)
-O3 Level 3 optimizations (-O2 + slow optimizations)
-O4 Level 4 optimizations (-O3 + optimizations which might have unexpected side effects)
-Oa<x>=<y> Set alignment
-Oo[NO]<x> Enable or disable optimizations; see fpc -i or fpc -io for possible values
-Op<x> Set target cpu for optimizing; see fpc -i or fpc -ic for possible values
-Os Optimize for size rather than speed
-Ow<x> Perform whole-program optimization <x>; see fpc -i or fpc -iw for possible values
-OW<x> Generate whole-program optimization feedback for optimization <x>; see fpc -i or fpc -iw for possible values
-pg Generate profile code for gprof (defines FPC_PROFILE)
-R<x> Assembler reading style:
-Rdefault Use default assembler for target
-s Do not call assembler and linker
-sh Generate script to link on host, automatically switches to external assembler writer
-sr Skip register allocation phase (use with -alr), automatically switches to external assembler writer
-st Generate script to assemble and link on target, automatically switches to external assembler writer
-sT Generate script only to link on target
-S<x> Syntax options:
-S2 Same as -Mobjfpc
-Sa Turn on assertions
-Sc Support operators like C (*=,+=,/= and -=)
-Sd Same as -Mdelphi
-Se<x> Error options. <x> is a combination of the following:
<n> : Compiler halts after the <n> errors (default is 1)
h : Compiler also halts after hints
n : Compiler also halts after notes
w : Compiler also halts after warnings
-Sf Enable certain features in compiler and RTL; see fpc -i or fpc -ir for possible values)
-Sg Enable LABEL and GOTO (default in -Mtp and -Mdelphi)
-Sh Use reference counted strings (ansistring by default) instead of shortstrings
-Si Turn on inlining of procedures/functions declared as "inline"
-SI<x> Set interface style to <x>
-SIcom COM compatible interface (default)
-SIcorba CORBA compatible interface
-Sj Allows typed constants to be writeable (default in all modes)
-Sk Load fpcylix unit
-Sm Support macros like C (global)
-So Same as -Mtp
-Sr Transparent file names in ISO mode
-Ss Constructor name must be "Init" (destructor name must be "Done")
-Sv Support vector processing (use CPU vector extensions if available)
-Sx Enable exception keywords (default in Delphi/ObjFPC modes)
-Sy @<pointer> returns a typed pointer, same as $T+
-T<x> Target operating system:
-Tandroid Android
-Tjava Java
-t<x> Target architecture
* Defines FPC_SUBTARGET_<x>
* Defines FPC_SUBTARGET as <arg>
* Additionally reads config file fpc-<subtarget>.cfg
-u<x> Undefines the symbol <x>
-U Unit options:
-Un Do not check where the unit name matches the file name
-Ur Generate release unit files (never automatically recompiled)
-Us Compile a system unit
-v<x> Be verbose. <x> is a combination of the following letters:
0 : Show nothing (except errors)
a : Show everything
b : Write file names messages with full path
c : Show conditionals
d : Show debug info
e : Show errors (default)
h : Show hints
i : Show general info
j : Always add main source (useful when run in parallel make)
l : Show linenumbers
m<x>,<y> : Do not show messages numbered <x> and <y>
n : Show notes
p : Write tree.log with parse tree
q : Show message numbers
r : Rhide/GCC compatibility mode
s : Show time stamps
t : Show tried/used files
u : Show unit info
v : Write fpcdebug.txt with lots of debugging info
w : Show warnings
x : Show info about invoked tools
z : Write output to stderr
-W<x> Target-specific options (targets)
-WX Enable executable stack (Linux)
-x<suff> Set suffix for compiler executable (fpc command only)
-X Executable options:
-X9 Generate linkerscript for GNU Binutils ld older than version 2.19.1 (Linux)
-Xa Generate code which allows to use more than 2 GB static data on 64 bit targets (Linux)
-Xc Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Linux)
-Xd Do not search default library path (sometimes required for cross-compiling when not using -XR)
-XD Try to link units dynamically (defines FPC_LINK_DYNAMIC)
-Xe Use external linker
-Xf Substitute pthread library name for linking (BSD)
-Xg Create debuginfo in a separate file and add a debuglink section to executable
-Xi Use internal linker
-XLA Define library substitutions for linking
-XLD Exclude default order of standard libraries
-XLO Define order of library linking
-Xm Generate link map
-XM<x> Set the name of the 'main' program routine (default is 'main')
-Xn Use target system native linker instead of GNU ld (Solaris, AIX)
-XP<x> Prepend the binutils names with the prefix <x>
-Xr<x> Set the linker's rlink-path to <x> (needed for cross compile, see the ld manual for more information) (BeOS, Linux)
-XR<x> Prepend <x> to all linker search paths (BeOS, Darwin, FreeBSD, Linux, Mac OS, Solaris)
-Xs Strip all symbols from executable
-XS Try to link units statically (default, defines FPC_LINK_STATIC)
-Xt Link with static libraries (-static is passed to linker)
-Xu Generate executable in UF2 format (embedded targets only)
-Xv Generate table for Virtual Entry calls
-XV Use VLink as external linker (default on Amiga, Atari, Sinclair QL)
-XX Try to smartlink units (defines FPC_LINK_SMART)
-? Show this help
-h Shows this help without waiting