mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 20:09:25 +02:00
+ INSTALL and new README
This commit is contained in:
parent
67121a8e17
commit
2b3a509d52
164
base/README
164
base/README
@ -1,31 +1,149 @@
|
||||
|
||||
First you need to install all the sources like:
|
||||
Possible settings for common Free Pascal Makefile:
|
||||
|
||||
<basedir>/
|
||||
base
|
||||
compiler
|
||||
rtl
|
||||
ide/text
|
||||
ide/fake
|
||||
api
|
||||
fv
|
||||
gdbint
|
||||
gdbint/libgdb
|
||||
General configurable settings:
|
||||
------------------------------
|
||||
OS_TARGET The target operating system you are going to compile for
|
||||
(Note: This has autodetection for go32v2,linux,winnt)
|
||||
|
||||
- Copy the files (Makefile,makefile.fpc) from the base/ directory to the
|
||||
<basedir>.
|
||||
OS_SOURCE The source operating system you compiling under
|
||||
(Note: This has autodetection for go32v2,linux,winnt)
|
||||
|
||||
- get the libgdb_<system>.zip from tflily ftp and unzip it in the
|
||||
gdbint/libgdb directory
|
||||
CPU The target CPU that is used (currently m68k,i386)
|
||||
Default: CPU=i386
|
||||
|
||||
- Type: SET FPCDIR=<basedir>
|
||||
OPT General commandline options you want to give
|
||||
Example to compile with debug info: OPT=-g
|
||||
|
||||
- Then you can type 'make info' and see it finds the correct files.
|
||||
OPTDEF Commandline defines, which also need to be passed to
|
||||
programs that don't want other options (like mkdep)
|
||||
|
||||
- When that works fine, then you can type in the <basedir>:
|
||||
NEEDOPT Realy needed commandline options, also used when
|
||||
RELEASE=1. Example: NEEDOPT=-Sg to allow goto
|
||||
|
||||
'make ide_all' IDE without compiler/debugger
|
||||
'make ide_gdb' IDE with debugger
|
||||
'make ide_full' IDE with compiler
|
||||
'make ide_fullgdb' IDE with compiler/debugger
|
||||
|
||||
NEEDUNITDIR Realy needed unitdir
|
||||
|
||||
PP compiler to use, default is ppc386
|
||||
Example to compile with version 0.99.8: PP=ppc998
|
||||
|
||||
AS assembler to use to compile the loaders
|
||||
Default: AS=as
|
||||
|
||||
LD linker to use
|
||||
Default: LD=ld
|
||||
|
||||
RELEASE setting this to a value (for example RELEASE=1) will compile
|
||||
for a release, no ppc386.cfg is read an compile is done with
|
||||
the following settings: '-Xs -OG2p2 -n'
|
||||
|
||||
VERBOSE setting this to a value (for example VERBOSE=1) will compile
|
||||
with more verbosity, this can be used in combination with
|
||||
the RELEASE option. Verbosity used: '-vwni'
|
||||
|
||||
SMARTLINK setting this to YES will create smartlinked files
|
||||
Example: SMARTLINK=YES
|
||||
|
||||
LIBNAME set the outputname for the library to LIBNAME, mostly used
|
||||
in combination with SMARTLINK to create a one library which
|
||||
contains all units
|
||||
Example: LIBNAME=objpas SMARTLINK=yes
|
||||
|
||||
LIBTYPE can be set to shared or static to set the library type you
|
||||
want to create. When shared is set it overrides smartlink
|
||||
and turns it off.
|
||||
Example: LIBTYPE=shared LIBNAME=objpas
|
||||
|
||||
DEFAULTUNITS if this is set then a 'make all' will only compile the units
|
||||
and not the exes
|
||||
|
||||
NODEFAULTRULES Don't include the default compiler rules. This is needed for
|
||||
top-makefiles which call other files in subdirs
|
||||
|
||||
|
||||
Location:
|
||||
---------
|
||||
INC Where to find the .inc files.
|
||||
Example: INC=inc
|
||||
|
||||
PROCINC Where to find processor dependent .inc files
|
||||
Example: PROCINC=$(CPU)
|
||||
|
||||
OSINC Where to find operating system dependent .inc files
|
||||
Example: OSINC=$(OS_TARGET)
|
||||
|
||||
TARGETDIR Where to place all the .o,.ppu,.exe files
|
||||
Example: TARGETDIR=. (this is needed when you compile
|
||||
a unit from an other dir, but want the .ppu,.o in the
|
||||
current directory)
|
||||
|
||||
UNITTARGETDIR Where to place the .o,.ppu files, this overrides the
|
||||
TARGETDIR setting for these files.
|
||||
Example see TARGETDIR
|
||||
|
||||
|
||||
File Handling:
|
||||
--------------
|
||||
MOVE Command to move files
|
||||
COPY Command to copy files
|
||||
DEL Command to delete files
|
||||
DELTREE Command to delete a whole directory tree
|
||||
INSTALL Command to install a normal file (not executable)
|
||||
INSTALLEXE Command to install an executable file
|
||||
MKDIR Command to make a new directory
|
||||
|
||||
|
||||
Tools:
|
||||
------
|
||||
LDCONFIG command to rebuild the ld.so.cache (automaticly set for linux)
|
||||
PPAS ppas.sh for linux, other os's ppas.bat
|
||||
PPUMOVE PPUMove program
|
||||
DIFF GNU Diff
|
||||
DATE GNU Date (automaticly searched)
|
||||
SED GNU Sed (automaticly searched)
|
||||
PWD GNU PWD (automaticly searched)
|
||||
|
||||
|
||||
Directories:
|
||||
-----------
|
||||
BASEDIR Current working directory (automaticly loaded using PWD)
|
||||
|
||||
FPCDIR Base directory of Free Pascal
|
||||
|
||||
RTLDIR Directory to the used RTL. This contains already the target
|
||||
Default: $FPCDIR/rtl/$OS_TARGET
|
||||
|
||||
UNITDIR Directory to the currently used units for the target
|
||||
Default: $FPCDIR/units/$OS_TARGET
|
||||
|
||||
|
||||
Installation directories:
|
||||
-------------------------
|
||||
BASEINSTALLDIR Base directory where to install all the files.
|
||||
Default: /pp (linux: /usr/lib/fpc/$VER)
|
||||
|
||||
LIBINSTALLDIR Directory to install all libraries
|
||||
Default: $BASEINSTALLDIR/lib (linux: $BASEINSTALLDIR)
|
||||
|
||||
BININSTALLDIR Directory where to install the binaries
|
||||
Default: $BASEINSTALLDIR/bin/$OS_TARGET (linux: /usr/bin)
|
||||
|
||||
UNITINSTALLDIR Directory where to install the normal units
|
||||
Default: $BASEINSTALLDIR/rtl/$OS_TARGET
|
||||
|
||||
STATIC_UNITINSTALLDIR Directory where to install static (smartlinked) units
|
||||
Default: $BASEINSTALLDIR/rtl/$OS_TARGET/static
|
||||
|
||||
SHARED_UNITINSTALLDIR Directory where to install shared linked units
|
||||
Default: $BASEINSTALLDIR/rtl/$OS_TARGET/shared
|
||||
|
||||
STATIC_LIBINSTALLDIR Directory where to install static linked libraries
|
||||
Default: $STATIC_UNITINSTALLDIR
|
||||
|
||||
SHARED_LIBINSTALLDIR Directory where to install shared linked libraries
|
||||
Default: $SHARED_UNITINSTALLDIR (linux: /usr/lib)
|
||||
|
||||
MSGINSTALLDIR Directory where to place the .msg (language) files
|
||||
Default: $BASEINSTALLDIR/msg
|
||||
|
||||
DOCINSTALLDIR: Directory where to install the documentation
|
||||
Default: $BASEINSTALLDIR/doc (linux: /usr/doc/fpc/$VER)
|
||||
|
Loading…
Reference in New Issue
Block a user