mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 16:28:24 +02:00
+ Some more explanations. Options corrected
This commit is contained in:
parent
2f9b5b1b2b
commit
2a07cce2eb
268
docs/user.tex
268
docs/user.tex
@ -655,6 +655,23 @@ your source file has uppercase letters in it. Only when the compiler tries to
|
||||
recompile the unit, it will not find your source because of the uppercase
|
||||
letters.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Units libraries and smartlinking
|
||||
\section{Units, libraries and smartlinking}
|
||||
The \fpc compiler supports smartlinking and the creation of libraries.
|
||||
However, the default behaviour is to compile each unit into 1 big object
|
||||
file, which will be linked as a whole into your program.
|
||||
|
||||
Not only is it possible to compile a shared library under \windows and
|
||||
\linux, but also it is possible to take existing units and put them
|
||||
together in 1 static or shared library.
|
||||
|
||||
|
||||
begin{}
|
||||
|
||||
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Creating an executable for GO32V1, PMODE/DJ targets
|
||||
\section{Creating an executable for GO32V1 and PMODE/DJ targets}
|
||||
@ -897,7 +914,7 @@ You can still pass a configuration file with the \var{@} option.
|
||||
\item \var{h} : Tells the compiler to issue hints.
|
||||
\item \var{l} : Tells the compiler to show the line numbers as it processes a
|
||||
file. Numbers are shown per 100.
|
||||
\item \var{u} : Tells the compiler to print the names of the files it opens.
|
||||
\item \var{u} : Tells the compiler to print information on the units it loads.
|
||||
\item \var{t} : Tells the compiler to print the names of the files it tries
|
||||
to open.
|
||||
\item \var{p} : Tells the compiler to print the names of procedures and
|
||||
@ -932,6 +949,11 @@ compiler can find the executables \file{as} (the assembler) and \file{ld}
|
||||
\item [-Fexxx] This option tells the compiler to write errors, etc. to
|
||||
the file named \file{xxx}.
|
||||
\olabel{Fe}
|
||||
\item [-FExxx] tells the compiler to write the executable and units in
|
||||
directory \file{xxx} instead of th current directory.
|
||||
\olabel{FE}
|
||||
\item [-FIxxx] Adds \var{xxx} to the include file search path.
|
||||
\olabel{FI}
|
||||
\item [-Flxxx] Adds \var{xxx} to the library searching path, and is passed
|
||||
to the linker.
|
||||
\olabel{Fl}
|
||||
@ -939,23 +961,22 @@ to the linker.
|
||||
dynamic linker. Default this is \file{/lib/ld-linux.so.2}, or
|
||||
\file{/Hlib/ld-linux.so.1}, depending on which one is found first.
|
||||
\olabel{FL}
|
||||
\item[-Foxxx] Adds \file{xxx} to the object file path. This path is used
|
||||
when looking for files that need to be linked in.
|
||||
\item[-Foxxx] Adds \file{xxx} to the object file search path.
|
||||
This path is used when looking for files that need to be linked in.
|
||||
\olabel{Fo}
|
||||
\item [-Frxxx] \file{xxx} specifies the file which contain the compiler
|
||||
messages. Default the compiler ahs built-in messages. Specifying this option
|
||||
messages. Default the compiler has built-in messages. Specifying this option
|
||||
will override the default messages.
|
||||
\olabel{Fr}
|
||||
\item [-Fuxxx] Add \file{xxx} to the unit path. Units are first searched
|
||||
in the current directory. If they are not found there then the compiler searches
|
||||
them in the unit path. You must {\em
|
||||
always} supply the unit path to the system unit.
|
||||
\item [-Fuxxx] Add \file{xxx} to the unit search path.
|
||||
Units are first searched in the current directory.
|
||||
If they are not found there then the compiler searches them in the unit path.
|
||||
You must {\em always} supply the path to the system unit.
|
||||
\olabel{Fu}
|
||||
\item [-FUxxx] Tells the compiler to write units in directory \var{xxx}
|
||||
instead of the current directory.
|
||||
instead of the current directory. It overrides the \var{-FE} option.
|
||||
\item [-Ixxx] \olabel{I} Add \file{xxx} to the include file search path.
|
||||
This path is used when looking for include files. This option is obsolite,
|
||||
use \var{-Fi} instead.
|
||||
This option has the same effect as \var{-Fi}.
|
||||
\item [-P] uses pipes instead of files when assembling. This may speed up
|
||||
the compiler on \ostwo and \linux. Only with assemblers (such as \gnu
|
||||
\file{as}) that support piping...
|
||||
@ -969,8 +990,7 @@ for more information on these options, see also \progref
|
||||
it generates (not when using the internal assembler).
|
||||
This also counts for the (possibly) generated batch script.
|
||||
\item [-al] \olabel{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.
|
||||
\item[-ar] \olabel{ar} tells the compiler to list register allocation and
|
||||
release info in the assembler file. This is primarily intended for debugging
|
||||
the code generated bythe compiler.
|
||||
@ -978,14 +998,17 @@ the code generated bythe compiler.
|
||||
temporary allocations and deallocations in the assembler file.
|
||||
\item [-Axxx] \olabel{A} specifies what kind of assembler should be generated . Here
|
||||
\var{xxx} is one of the following :
|
||||
\begin{itemize}
|
||||
\item \textbf{o} : A unix coff object file, using the \gnu assembler \file{as}.
|
||||
\item \textbf{nasmcoff} : a coff file using the \file{nasm} assembler.
|
||||
\item \textbf{nasmelf} : a ELF32 file (\linux only) using the \file{nasm} assembler.
|
||||
\item \textbf{nasmonj} : a obj file using the \file{nasm} assembler.
|
||||
\item \textbf{masm} : An obj file using the Microsoft \file{masm} assembler.
|
||||
\item \textbf{tasm} : An obj file using the Borland \file{tasm} assembler.
|
||||
\end{itemize}
|
||||
\begin{description}
|
||||
\item[as] assemble using \gnu as.
|
||||
\item[asaout] assemble using \gnu as for aout (Go32v1).
|
||||
\item[nasmcoff] coff (Go32v2) file using Nasm.
|
||||
\item[nasmelf] elf32 (Linux) file using Nasm.
|
||||
\item[nasmobj] object file using Nasm.
|
||||
\item[masm] object file using Masm (Microsoft).
|
||||
\item[tasm] object file using Tasm (Borland).
|
||||
\item[coff] coff object file (Go32v2) using the internal binary object writer.
|
||||
\item[pecoff] pecoff object file (Win32) using the internal binary object writer.
|
||||
\end{description}
|
||||
\item[-B] \olabel{B} tells the compiler to re-compile all used units, even
|
||||
if the unit sources didn't change since the last compilation.
|
||||
\item[-b] \olabel{b} tells the compiler to generate browser info. This information can
|
||||
@ -1007,10 +1030,9 @@ integer errors, a run-time error will be generated by your program.
|
||||
acesses an array element with an invalid index, or if it increases an
|
||||
enumerated type beyond it's scope, a run-time error will be generated.
|
||||
\item [-Csxxx] \olabel{Cs} Set stack size to \var{xxx}.
|
||||
\item [-CS] \olabel{CS} Create static library.
|
||||
\item [-Ct] \olabel{Ct} generate stack checking code. In case your program
|
||||
performs a faulty stack operation, a run-rime error will be generated.
|
||||
\item [-Cx] \olabel{Cx} Use smartlinking when compiling and linking units.
|
||||
\item [-CX] \olabel{Cx} Create a smartlinked unit when writing a unit.
|
||||
smartlinking will only link in the code parts that are actually needed by
|
||||
the program. All unused code is left out. This can lead to substantially
|
||||
smaller binaries.
|
||||
@ -1022,6 +1044,7 @@ to conditionally compile parts of your code.
|
||||
\item [-gg] idem as \var{-g}.
|
||||
\item [-gd] \olabel{gd} generate debugging info for \file{dbx}.
|
||||
\item [-gh] use the heaptrc unit (see \unitsref).
|
||||
\item [-gc] generate checks for pointers.
|
||||
\item[-Oxxx] \olabel{O} optimize the compiler's output; \var{xxx} can have one
|
||||
of the following values :
|
||||
\begin{description}
|
||||
@ -1056,7 +1079,7 @@ the following:
|
||||
\item \textbf{GO32V2} : \dos and version 2 of the DJ DELORIE extender.
|
||||
\item \textbf{LINUX} : \linux.
|
||||
\item \textbf{OS2} : OS/2 (2.x) using the \var{EMX} extender.
|
||||
\item \textbf{WIN32} : Windows 32 bit.
|
||||
\item \textbf{WIN32} : \windows 32 bit.
|
||||
\end{itemize}
|
||||
\item [-uxxx] \olabel{u} undefine the symbol \var{xxx}. This is the opposite
|
||||
of the \var{-d} option.
|
||||
@ -1072,8 +1095,9 @@ can be one of the following:
|
||||
\item \textbf{D} : Link with dynamic libraries (defines the
|
||||
\var{FPC\_LINK\_DYNAMIC} symbol)
|
||||
\item \textbf{s} : Strip the symbols from the executable.
|
||||
\item \textbf{S} : Link with static libraries (defines the
|
||||
\var{FPC\_LINK\_STATIC} symbol)
|
||||
\item \textbf{S} : Link with static units (defines the \var{FPC\_LINK\_STATIC} symbol)
|
||||
\item \textbf{X} : Link with smartlinked units (defines the
|
||||
\var{FPC\_LINK\_SMART} symbol)
|
||||
\end{itemize}
|
||||
\end{description}
|
||||
|
||||
@ -1101,10 +1125,11 @@ from \var{-Sd} because some \fpc constructs are still available to you.
|
||||
-=}.
|
||||
\item [-Sd] Tells the compiler to be Delphi compatible. This is more strict
|
||||
than the \var{-S2} option, since some \var{fpc} extensions are switched off.
|
||||
\item [-Se] \olabel{Se} The compiler stops after the first error. Normally,
|
||||
\item [-SeN] \olabel{Se} The compiler stops after the N-th error. Normally,
|
||||
the compiler tries to continue compiling after an error, until 50 errors are
|
||||
reached, or a fatal error is reached, and then it stops. With this switch,
|
||||
the compiler will stop after the first error.
|
||||
the compiler will stop after the N-th error (if N is omitted, a default of 1
|
||||
is assumed).
|
||||
\item [-Sg] \olabel{Sg} Support the \var{label} and \var{goto} commands. By
|
||||
default these are not supported. You must also specify this option if you
|
||||
use labels in assembler statements. (if you use the \var{AT\&T} style
|
||||
@ -1592,6 +1617,25 @@ begin
|
||||
\item You cannot nest comments.
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% A note about long file names.
|
||||
\section{A note on long file names under \dos}
|
||||
Under \windows 95 and higher, long filenames are supported. Compiling
|
||||
for the win32 target ensures that long filenames are supported in all
|
||||
functions that do fie or disk access in any way.
|
||||
|
||||
Moreover, \fpc supports the use of long filenames in the system unit and
|
||||
the dos unit also for go32v2 executables. The system unit contains the
|
||||
boolean variable \var{LFNsupport}. If it is set to \var{True} then all
|
||||
system unit functions and DOS unit functions will use long file names
|
||||
if they are available. This should be so on all versions of Windows,
|
||||
with the possible exception of \windows 2000. The system unit will check
|
||||
this by calling \dos function \var{71A0h} and checking whether long
|
||||
filenames are supported on the \file{C:} drive.
|
||||
|
||||
It is possible to disable the long filename support by setting the
|
||||
\var{LFNSupport} variable to \var{False}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Utilities.
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
@ -1949,6 +1993,27 @@ will convert the \file{resdemo.rst} file to \file{resdemo.po}.
|
||||
More information on the \file{rstconv} utility can be found in the \progref,
|
||||
under the chapter about resource strings.
|
||||
|
||||
\subsection{fpcmake}
|
||||
|
||||
\file{fpcmake} is the \fpc makefile constructor program.
|
||||
|
||||
It reads a \file{Makefile.fpc} configuration file and converts it to a
|
||||
\file{Makefile} suitable for reading by GNU \file{make} to compile
|
||||
your projects. It is similar in functionality to GNU \file{autoconf}
|
||||
or \file{Imake} for making X projects.
|
||||
|
||||
\file{fpcmake} accepts filenames of makefile description files as it's
|
||||
command-line arguments. For each of these files it will create a
|
||||
\file{Makefile} in the same directory where the file is located,
|
||||
overwriting any other existing file.
|
||||
|
||||
If no options are given, it just attempts to read the file \file{Makefile.fpc}
|
||||
in the current directory and tries to construct a makefile from it.
|
||||
any previously existing \file{Makefile} will be erased.
|
||||
|
||||
The format of the \file{fpcmake} configuration file is described in great
|
||||
detail in the appendices of the \progref.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Supplied units
|
||||
\section{Supplied units}
|
||||
@ -1956,35 +2021,73 @@ Here we list the units that come with the \fpc distribution. Since there is
|
||||
a difference in the supplied units per operating system, we list them
|
||||
separately per system. They are documented in the \unitsref.
|
||||
|
||||
%
|
||||
% Common units
|
||||
%
|
||||
\subsection{Units common to all platforms}
|
||||
The following units are common to all platform; i.e. their workings
|
||||
are guaranteed to be the same on all platforms.
|
||||
\begin{itemize}
|
||||
\item [getopts] This unit gives you the \gnu \var{getopts} command-line
|
||||
arguments handling mechanism. It also supports long options.
|
||||
\item [mmx] This unit provides support for \var{mmx} extensions in your
|
||||
code.
|
||||
\item [objects] This unit provides basic routines for handling objects.
|
||||
\item [objpas] is used for Delphi compatibility; you should never load this
|
||||
unit explicitly; it is automatically loaded if you request Delphi mode.
|
||||
\item [strings] This unit provides basic string handling routines for the
|
||||
\var{pchar} type, comparable to similar routines in standard \var{C}
|
||||
libraries.
|
||||
\item[sysutils] is an alternative implementation of the sysutils unit of
|
||||
Delphi.
|
||||
\item[typinfo] Provides functions to acces Run-Time Type Information, just
|
||||
like Delphi.
|
||||
\end{itemize}
|
||||
|
||||
%
|
||||
% Under DOS
|
||||
%
|
||||
\subsection{Under DOS}
|
||||
\begin{itemize}
|
||||
\item [strings] This unit provides basic
|
||||
string handling routines for the \var{pchar} type, comparable to similar
|
||||
routines in standard \var{C} libraries.
|
||||
\item [objects] This unit provides basic
|
||||
routines for handling objects.
|
||||
\item [dos] This unit provides basic routines for
|
||||
accessing the operating system \dos. It provides almost the same
|
||||
functionality as the Turbo Pascal unit.
|
||||
\item [printer] This unit provides all you
|
||||
need for rudimentary access to the printer.
|
||||
\item [getopts] This unit gives you the
|
||||
\gnu \var{getopts} command-line arguments handling mechanism.
|
||||
It also supports long options.
|
||||
\item [crt] This unit provides basic screen
|
||||
handling routines. It provides the same functionality as the Turbo Pascal \var{CRT}
|
||||
\item [crt] This unit provides basic screen handling routines.
|
||||
It provides the same functionality as the Turbo Pascal \var{CRT} unit.
|
||||
\item [dos] This unit provides basic routines for accessing the operating
|
||||
system \dos. It provides almost the same functionality as the Turbo Pascal
|
||||
unit.
|
||||
\item [emu387] This unit provides support for the coprocessor emulator.
|
||||
\item [graph] This unit provides basic graphics handling, with routines to
|
||||
draw lines on the screen, display texts etc. It provides the same functions
|
||||
as the Turbo Pascal unit.
|
||||
\item [go32] This unit provides access to possibilities of the \var{GO32}
|
||||
\dos extender.
|
||||
\item [ports] This unit provides access to the ports[] construct of
|
||||
Turbo Pascal.
|
||||
\item [printer] This unit provides all you need for rudimentary access
|
||||
to the printer.
|
||||
\end{itemize}
|
||||
|
||||
%
|
||||
% Under Windows
|
||||
%
|
||||
\begin{itemize}
|
||||
\item [dos] This unit provides basic routines for
|
||||
accessing the operating system \dos. It emulates this functionality
|
||||
by issuing calls to the Windows operating system.
|
||||
\item [crt and wincrt] These units provides basic screen handling routines.
|
||||
They provide the same functionality as the Turbo Pascal \var{CRT} unit.
|
||||
\item [graph] This unit provides basic graphics
|
||||
handling, with routines to draw lines on the screen, display texts etc. It
|
||||
provides the same functions as the Turbo Pascal unit.
|
||||
\item [go32] This unit provides access to possibilities of the \var{GO32}
|
||||
\dos extender.
|
||||
\item [emu387] This unit provides support for the coprocessor emulator.
|
||||
\item [mmx] This unit provides support for \var{mmx} extensions in your
|
||||
code.
|
||||
\item [Windows] This unit provides access to al Win32 API calls. Effort has
|
||||
been taken to make sure that it is compatible to the Delphi version of this
|
||||
unit, so code for Delphi is easily ported to \fpc.
|
||||
\item[opengl] provides access to the low-level opengl functions in \windows.
|
||||
\item[winmouse] provides access to the mouse in \windows.
|
||||
\item[ole2] provides access to the OLE capabilities of \windows.
|
||||
\item[winsock] provides acces to the \windows sockets API Winsock.
|
||||
\item[sockets] is a wrapper around winsock that is compatible with the
|
||||
\linux sockets layer. Using this unit ensures that your code will run
|
||||
both on \windows and \linux.
|
||||
\end{itemize}
|
||||
|
||||
%
|
||||
@ -1992,40 +2095,31 @@ code.
|
||||
%
|
||||
\subsection{Under Linux}
|
||||
\begin{itemize}
|
||||
\item [strings] This unit provides basic
|
||||
string handling routines for the \var{PChar} type, comparable to similar
|
||||
routines in standard \var{C} libraries.
|
||||
\item [objects] This unit provides basic
|
||||
routines for handling objects.
|
||||
\item [crt] This unit provides basic screen
|
||||
handling routines. It provides the same functionality Turbo Pascal \var{CRT}
|
||||
unit. It works on any terminal which supports the \var{vt100} escape
|
||||
\item [crt] This unit provides basic screen handling routines.
|
||||
It provides the same functionality Turbo Pascal \var{CRT} unit.
|
||||
It should work on any terminal which supports the \var{vt100} escape
|
||||
sequences.
|
||||
\item [dos] This unit provides an emulation of the
|
||||
same unit under \dos. It is intended primarily for easy porting of Pascal
|
||||
programs from \dos to \linux. For good performance, however, it is
|
||||
recommended to use the \var{linux} unit.
|
||||
\item [dos] This unit provides an emulation of the same unit under \dos.
|
||||
It is intended primarily for easy porting of Pascal programs from \dos
|
||||
to \linux. For good performance, however, it is recommended to use the
|
||||
\var{linux} unit.
|
||||
\item [linux] This unit provides access to the
|
||||
\linux operating system. It provides most file and I/O handling routines
|
||||
that you may need. It implements most of the standard \var{C} library constructs
|
||||
that you will find on a Unix system. If you do a lot of disk/file
|
||||
operations, the use of this unit is recommended over the one you use under
|
||||
Dos.
|
||||
\item [printer] This unit provides an
|
||||
interface to the standard Unix printing mechanism.
|
||||
\item [getopts] This unit gives you the
|
||||
\gnu \var{getopts} command-line arguments handling mechanism.
|
||||
It also supports long options.
|
||||
\item [mmx] This unit provides support for \var{mmx} extensions in your
|
||||
code.
|
||||
\item [printer] This unit provides an interface to the standard Unix
|
||||
printing mechanism. It supports printing to file and to any command you
|
||||
would like.
|
||||
\item [sockets] This unit gives you access to sockets and TCP/IP
|
||||
programming.
|
||||
\item [graph] Is an implementation of Borlands \file{graph} unit, which
|
||||
works on the Linux console. It's implementation is fairly complete, the only
|
||||
non-functional things are the fillpatterns and line styles. It uses the
|
||||
libvga and libvgagl graphics libraries, so you need these installed for this
|
||||
unit to work. Also, programs using this library need to be run as root, or
|
||||
setuid root, and hence are a potential security risk.
|
||||
works on the Linux console. It's implementation is as complete as on
|
||||
the other platforms (it shares the same code).
|
||||
It uses the libvga and libvgagl graphics libraries, so you need these
|
||||
installed for this unit to work. Also, programs using this library need
|
||||
to be run as root, or setuid root, and hence are a potential security risk.
|
||||
\item [ports] This implements the various \var{port[]} constructs. These are
|
||||
provided for compatibility only, and it is not recommended to use them
|
||||
extensively. Programs using this construct must be run as ruit or setuid
|
||||
@ -2564,8 +2658,8 @@ put + after a boolean switch option to enable it, - to disable it
|
||||
-Cr range checking
|
||||
-Cs<n> set stack size to <n>
|
||||
-Ct stack checking
|
||||
-CS create static library
|
||||
-Cx use smartlinking
|
||||
-CD create also dynamic library (* doesn't work yet *)
|
||||
-CX create also smartlinked library
|
||||
-d<x> defines the symbol <x>
|
||||
-e<x> set path to executable
|
||||
-E same as -Cn
|
||||
@ -2575,6 +2669,7 @@ put + after a boolean switch option to enable it, - to disable it
|
||||
-FE<x> set exe/unit output path to <x>
|
||||
-Fi<x> adds <x> to include path
|
||||
-Fl<x> adds <x> to library path
|
||||
-FL<x> uses <x> as dynamic linker
|
||||
-Fo<x> adds <x> to object path
|
||||
-Fr<x> load error message file <x>
|
||||
-Fu<x> adds <x> to unit path
|
||||
@ -2583,6 +2678,7 @@ put + after a boolean switch option to enable it, - to disable it
|
||||
-gg use gsym
|
||||
-gd use dbx
|
||||
-gh use heap trace unit
|
||||
-gc generate checks for pointers
|
||||
-i information
|
||||
-iD return compiler date
|
||||
-iV return compiler version
|
||||
@ -2595,12 +2691,13 @@ put + after a boolean switch option to enable it, - to disable it
|
||||
-l write logo
|
||||
-n don't read the default config file
|
||||
-o<x> change the name of the executable produced to <x>
|
||||
-pg generate profile code for gprof
|
||||
-pg generate profile code for gprof (defines FPC_PROFILE)
|
||||
-P use pipes instead of creating temporary assembler files
|
||||
-S<x> syntax options:
|
||||
-S2 switch some Delphi 2 extensions on
|
||||
-Sc supports operators like C (*=,+=,/= and -=)
|
||||
-Sd tries to be Delphi compatible
|
||||
-Se compiler stops after the first error
|
||||
-Se<x> compiler stops after the <x> errors (default is 1)
|
||||
-Sg allow LABEL and GOTO
|
||||
-Sh Use ansistrings
|
||||
-Si support C++ styled INLINE
|
||||
@ -2626,18 +2723,23 @@ put + after a boolean switch option to enable it, - to disable it
|
||||
declarations if an error x : Executable info (Win32 only)
|
||||
occurs
|
||||
-X executable options:
|
||||
-XD link with dynamic libraries (defines FPC_LINK_DYNAMIC)
|
||||
-Xc link with the c library
|
||||
-Xs strip all symbols from executable
|
||||
-XS link with static libraries (defines FPC_LINK_STATIC)
|
||||
-XD try to link dynamic (defines FPC_LINK_DYNAMIC)
|
||||
-XS try to link static (default) (defines FPC_LINK_STATIC)
|
||||
-XX try to link smart (defines FPC_LINK_SMART)
|
||||
|
||||
Processor specific options:
|
||||
-A<x> output format:
|
||||
-Ao coff file using GNU AS
|
||||
-Anasmcoff coff file using Nasm
|
||||
-Aas assemble using GNU AS
|
||||
-Aasaout assemble using GNU AS for aout (Go32v1)
|
||||
-Anasmcoff coff (Go32v2) file using Nasm
|
||||
-Anasmelf elf32 (Linux) file using Nasm
|
||||
-Anasmobj obj file using Nasm
|
||||
-Amasm obj file using Masm (Microsoft)
|
||||
-Atasm obj file using Tasm (Borland)
|
||||
-Acoff coff (Go32v2) using internal writer
|
||||
-Apecoff pecoff (Win32) using internal writer
|
||||
-R<x> assembler reading style:
|
||||
-Ratt read AT&T style assembler
|
||||
-Rintel read Intel style assembler
|
||||
@ -2660,6 +2762,12 @@ Processor specific options:
|
||||
-TLINUX Linux
|
||||
-TOS2 OS/2 2.x
|
||||
-TWin32 Windows 32 Bit
|
||||
-WB<x> Set Image base to Hexadecimal <x> value
|
||||
-WC Specify console type application
|
||||
-WD Use DEFFILE to export functions of DLL or EXE
|
||||
-WG Specify graphic type application
|
||||
-WN Do not generate relocation code (necessary for debugging)
|
||||
-WR Generate relocation code
|
||||
|
||||
-? shows this help
|
||||
-h shows this help without waiting
|
||||
|
Loading…
Reference in New Issue
Block a user