Browse Source

+ Updated options

michael 20 năm trước cách đây
mục cha
commit
75afe87443
1 tập tin đã thay đổi với 179 bổ sung37 xóa
  1. 179 37
      install/man/man1/fpc.1

+ 179 - 37
install/man/man1/fpc.1

@@ -26,16 +26,19 @@ The current main targets are
 .I Go32V2
 (Dos DJGPP extender),
 .I Freebsd,
+.I OpenBSD,
+.I NetBSD,
 .I Linux,
-.I OS/2
-.I BeOS
+.I OS/2,
+.I BeOS,
+.I Netware,
 .I Solaris
 and
 .I Win32.
 The other targets (M68K compilers for Atari and Amiga) are either based on older
 versions of the compiler or are still in development.
 .PP
-This manpage is meant for quick\-reference only. FPC comes with a great (600+ pages)
+This manpage is meant for quick\-reference only. FPC comes with a great (2000+ pages)
 manual, which is updated constantly, while this man page can be out of date.
 
 .SH Version number
@@ -194,14 +197,10 @@ the file
 .I xxx
 .
 .TP
-.BI \-Fg xxx
-(linux only, obsolete) 
+.BI \-FE xxx
+set the executable/unit output path to
 .I xxx
- specifies the path where the compiler can find the
-.I GNU C
-library. This is superseded by the
-.I \-Fl
-option.
+.
 .TP
 .BI \-Fi xxx
 adds 
@@ -240,7 +239,7 @@ By default, the compiler only searches for units in the current directory
 and the directory where the compiler itself resides. This option tells the
 compiler also to look in the directory 
 .I xxx
-\.
+.
 .TP
 .BI \-FU xxx
 Tells the compiler to write units in directory 
@@ -252,10 +251,6 @@ Add
 .I xxx
 to the include file search path.
 This path is used when looking for include files.
-.TP
-By default, the compiler only searches for units in the current directory
-and the directory where the compiler itself resides. This option tells the
-compiler also to look in the directory "xxx."
 
 .PP Options controlling the kind of output
 for more information on these options, see also the programmers manual.
@@ -266,8 +261,20 @@ This also counts for the (possibly) generated batch script.
 .TP
 .BI \-al
 Tells the compiler to include the sourcecode lines
-in the assembler file as comments. This feature is still experimental, and
-should be used with caution.
+in the assembler file as comments. 
+.TP
+.BI \-an
+Tells the compiler to include node information in the generated assembler file.
+This is mainly for use by the compiler developers.
+.TP
+.BI \-ap
+Tells the compiler to use pipes to communicate with the assembler.
+.TP
+.BI \-ar
+Tells the compiler to include register allocation/deallocation information.
+.TP
+.BI \-at
+Tells the compiler to include temparary register allocation/deallocation information.
 .TP
 .BI -A xxx
 specifies what kind of assembler should be generated . Here
@@ -279,6 +286,15 @@ is one of the following :
 A unix .o (object) file, using
 .I GNU AS
 .TP
+.I coff
+coff object file (go32) using internal writer.
+.TP
+.I default
+Use the default writer for the current platform.
+.TP
+.I elf
+elf object file (linux, 32-bit only) using internal writer.
+.TP
 .I nasmcoff
 a coff file using the
 .I nasm
@@ -289,7 +305,7 @@ a ELF32 file (LINUX only) using the
 .I nasm
 assembler.
 .TP
-.I nasmonj
+.I nasmobj
 a obj file  using the
 .I nasm
 assembler.
@@ -299,16 +315,34 @@ An obj file using the Microsoft
 .I masm
 assembler.
 .TP
+.I pecoff
+pecoff object file (win32) using internal writer.
+.TP
 .I tasm
 An obj file using the Borland
 .I tasm
 assembler.
+.TP
+.I wasm
+An obj file using the Watcom assembler.
 .RE
-
+.TP
+.BI \-Ccxxx
+set the default calling convention to XXX.
 .TP
 .BI \-CD
 Create dynamic library.
 .TP
+.TP
+.BI \-Ce
+Compile using emulated floating point instructions.
+.TP
+.BI \-Cfxxx
+Set the used floating point instruction set to xxx.
+.TP
+.BI \-Cg
+Generate PIC code.
+.TP
 .BI \-Ch xxx
 Reserves 
 .I xxx
@@ -325,6 +359,9 @@ Omit the linking stage.
 .BI \-Co
 Generate Integer overflow checking code.
 .TP
+.BI \-CR
+Verify object call validity (method calls mustbe valid).
+.TP
 .BI \-Cr
 Generate Range checking code.
 .TP
@@ -333,14 +370,11 @@ Set stack size to
 .I xxx
 bytes.
 .TP
-.BI \-CS
-Create static library.
-.TP
 .BI \-Ct
 generate stack checking code.
 .TP
-.BI \-Cx
-Use smartlinking when compiling and linking units.
+.BI \-CX
+Create a smartlinked library.
 .TP
 .BI \-d xxx
 Define the symbol name 
@@ -354,7 +388,7 @@ Same as -Cn.
 .BI \-g
 Generate debugging information for debugging with
 .I GDB
-
+.
 .TP
 .BI \-gg
 idem as 
@@ -366,6 +400,15 @@ generate debugging info for dbx.
 .BI \-gh
 use the heaptrc unit (see the units part of the FPC manual).
 .TP
+.BI \-gl
+use the lineinfo unit for line information (see the units part of the FPC manual).
+.TP
+.BI \-gv
+Generate information for debugging with valgrind.
+.TP
+.BI \-gw
+Generate DWARF debugging information.
+.TP
 .BI \-O xxx
 optimize the compiler's output; 
 .I xxx
@@ -424,40 +467,72 @@ Instead, the compiler writes a script, PPAS.BAT under DOS, or
 ppas.sh under Linux, which can then be executed to produce an
 executable.
 .TP
+.BI \-sh
+Tells the compiler to generate a script that can be used to assemble 
+and link on the host system, not on the target system. Use this when 
+cross-compiling.
+.TP
+.BI \-sr
+Skip register allocation stage in compiler (use with -ar) 
+.TP
+.BI \-st
+Tells the compiler to generate a script that can be used to assemble 
+and link on the target system, not on the host system. Use this when 
+cross-compiling.
+.TP
 .BI \-T xxx
 Specifies the target operating system. 
 .I xxx
 can be one of the following:
 .RS
 .TP
+.I EMX
+OS/2 and DOS via the EMX extender.
+.TP
+.I FREEBSD
+FreeBSD
+.TP
 .I GO32V2
 DOS and version 2 of the DJ DELORIE extender.
 .TP
 .I LINUX
 Linux.
 .TP
+.I NETBSD
+Netbsd.
+.TP
+.I NETWARE
+Novell Netware module (clib)
+.TP
+.I NETLIBC
+Novell Netware module (libc)
+.TP
+.I OPENBSD
+OpenBSD
+.TP
 .I OS2
-OS/2 using EMX
+OS/2 (native mode)
+.TP
+.I SunOS
+Solaris SunOS
+.TP
+.I WATCOM
+WatCOM dos extender
+.TP
+.I WDOSX
+WDosX Dos extender
 .TP
 .I WIN32
 Windows 32 bit.
-.TP
-.I BeOS
-BeOS 80x86
 .RE
 .TP
 .BI -u xxx
 undefine the symbol 
 .I xxx
-\. This is the opposite of the 
+if it is defined. This is the opposite of the 
 .B \-d 
 option.
 .TP
-.BI \-u xxx
-Undefine symbol 
-.I xxx
-\.
-.TP
 .BI \-X x
 Executable options. These tell the compiler what
 kind of executable should be generated. the parameter 
@@ -472,16 +547,60 @@ you start to port Free Pascal to another operating system.
 .I D
 Link with dynamic libraries (defines the FPC_LINK_DYNAMIC symbol)
 .TP
+.I d
+Don't use the standard library path. Use this when cross-compiling, to avoid
+linking with the host OS libraries.
+.TP
+.I Pxxx
+Prepend the names of binutils (as, ld) with xxx. For use when cross-compiling.
+.TP
+.I rxxx
+Set the library search path to xxx.
+.TP
 .I s
 Strip the symbols from the executable.
 .TP
 .I S
-Link with static libraries (defines th FPC_LINK_STATIC symbol)
+Link with static libraries (defines the FPC_LINK_STATIC symbol)
+.TP
+.I t
+Link statically (passes -static to the linker)
+.TP
+.I X
+Link smart. Using this option sets the FPC_LINK_SMART symbol.
 .RE
 
 .PP
 Options concerning the sources (language options)
-for more information on these options, see also Programmers Manual
+for more information on these options, see also in the Programmers Manual
+.TP
+.BI \-M mode
+Specify the language mode. 
+.I mode
+can be one of the following:
+.RS
+.TP
+.I delphi
+Delphi-compatibility mode. This loads the objpas unit, and switches on ansistring mode (
+.B -Sh
+).
+.TP
+.I fpc
+Default mode.
+.TP
+.I gpc
+GNU pascal mode (does nothing at the moment)
+.TP
+.I macpas
+MAC pascal mode. This loads the macpas unit and switches on some Mac extensions
+(mainly macros)
+.TP
+.I objfpc
+Object Pascal mode. This loads the objpas unit.
+.TP
+.I tp
+Turbo Pascal mode.
+.RE
 .TP
 .BI \-R xxx
 Specifies what assembler you use in your "asm" assembler code
@@ -504,6 +623,9 @@ file.
 .BI \-S2
 Switch on Delphi 2 extensions.
 .TP
+.BI \-Sa
+Generate code for assertions.
+.TP
 .BI \-Sc
 Support C-style operators, i.e. *=, +=, /= and -=.
 .TP
@@ -519,6 +641,22 @@ the compiler will stop after the first error.
 .BI \-Sg
 Support the label and goto commands.
 .TP
+.BI \-Sh
+use ansistrings by default.
+.TP
+.BI \-SIxxx
+Specify the kind of interfaces. 
+.I xxx
+can be one of the following:
+.RS
+.TP
+.I COM 
+use COM interfaces. (all interfaces descend from IUnknown)
+.TP
+.I CORBA 
+use CORBA interfaces. (no inheritance is supposed)
+.RE
+.TP
 .BI \-Si
 Support C++ style INLINE.
 .TP
@@ -545,6 +683,10 @@ Allow the "static" keyword in objects.
 Do not check the unit name. Normally, the unit name
 is the same as the filename. This option allows both to be different.
 .TP
+.BI \-Ur
+Create a release unit. This sets a special flag in the unit, causing the 
+compiler not to look for sources.
+.TP
 .BI \-Us
 Compile a system unit. This option causes the
 compiler to define only some very basic types.