2254
2393
switches := '';
2256
{ options of fpc 2.2.2 :
2395
{ options of fpc 2.7.1 :
2397
Free Pascal Compiler version 2.7.1 [2012/01/23] for x86_64
2398
Copyright (c) 1993-2011 by Florian Klaempfl and others
2399
/usr/lib/fpc/2.7.1/ppcx64 [options] <inputfile> [options]
2258
2400
Put + after a boolean switch option to enable it, - to disable it
2259
-a The compiler doesn't delete the generated assembler file
2260
-al List sourcecode lines in assembler file
2261
-an List node info in assembler file
2262
-ap Use pipes instead of creating temporary assembler files
2263
-ar List register allocation/release info in assembler file
2264
-at List temp allocation/release info in assembler file
2265
-A<x> Output format:
2266
-Adefault Use default assembler
2267
-Aas Assemble using GNU AS
2268
-Anasmcoff COFF (Go32v2) file using Nasm
2269
-Anasmelf ELF32 (Linux) file using Nasm
2270
-Anasmwin32Win32 object file using Nasm
2271
-AnasmwdosxWin32/WDOSX object file using Nasm
2272
-Awasm Obj file using Wasm (Watcom)
2273
-Anasmobj Obj file using Nasm
2274
-Amasm Obj file using Masm (Microsoft)
2275
-Atasm Obj file using Tasm (Borland)
2276
-Aelf ELF (Linux) using internal writer
2277
-Acoff COFF (Go32v2) using internal writer
2278
-Apecoff PE-COFF (Win32) using internal writer
2279
-b Generate browser info
2280
-bl Generate local symbol info
2281
-B Build all modules
2282
-C<x> Code generation options:
2283
-Cc<x> Set default calling convention to <x>
2284
-CD Create also dynamic library (not supported)
2285
-Ce Compilation with emulated floating point opcodes
2286
-Cf<x> Select fpu instruction set to use, see fpc -i for possible values
2287
-CF<x> Minimal floating point constant precision (default, 32, 64)
2288
-Cg Generate PIC code
2289
-Ch<n> <n> bytes heap (between 1023 and 67107840)
2291
-Cn Omit linking stage
2292
-Co Check overflow of integer operations
2293
-CO Check for possible overflow of integer operations
2294
-Cp<x> Select instruction set, see fpc -i for possible values
2295
-CP<x>=<y> packing settings
2296
-CPPACKSET=<y> <y> set allocation: 0, 1 or DEFAULT or NORMAL, 2, 4 and 8
2298
-CR Verify object method call validity
2299
-Cs<n> Set stack size to <n>
2301
-CX Create also smartlinked library
2302
-d<x> Defines the symbol <x>
2303
-D Generate a DEF file
2304
-Dd<x> Set description to <x>
2305
-Dv<x> Set DLL version to <x>
2306
-e<x> Set path to executable
2309
-F<x> Set file names and paths:
2310
-Fa<x>[,y] (for a program) load units <x> and [y] before uses is parsed
2311
-Fc<x> Set input codepage to <x>
2312
-FC<x> Set RC compiler binary name to <x>
2313
-FD<x> Set the directory where to search for compiler utilities
2314
-Fe<x> Redirect error output to <x>
2315
-Ff<x> Add <x> to framework path (Darwin only)
2316
-FE<x> Set exe/unit output path to <x>
2317
-Fi<x> Add <x> to include path
2318
-Fl<x> Add <x> to library path
2319
-FL<x> Use <x> as dynamic linker
2320
-Fm<x> Load unicode conversion table from <x>.txt in the compiler dir
2321
-Fo<x> Add <x> to object path
2322
-Fr<x> Load error message file <x>
2323
-FR<x> Set resource (.res) linker to <x>
2324
-Fu<x> Add <x> to unit path
2325
-FU<x> Set unit output path to <x>, overrides -FE
2326
-g Generate debug information (default format for target)
2327
-gc Generate checks for pointers
2328
-gh Use heaptrace unit (for memory leak/corruption debugging)
2329
-gl Use line info unit (show more info with backtraces)
2330
-go<x> Set debug information options
2331
-godwarfsets Enable Dwarf set debug information (breaks gdb < 6.5)
2332
-gp Preserve case in stabs symbol names
2333
-gs Generate stabs debug information
2334
-gt Trash local variables (to detect uninitialized uses)
2335
-gv Generates programs traceable with valgrind
2336
-gw Generate dwarf-2 debug information (same as -gw2)
2337
-gw2 Generate dwarf-2 debug information
2338
-gw3 Generate dwarf-3 debug information
2340
-iD Return compiler date
2341
-iV Return short compiler version
2342
-iW Return full compiler version
2343
-iSO Return compiler OS
2344
-iSP Return compiler host processor
2345
-iTO Return target OS
2346
-iTP Return target processor
2347
-I<x> Add <x> to include path
2348
-k<x> Pass <x> to the linker
2350
-M<x> Set language mode to <x>
2351
-Mfpc Free Pascal dialect (default)
2352
-Mobjfpc FPC mode with Object Pascal support
2353
-Mdelphi Delphi 7 compatibility mode
2354
-Mtp TP/BP 7.0 compatibility mode
2355
-Mmacpas Macintosh Pascal dialects compatibility mode
2356
-n Do not read the default config files
2357
-N<x> Node tree optimizations
2359
-o<x> Change the name of the executable produced to <x>
2360
-O<x> Optimizations:
2361
-O- Disable optimizations
2362
-O1 Level 1 optimizations (quick and debugger friendly)
2363
-O2 Level 2 optimizations (-O1 + quick optimizations)
2364
-O3 Level 3 optimizations (-O2 + slow optimizations)
2365
-Oa<x>=<y> Set alignment
2366
-Oo[NO]<x> Enable or disable optimizations, see fpc -i for possible values
2367
-Op<x> Set target cpu for optimizing, see fpc -i for possible values
2368
-Os Optimize for size rather than speed
2369
-pg Generate profile code for gprof (defines FPC_PROFILE)
2370
-R<x> Assembler reading style:
2371
-Rdefault Use default assembler for target
2372
-Ratt Read AT&T style assembler
2373
-Rintel Read Intel style assembler
2374
-S<x> Syntax options:
2375
-S2 Same as -Mobjfpc
2376
-Sc Support operators like C (*=,+=,/= and -=)
2377
-Sa Turn on assertions
2378
-Sd Same as -Mdelphi
2379
-Se<x> Error options. <x> is a combination of the following:
2380
<n> : Compiler halts after the <n> errors (default is 1)
2381
w : Compiler also halts after warnings
2382
n : Compiler also halts after notes
2383
h : Compiler also halts after hints
2384
-Sg Enable LABEL and GOTO (default in -Mtp and -Mdelphi)
2385
-Sh Use ansistrings by default instead of shortstrings
2386
-Si Turn on inlining of procedures/functions declared as "inline"
2387
-Sk Load fpcylix unit
2388
-SI<x> Set interface style to <x>
2389
-SIcom COM compatible interface (default)
2390
-SIcorba CORBA compatible interface
2391
-Sm Support macros like C (global)
2393
-Ss Constructor name must be init (destructor must be done)
2394
-St Allow static keyword in objects
2395
-Sx Enable exception keywords (default in Delphi/ObjFPC modes)
2396
-s Do not call assembler and linker
2397
-sh Generate script to link on host
2398
-st Generate script to link on target
2399
-sr Skip register allocation phase (use with -alr)
2400
-T<x> Target operating system:
2401
-Temx OS/2 via EMX (including EMX/RSX extender)
2403
-Tgo32v2 Version 2 of DJ Delorie DOS extender
2406
-Tnetware Novell Netware Module (clib)
2407
-Tnetwlibc Novell Netware Module (libc)
2409
-Tos2 OS/2 / eComStation
2410
-Tsunos SunOS/Solaris
2411
-Tsymbian Symbian OS
2412
-Twatcom Watcom compatible DOS extender
2413
-Twdosx WDOSX DOS extender
2414
-Twin32 Windows 32 Bit
2416
-u<x> Undefines the symbol <x>
2418
-Un Do not check where the unit name matches the file name
2419
-Ur Generate release unit files (never automatically recompiled)
2420
-Us Compile a system unit
2421
-v<x> Be verbose. <x> is a combination of the following letters:
2422
e : Show errors (default) 0 : Show nothing (except errors)
2423
w : Show warnings u : Show unit info
2424
n : Show notes t : Show tried/used files
2425
h : Show hints c : Show conditionals
2426
i : Show general info d : Show debug info
2427
l : Show linenumbers r : Rhide/GCC compatibility mode
2428
a : Show everything x : Executable info (Win32 only)
2429
b : Write file names messages with full path
2430
v : Write fpcdebug.txt with p : Write tree.log with parse tree
2431
lots of debugging info
2432
-W<x> Target-specific options (targets)
2433
-Wb Create a bundle instead of a library (Darwin)
2434
-WB Create a relocatable image (Windows)
2435
-WC Specify console type application (EMX, OS/2, Windows)
2436
-WD Use DEFFILE to export functions of DLL or EXE (Windows)
2437
-WF Specify full-screen type application (EMX, OS/2)
2438
-WG Specify graphic type application (EMX, OS/2, Windows)
2439
-WN Do not generate relocation code, needed for debugging (Windows)
2440
-WR Generate relocation code (Windows)
2441
-X Executable options:
2442
-Xc Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Linux)
2443
-Xd Do not use standard library search path (needed for cross compile)
2444
-Xe Use external linker
2445
-Xg Create debuginfo in a separate file and add a debuglink section to executable
2446
-XD Try to link units dynamically (defines FPC_LINK_DYNAMIC)
2447
-Xi Use internal linker
2448
-Xm Generate link map
2449
-XM<x> Set the name of the 'main' program routine (default is 'main')
2450
-XP<x> Prepend the binutils names with the prefix <x>
2451
-Xr<x> Set library search path to <x> (needed for cross compile) (BeOS, Linux)
2452
-XR<x> Prepend <x> to all linker search paths (BeOS, Darwin, FreeBSD, Linux, Mac OS, Solaris)
2453
-Xs Strip all symbols from executable
2454
-XS Try to link units statically (default, defines FPC_LINK_STATIC)
2455
-Xt Link with static libraries (-static is passed to linker)
2456
-XX Try to smartlink units (defines FPC_LINK_SMART)
2459
-h Shows this help without waiting
2401
-a The compiler doesn't delete the generated assembler file
2402
-al List sourcecode lines in assembler file
2403
-an List node info in assembler file
2404
-ap Use pipes instead of creating temporary assembler files
2405
-ar List register allocation/release info in assembler file
2406
-at List temp allocation/release info in assembler file
2407
-A<x> Output format:
2408
-Adefault Use default assembler
2409
-Aas Assemble using GNU AS
2410
-Agas Assemble using GNU GAS
2411
-Agas-darwinAssemble darwin Mach-O64 using GNU GAS
2412
-Amasm Win64 object file using ml64 (Microsoft)
2413
-Apecoff PE-COFF (Win64) using internal writer
2414
-Aelf ELF (Linux-64bit) using internal writer
2415
-b Generate browser info
2416
-bl Generate local symbol info
2417
-B Build all modules
2418
-C<x> Code generation options:
2419
-C3<x> Turn on ieee error checking for constants
2420
-Ca<x> Select ABI, see fpc -i for possible values
2421
-Cb Generate big-endian code
2422
-Cc<x> Set default calling convention to <x>
2423
-CD Create also dynamic library (not supported)
2424
-Ce Compilation with emulated floating point opcodes
2425
-Cf<x> Select fpu instruction set to use, see fpc -i for possible values
2426
-CF<x> Minimal floating point constant precision (default, 32, 64)
2427
-Cg Generate PIC code
2428
-Ch<n> <n> bytes heap (between 1023 and 67107840)
2430
-Cn Omit linking stage
2431
-Co Check overflow of integer operations
2432
-CO Check for possible overflow of integer operations
2433
-Cp<x> Select instruction set, see fpc -i for possible values
2434
-CP<x>=<y> packing settings
2435
-CPPACKSET=<y> <y> set allocation: 0, 1 or DEFAULT or NORMAL, 2, 4 and 8
2437
-CR Verify object method call validity
2438
-Cs<n> Set stack checking size to <n>
2439
-Ct Stack checking (for testing only, see manual)
2440
-CX Create also smartlinked library
2441
-d<x> Defines the symbol <x>
2442
-D Generate a DEF file
2443
-Dd<x> Set description to <x>
2444
-Dv<x> Set DLL version to <x>
2445
-e<x> Set path to executable
2448
-F<x> Set file names and paths:
2449
-Fa<x>[,y] (for a program) load units <x> and [y] before uses is parsed
2450
-Fc<x> Set input codepage to <x>
2451
-FC<x> Set RC compiler binary name to <x>
2452
-Fd Disable the compiler's internal directory cache
2453
-FD<x> Set the directory where to search for compiler utilities
2454
-Fe<x> Redirect error output to <x>
2455
-Ff<x> Add <x> to framework path (Darwin only)
2456
-FE<x> Set exe/unit output path to <x>
2457
-Fi<x> Add <x> to include path
2458
-Fl<x> Add <x> to library path
2459
-FL<x> Use <x> as dynamic linker
2460
-Fm<x> Load unicode conversion table from <x>.txt in the compiler dir
2461
-Fo<x> Add <x> to object path
2462
-Fr<x> Load error message file <x>
2463
-FR<x> Set resource (.res) linker to <x>
2464
-Fu<x> Add <x> to unit path
2465
-FU<x> Set unit output path to <x>, overrides -FE
2466
-FW<x> Store generated whole-program optimization feedback in <x>
2467
-Fw<x> Load previously stored whole-program optimization feedback from <x>
2468
-g Generate debug information (default format for target)
2469
-gc Generate checks for pointers
2470
-gh Use heaptrace unit (for memory leak/corruption debugging)
2471
-gl Use line info unit (show more info with backtraces)
2472
-go<x> Set debug information options
2473
-godwarfsets Enable DWARF 'set' type debug information (breaks gdb < 6.5)
2474
-gostabsabsincludes Store absolute/full include file paths in Stabs
2475
-godwarfmethodclassprefix Prefix method names in DWARF with class name
2476
-gp Preserve case in stabs symbol names
2477
-gs Generate Stabs debug information
2478
-gt Trash local variables (to detect uninitialized uses)
2479
-gv Generates programs traceable with Valgrind
2480
-gw Generate DWARFv2 debug information (same as -gw2)
2481
-gw2 Generate DWARFv2 debug information
2482
-gw3 Generate DWARFv3 debug information
2483
-gw4 Generate DWARFv4 debug information (experimental)
2485
-iD Return compiler date
2486
-iV Return short compiler version
2487
-iW Return full compiler version
2488
-iSO Return compiler OS
2489
-iSP Return compiler host processor
2490
-iTO Return target OS
2491
-iTP Return target processor
2492
-I<x> Add <x> to include path
2493
-k<x> Pass <x> to the linker
2495
-M<x> Set language mode to <x>
2496
-Mfpc Free Pascal dialect (default)
2497
-Mobjfpc FPC mode with Object Pascal support
2498
-Mdelphi Delphi 7 compatibility mode
2499
-Mtp TP/BP 7.0 compatibility mode
2500
-Mmacpas Macintosh Pascal dialects compatibility mode
2501
-n Do not read the default config files
2502
-N<x> Node tree optimizations
2504
-o<x> Change the name of the executable produced to <x>
2505
-O<x> Optimizations:
2506
-O- Disable optimizations
2507
-O1 Level 1 optimizations (quick and debugger friendly)
2508
-O2 Level 2 optimizations (-O1 + quick optimizations)
2509
-O3 Level 3 optimizations (-O2 + slow optimizations)
2510
-Oa<x>=<y> Set alignment
2511
-Oo[NO]<x> Enable or disable optimizations, see fpc -i for possible values
2512
-Op<x> Set target cpu for optimizing, see fpc -i for possible values
2513
-OW<x> Generate whole-program optimization feedback for optimization <x>, see fpc -i for possible values
2514
-Ow<x> Perform whole-program optimization <x>, see fpc -i for possible values
2515
-Os Optimize for size rather than speed
2516
-pg Generate profile code for gprof (defines FPC_PROFILE)
2517
-R<x> Assembler reading style:
2518
-Rdefault Use default assembler for target
2519
-S<x> Syntax options:
2520
-S2 Same as -Mobjfpc
2521
-Sc Support operators like C (*=,+=,/= and -=)
2522
-Sa Turn on assertions
2523
-Sd Same as -Mdelphi
2524
-Se<x> Error options. <x> is a combination of the following:
2525
<n> : Compiler halts after the <n> errors (default is 1)
2526
w : Compiler also halts after warnings
2527
n : Compiler also halts after notes
2528
h : Compiler also halts after hints
2529
-Sg Enable LABEL and GOTO (default in -Mtp and -Mdelphi)
2530
-Sh Use ansistrings by default instead of shortstrings
2531
-Si Turn on inlining of procedures/functions declared as "inline"
2532
-Sk Load fpcylix unit
2533
-SI<x> Set interface style to <x>
2534
-SIcom COM compatible interface (default)
2535
-SIcorba CORBA compatible interface
2536
-Sm Support macros like C (global)
2538
-Ss Constructor name must be init (destructor must be done)
2539
-Sx Enable exception keywords (default in Delphi/ObjFPC modes)
2540
-Sy @<pointer> returns a typed pointer, same as $T+
2541
-s Do not call assembler and linker
2542
-sh Generate script to link on host
2543
-st Generate script to link on target
2544
-sr Skip register allocation phase (use with -alr)
2545
-T<x> Target operating system:
2546
-Tdarwin Darwin/Mac OS X
2548
-Twin64 Win64 (64 bit Windows systems)
2549
-u<x> Undefines the symbol <x>
2551
-Un Do not check where the unit name matches the file name
2552
-Ur Generate release unit files (never automatically recompiled)
2553
-Us Compile a system unit
2554
-v<x> Be verbose. <x> is a combination of the following letters:
2555
e : Show errors (default) 0 : Show nothing (except errors)
2556
w : Show warnings u : Show unit info
2557
n : Show notes t : Show tried/used files
2558
h : Show hints c : Show conditionals
2559
i : Show general info d : Show debug info
2560
l : Show linenumbers r : Rhide/GCC compatibility mode
2561
s : Show time stamps q : Show message numbers
2562
a : Show everything x : Executable info (Win32 only)
2563
b : Write file names messages p : Write tree.log with parse tree
2564
with full path v : Write fpcdebug.txt with
2565
lots of debugging info
2566
m<x>,<y> : Don't show messages numbered <x> and <y>
2567
-W<x> Target-specific options (targets)
2568
-WA Specify native type application (Windows)
2569
-Wb Create a bundle instead of a library (Darwin)
2570
-WB Create a relocatable image (Windows)
2571
-WBxxxx Set image base to xxxx (Windows)
2572
-WC Specify console type application (EMX, OS/2, Windows)
2573
-WD Use DEFFILE to export functions of DLL or EXE (Windows)
2574
-We Use external resources (Darwin)
2575
-WG Specify graphic type application (EMX, OS/2, Windows)
2576
-Wi Use internal resources (Darwin)
2577
-WI Turn on/off the usage of import sections (Windows)
2578
-WN Do not generate relocation code, needed for debugging (Windows)
2579
-WR Generate relocation code (Windows)
2580
-WX Enable executable stack (Linux)
2581
-X Executable options:
2582
-Xc Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Linux)
2583
-Xd Do not use standard library search path (needed for cross compile)
2584
-Xe Use external linker
2585
-Xg Create debuginfo in a separate file and add a debuglink section to executable
2586
-XD Try to link units dynamically (defines FPC_LINK_DYNAMIC)
2587
-Xi Use internal linker
2588
-Xm Generate link map
2589
-XM<x> Set the name of the 'main' program routine (default is 'main')
2590
-XP<x> Prepend the binutils names with the prefix <x>
2591
-Xr<x> Set the linker's rlink-path to <x> (needed for cross compile, see the ld manual for more information) (BeOS, Linux)
2592
-XR<x> Prepend <x> to all linker search paths (BeOS, Darwin, FreeBSD, Linux, Mac OS, Solaris)
2593
-Xs Strip all symbols from executable
2594
-XS Try to link units statically (default, defines FPC_LINK_STATIC)
2595
-Xt Link with static libraries (-static is passed to linker)
2596
-XX Try to smartlink units (defines FPC_LINK_SMART)
2599
-h Shows this help without waiting
2601
------------------------------------------------------------------------------
2603
Free Pascal Compiler version 2.7.1
2605
Compiler Date : 2012/01/23
2606
Compiler CPU Target: x86_64
2613
Solaris for x86-64 (under development)
2615
Supported CPU instruction sets:
2618
Supported FPU instruction sets:
2622
Supported ABI targets:
2629
Supported Optimizations:
2636
Supported Whole Program Optimizations:
2642
Supported Microcontroller types:
2464
2646
{ --------------- Parsing Tab ------------------- }