mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 11:29:24 +02:00
* new install version (keys not wrong correct yet)
This commit is contained in:
parent
5721394fc9
commit
685340e8e3
@ -1,45 +1,86 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Win32 Install file
|
||||
# Install file for Go32v2/Win32/OS2
|
||||
#
|
||||
title=Free Pascal Compiler 0.99.14 for Win32
|
||||
title=Free Pascal Compiler 0.99.14
|
||||
version=0.99.14
|
||||
|
||||
basepath=c:\pp
|
||||
binsub=\bin\win32
|
||||
binsub=\bin\go32v2
|
||||
ppc386=ppc386
|
||||
|
||||
|
||||
#
|
||||
# Binary packages
|
||||
# Go32v2 packages
|
||||
#
|
||||
pack=Dos/~G~o32v2
|
||||
filecheck=*go32.zip
|
||||
package=basego32.zip,~B~asic system for Go32v2 (required)
|
||||
package=asldgo32.zip,GNU ~L~inker and GNU Assembler for Go32v2 (required)
|
||||
package=gdbgo32.zip,GNU ~D~ebugger for Go32v2
|
||||
package=utilgo32.zip,GNU ~U~tilities (needed by Makefiles)
|
||||
package=ufclgo32.zip,~F~ree Component Libary (FCL)
|
||||
package=uapigo32.zip,~A~PI units (needed by FV)
|
||||
package=ubasgo32.zip,Basic ~u~nits (needed by FCL)
|
||||
package=unetgo32.zip,~N~etworking units
|
||||
package=umisgo32.zip,~M~iscellaneous units
|
||||
#package=ufvgo32.zip,Free ~V~ision (FV)
|
||||
|
||||
|
||||
#
|
||||
# Win32 packages
|
||||
#
|
||||
pack=~W~in32
|
||||
filecheck=*w32.zip
|
||||
package=basew32.zip,~B~asic system for Win32 (required)
|
||||
package=asldw32.zip,GNU ~L~inker and GNU Assembler for Win32 (required)
|
||||
package=gdbw32.zip,GNU ~D~ebugger for Win32
|
||||
package=utilw32.zip,GNU ~U~tilities (for makefiles)
|
||||
package=docs-pdf.zip,Documentation (~P~DF)
|
||||
package=demo.zip,D~e~mos
|
||||
package=ufclw32.zip,~F~ree Component Libary (FCL)
|
||||
package=uapiw32.zip,~A~PI units (needed by FV)
|
||||
package=ubasw32.zip,~B~asic units (needed by FCL)
|
||||
package=ugtkw32.zip,~G~TK units
|
||||
package=ugtkw32.zip,GT~K~ units
|
||||
package=unetw32.zip,~N~etworking units
|
||||
package=udbw32.zip,Da~t~abase (interbase,mysql) units
|
||||
package=umisw32.zip,~M~iscellaneous units
|
||||
#package=ufvw32.zip,Free ~V~ision (FV)
|
||||
|
||||
|
||||
#
|
||||
# Emx packages
|
||||
#
|
||||
pack=Os/2 ~E~MX
|
||||
filecheck=*emx.zip
|
||||
package=baseemx.zip,~B~asic system for EMX (required)
|
||||
package=asldemx.zip,GNU ~L~inker and assembler for EMX (required)
|
||||
package=gdbemx.zip,GNU ~D~ebugger for EMX and PMGDB front-end
|
||||
package=utilemx.zip,GNU ~U~tilities (for makefiles)
|
||||
|
||||
|
||||
#
|
||||
# Common packages
|
||||
#
|
||||
pack=~C~ommon
|
||||
package=docs-pdf.zip,Documentation (~P~DF)
|
||||
package=demo.zip,D~e~mos
|
||||
|
||||
|
||||
#
|
||||
# Source packages
|
||||
#
|
||||
source=basesrc.zip,Basic Makefiles for the sources
|
||||
source=compsrc.zip,~C~ompiler sources
|
||||
source=rtlsrc.zip,~R~un time library sources
|
||||
source=fclsrc.zip,~F~ree component library (FCL) sources
|
||||
source=apisrc.zip,API units sources
|
||||
source=pkgssrc.zip,Packages units sources
|
||||
source=utilssrc.zip,Utils sources
|
||||
source=instsrc.zip,Installer sources
|
||||
source=docsrc.zip,Documentation sources (La~T~eX)
|
||||
pack=~S~ources
|
||||
filecheck=*src.zip
|
||||
package=basesrc.zip,~B~asic Makefiles for the sources
|
||||
package=compsrc.zip,~C~ompiler sources
|
||||
package=rtlsrc.zip,~R~un time library sources
|
||||
package=fclsrc.zip,~F~ree component library (FCL) sources
|
||||
package=apisrc.zip,~A~PI units sources
|
||||
package=pkgssrc.zip,~P~ackages units sources
|
||||
package=utilssrc.zip,~U~tils sources
|
||||
package=instsrc.zip,~I~nstaller sources
|
||||
package=docsrc.zip,~D~ocumentation sources (LaTeX)
|
||||
|
||||
|
||||
cfgfile=ppc386.cfg
|
||||
defaultcfg=
|
||||
@ -179,7 +220,6 @@ defaultcfg=
|
||||
# searchpath for tools
|
||||
-FD$1/bin/$TARGET
|
||||
|
||||
|
||||
# -------------
|
||||
# Linking
|
||||
# -------------
|
@ -1,220 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Go32v2 Install file
|
||||
#
|
||||
title=Free Pascal Compiler 0.99.14 for Go32v2
|
||||
version=0.99.14
|
||||
|
||||
basepath=c:\pp
|
||||
binsub=\bin\go32v2
|
||||
ppc386=ppc386
|
||||
|
||||
#
|
||||
# Binary packages
|
||||
#
|
||||
package=basego32.zip,~B~asic system for Go32v2 (required)
|
||||
package=asldgo32.zip,GNU ~L~inker and GNU Assembler for Go32v2 (required)
|
||||
package=gdbgo32.zip,GNU ~D~ebugger for Go32v2
|
||||
package=utilgo32.zip,GNU ~U~tilities (needed by Makefiles)
|
||||
package=docs-pdf.zip,Documentation (~P~DF)
|
||||
package=demo.zip,D~e~mos
|
||||
package=ufclgo32.zip,~F~ree Component Libary (FCL)
|
||||
package=uapigo32.zip,~A~PI units (needed by FV)
|
||||
package=ubasgo32.zip,Basic units (needed by FCL)
|
||||
package=unetgo32.zip,Networking units
|
||||
package=umisgo32.zip,Miscellaneous units
|
||||
#package=ufvgo32.zip,Free ~V~ision (FV)
|
||||
|
||||
#
|
||||
# Source packages
|
||||
#
|
||||
source=basesrc.zip,Basic Makefiles for the sources
|
||||
source=compsrc.zip,~C~ompiler sources
|
||||
source=rtlsrc.zip,~R~un time library sources
|
||||
source=fclsrc.zip,~F~ree component library (FCL) sources
|
||||
source=apisrc.zip,API units sources
|
||||
source=pkgssrc.zip,Packages units sources
|
||||
source=utilssrc.zip,Utils sources
|
||||
source=instsrc.zip,Installer sources
|
||||
source=docsrc.zip,Documentation sources (La~T~eX)
|
||||
|
||||
cfgfile=ppc386.cfg
|
||||
defaultcfg=
|
||||
#
|
||||
# Example ppc386.cfg for Free Pascal Compiler Version 0.99.14
|
||||
#
|
||||
|
||||
# ----------------------
|
||||
# Defines (preprocessor)
|
||||
# ----------------------
|
||||
|
||||
#
|
||||
# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
|
||||
#
|
||||
# -d is the same as #DEFINE
|
||||
# -u is the same as #UNDEF
|
||||
#
|
||||
|
||||
# When not m68k is defined at the commandline, define i386
|
||||
#IFNDEF m68k
|
||||
#DEFINE i386
|
||||
#ENDIF
|
||||
|
||||
#
|
||||
# Some examples (for switches see below, and the -? helppages)
|
||||
#
|
||||
# Try compiling with the -dRELEASE or -dDEBUG on the commandline
|
||||
#
|
||||
|
||||
# For a release compile with optimizes and strip debuginfo
|
||||
#IFDEF RELEASE
|
||||
-OG2p2
|
||||
-Xs
|
||||
#WRITE Compiling Release Version
|
||||
#ENDIF
|
||||
|
||||
# For a debug version compile with debuginfo and all codegeneration checks on
|
||||
#IFDEF DEBUG
|
||||
-g
|
||||
-Crtoi
|
||||
#WRITE Compiling Debug Version
|
||||
#ENDIF
|
||||
|
||||
# ----------------
|
||||
# Parsing switches
|
||||
# ----------------
|
||||
|
||||
# All assembler blocks are intel styled by default
|
||||
#-Rintel
|
||||
|
||||
# All assembler blocks are AT&T styled by default
|
||||
#-Ratt
|
||||
|
||||
# All assembler blocks are directly copied to asm
|
||||
#-Rdirect
|
||||
|
||||
# Semantic checking
|
||||
# -S2 switch some Delphi 2 extension on
|
||||
# -Sc supports operators like C (*=,+=,/= and -=)
|
||||
# -Sg allows LABEL and GOTO
|
||||
# -Si support C++ stlyed INLINE
|
||||
# -Sm support macros like C (global)
|
||||
# -So tries to be TP/BP 7.0 compatible
|
||||
# -Ss constructor name must be init (destructor must be done)
|
||||
# -St allows static keyword in objects
|
||||
|
||||
# Allow goto, inline, C-operators
|
||||
-Sgic
|
||||
|
||||
# ---------------
|
||||
# Code generation
|
||||
# ---------------
|
||||
|
||||
# Uncomment the next line if you always want static/dynamic units by default
|
||||
# (can be overruled with -CD, -CS at the commandline)
|
||||
#-CS
|
||||
#-CD
|
||||
|
||||
# Set the default heapsize to 8Mb
|
||||
#-Ch8000000
|
||||
|
||||
# Set default codegeneration checks (iocheck, overflow, range, stack)
|
||||
#-Ci
|
||||
#-Co
|
||||
#-Cr
|
||||
#-Ct
|
||||
|
||||
# Optimizer switches
|
||||
# -Og generate smaller code
|
||||
# -OG generate faster code (default)
|
||||
# -Or keep certain variables in registers (still BUGGY!!!)
|
||||
# -Ou enable uncertain optimizations (see docs)
|
||||
# -O1 level 1 optimizations (quick optimizations)
|
||||
# -O2 level 2 optimizations (-O1 + slower optimizations)
|
||||
# -O3 level 3 optimizations (same as -O2u)
|
||||
# -Op target processor
|
||||
# -Op1 set target processor to 386/486
|
||||
# -Op2 set target processor to Pentium/PentiumMMX (tm)
|
||||
# -Op3 set target processor to PPro/PII/c6x86/K6 (tm)
|
||||
|
||||
# Optimize always for Size and Pentium
|
||||
#-Og2p2
|
||||
|
||||
|
||||
# -----------------------
|
||||
# Set Filenames and Paths
|
||||
# -----------------------
|
||||
|
||||
# Both slashes and backslashes are allowed in paths
|
||||
|
||||
# path to the messagefile, not necessary anymore but can be used to override
|
||||
# the default language
|
||||
#-Fr$1/msg/errore.msg
|
||||
#-Fr$1/msg/errorn.msg
|
||||
#-Fr$1/msg/errores.msg
|
||||
#-Fr$1/msg/errord.msg
|
||||
#-Fr$1/msg/errorr.msg
|
||||
|
||||
# path to the gcclib
|
||||
#-Fl$1/lib
|
||||
|
||||
# searchpath for includefiles
|
||||
-Fi$1/source/rtl/inc;$1/source/rtl/i386
|
||||
|
||||
# searchpath for objectfiles
|
||||
#-Fo$1/source/rtl/inc;$1/source/rtl/i386
|
||||
|
||||
# searchpath for units and other system dependent things
|
||||
-Fu$1/units/$TARGET
|
||||
-Fu$1/units/$TARGET/*
|
||||
-Fu$1/units/$TARGET/rtl
|
||||
|
||||
# searchpath for libraries
|
||||
#-Fl$1/lib
|
||||
#-Fl/lib;/usr/lib
|
||||
|
||||
# searchpath for tools
|
||||
-FD$1/bin/$TARGET
|
||||
|
||||
|
||||
# -------------
|
||||
# Linking
|
||||
# -------------
|
||||
|
||||
# generate always debugging information for GDB (slows down the compiling
|
||||
# process)
|
||||
#-g
|
||||
|
||||
# always pass an option to the linker
|
||||
#-k-s
|
||||
|
||||
# Always strip debuginfo from the executable
|
||||
-Xs
|
||||
|
||||
|
||||
# -------------
|
||||
# Miscellaneous
|
||||
# -------------
|
||||
|
||||
# Write always a nice FPC logo ;)
|
||||
-l
|
||||
|
||||
# Verbosity
|
||||
# e : Show errors (default) d : Show debug info
|
||||
# w : Show warnings u : Show used files
|
||||
# n : Show notes t : Show tried files
|
||||
# h : Show hints m : Show defined macros
|
||||
# i : Show general info p : Show compiled procedures
|
||||
# l : Show linenumbers c : Show conditionals
|
||||
# a : Show everything 0 : Show nothing (except errors)
|
||||
|
||||
# Display Info, Warnings, Notes and Hints
|
||||
-viwnh
|
||||
# If you don't want so much verbosity use
|
||||
#-vw
|
||||
|
||||
#
|
||||
# That's all folks
|
||||
#
|
||||
endcfg
|
@ -1,271 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Linux Install file
|
||||
#
|
||||
title=Free Pascal Compiler 0.99.12b for Linux
|
||||
version=0.99.12b
|
||||
|
||||
basepath=/usr/lib/fpc/0.99.12
|
||||
binsub=
|
||||
ppc386=ppc386
|
||||
|
||||
#
|
||||
# Binary packages
|
||||
#
|
||||
package=baselin.zip,~B~asic system for Linux (required)
|
||||
#package=asldlin.zip,GNU ~L~inker and GNU Assembler for Go32v2 (required)
|
||||
#package=gdblin.zip,GNU ~D~ebugger for Go32v2
|
||||
#package=utillin.zip,GNU ~U~tilities (required to recompile run time library)
|
||||
package=docs-pdf.zip,Documentation (~P~DF)
|
||||
package=demo.zip,D~e~mos
|
||||
#
|
||||
# Source packages
|
||||
#
|
||||
source=rl09912s.zip,~R~un time library sources
|
||||
source=pp09912s.zip,~C~ompiler sources
|
||||
source=fc09912s.zip,~F~ree component library (FCL) sources
|
||||
source=fv09912s.zip,Free ~V~ision (FV) and API sources
|
||||
source=gt09912s.zip,~G~TK interface sources
|
||||
source=doc160s.zip,Documentation sources (La~T~eX)
|
||||
|
||||
cfgfile=ppc386.cfg
|
||||
defaultcfg=
|
||||
#
|
||||
# Example ppc386.cfg for Free Pascal Compiler Version 0.99.12
|
||||
#
|
||||
|
||||
# ----------------------
|
||||
# Defines (preprocessor)
|
||||
# ----------------------
|
||||
|
||||
#
|
||||
# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
|
||||
#
|
||||
# -d is the same as #DEFINE
|
||||
# -u is the same as #UNDEF
|
||||
#
|
||||
|
||||
# When not m68k is defined at the commandline, define i386
|
||||
#IFNDEF m68k
|
||||
#DEFINE i386
|
||||
#ENDIF
|
||||
|
||||
#
|
||||
# Some examples (for switches see below, and the -? helppages)
|
||||
#
|
||||
# Try compiling with the -dRELEASE or -dDEBUG on the commandline
|
||||
#
|
||||
|
||||
# For a release compile with optimizes and strip debuginfo
|
||||
#IFDEF RELEASE
|
||||
-OG2p2
|
||||
-Xs
|
||||
#WRITE Compiling Release Version
|
||||
#ENDIF
|
||||
|
||||
# For a debug version compile with debuginfo and all codegeneration checks on
|
||||
#IFDEF DEBUG
|
||||
-g
|
||||
-Crtoi
|
||||
#WRITE Compiling Debug Version
|
||||
#ENDIF
|
||||
|
||||
# ----------------
|
||||
# Parsing switches
|
||||
# ----------------
|
||||
|
||||
# All assembler blocks are intel styled by default
|
||||
#-Rintel
|
||||
|
||||
# All assembler blocks are AT&T styled by default
|
||||
#-Ratt
|
||||
|
||||
# All assembler blocks are directly copied to asm
|
||||
#-Rdirect
|
||||
|
||||
# Semantic checking
|
||||
# -S2 switch some Delphi 2 extension on
|
||||
# -Sc supports operators like C (*=,+=,/= and -=)
|
||||
# -Sg allows LABEL and GOTO
|
||||
# -Si support C++ stlyed INLINE
|
||||
# -Sm support macros like C (global)
|
||||
# -So tries to be TP/BP 7.0 compatible
|
||||
# -Ss constructor name must be init (destructor must be done)
|
||||
# -St allows static keyword in objects
|
||||
|
||||
# Allow goto, inline, C-operators
|
||||
-Sgic
|
||||
|
||||
# ---------------
|
||||
# Code generation
|
||||
# ---------------
|
||||
|
||||
# Uncomment the next line if you always want static/dynamic units by default
|
||||
# (can be overruled with -CD, -CS at the commandline)
|
||||
#-CS
|
||||
#-CD
|
||||
|
||||
# Set the default heapsize to 8Mb
|
||||
#-Ch8000000
|
||||
|
||||
# Set default codegeneration checks (iocheck, overflow, range, stack)
|
||||
#-Ci
|
||||
#-Co
|
||||
#-Cr
|
||||
#-Ct
|
||||
|
||||
# Optimizer switches
|
||||
# -Og generate smaller code
|
||||
# -OG generate faster code (default)
|
||||
# -Or keep certain variables in registers (still BUGGY!!!)
|
||||
# -Ou enable uncertain optimizations (see docs)
|
||||
# -O1 level 1 optimizations (quick optimizations)
|
||||
# -O2 level 2 optimizations (-O1 + slower optimizations)
|
||||
# -O3 level 3 optimizations (same as -O2u)
|
||||
# -Op target processor
|
||||
# -Op1 set target processor to 386/486
|
||||
# -Op2 set target processor to Pentium/PentiumMMX (tm)
|
||||
# -Op3 set target processor to PPro/PII/c6x86/K6 (tm)
|
||||
|
||||
# Optimize always for Size and Pentium
|
||||
#-Og2p2
|
||||
|
||||
|
||||
# -----------------------
|
||||
# Set Filenames and Paths
|
||||
# -----------------------
|
||||
|
||||
# Both slashes and backslashes are allowed in paths
|
||||
|
||||
# path to the messagefile, not necessary anymore but can be used to override
|
||||
# the default language
|
||||
#-Fr$1/msg/errore.msg
|
||||
#-Fr$1/msg/errorn.msg
|
||||
#-Fr$1/msg/errores.msg
|
||||
#-Fr$1/msg/errord.msg
|
||||
#-Fr$1/msg/errorr.msg
|
||||
|
||||
# path to the gcclib
|
||||
#-Fl$1/lib
|
||||
|
||||
# searchpath for includefiles
|
||||
-Fi$1/source/rtl/inc;$1/source/rtl/i386
|
||||
|
||||
# searchpath for objectfiles
|
||||
#-Fo$1/source/rtl/inc;$1/source/rtl/i386
|
||||
|
||||
# searchpath for units and other system dependent things
|
||||
#IFDEF Go32V1
|
||||
-FD$1/bin/go32v1
|
||||
#IFDEF FPC_LINK_STATIC
|
||||
-Fu$1/rtl/go32v1/static
|
||||
-Fu$1/units/go32v1/static
|
||||
#ENDIF
|
||||
-Fu$1/rtl/go32v1
|
||||
-Fu$1/units/go32v1
|
||||
-Fu$1/source/rtl/go32v1
|
||||
-Fi$1/source/rtl/go32v1
|
||||
-Fo$1/source/rtl/go32v1
|
||||
#ENDIF
|
||||
#IFDEF Go32V2
|
||||
-FD$1/bin/go32v2
|
||||
#IFDEF FPC_LINK_STATIC
|
||||
-Fu$1/rtl/go32v2/static
|
||||
-Fu$1/units/go32v2/static
|
||||
#ENDIF
|
||||
-Fu$1/rtl/go32v2
|
||||
-Fu$1/units/go32v2
|
||||
-Fu$1/source/rtl/go32v2
|
||||
-Fi$1/source/rtl/go32v2
|
||||
-Fo$1/source/rtl/go32v2
|
||||
#ENDIF
|
||||
#IFDEF Win32
|
||||
-FD$1/bin/win32
|
||||
#IFDEF FPC_LINK_STATIC
|
||||
-Fu$1/rtl/win32/static
|
||||
-Fu$1/units/win32/static
|
||||
#ENDIF
|
||||
-Fu$1/rtl/win32
|
||||
-Fu$1/units/win32
|
||||
-Fu$1/source/rtl/win32
|
||||
-Fi$1/source/rtl/win32
|
||||
-Fo$1/source/rtl/win32
|
||||
#ENDIF
|
||||
#IFDEF OS2
|
||||
-FD$1/bin/os2
|
||||
#IFDEF FPC_LINK_STATIC
|
||||
-Fu$1/rtl/os2/static
|
||||
-Fu$1/units/os2/static
|
||||
#ENDIF
|
||||
-Fu$1/rtl/os2
|
||||
-Fu$1/units/os2
|
||||
-Fu$1/source/rtl/os2
|
||||
-Fi$1/source/rtl/os2
|
||||
-Fo$1/source/rtl/os2
|
||||
#ENDIF
|
||||
#IFDEF Linux
|
||||
# For statically, smartlinked units
|
||||
#IFDEF FPC_LINK_STATIC
|
||||
-Fu$1/rtl/static
|
||||
-Fu$1/units/static
|
||||
#ENDIF
|
||||
# For Dynamically linked units
|
||||
#IFDEF FPC_LINK_DYNAMIC
|
||||
-Fu$1/rtl/shared
|
||||
-Fu$1/units/shared
|
||||
#ENDIF
|
||||
-Fu$1/rtl/linux
|
||||
-Fu$1/units/linux
|
||||
-Fu$1/source/rtl/linux
|
||||
-Fi$1/source/rtl/linux
|
||||
-Fo$1/source/rtl/linux
|
||||
#-Fu~/pp/units;~/pp/rtl/linux
|
||||
#-Fu/usr/lib/fpc/0.99.12/units;/usr/lib/fpc/0.99.12/rtl
|
||||
#ENDIF
|
||||
|
||||
# searchpath for libraries
|
||||
#-Fl$1/lib
|
||||
#-Fl/lib;/usr/lib
|
||||
|
||||
|
||||
# -------------
|
||||
# Linking
|
||||
# -------------
|
||||
|
||||
# generate always debugging information for GDB (slows down the compiling
|
||||
# process)
|
||||
#-g
|
||||
|
||||
# always pass an option to the linker
|
||||
#-k-s
|
||||
|
||||
# Always strip debuginfo from the executable
|
||||
-Xs
|
||||
|
||||
|
||||
# -------------
|
||||
# Miscellaneous
|
||||
# -------------
|
||||
|
||||
# Write always a nice FPC logo ;)
|
||||
-l
|
||||
|
||||
# Verbosity
|
||||
# e : Show errors (default) d : Show debug info
|
||||
# w : Show warnings u : Show used files
|
||||
# n : Show notes t : Show tried files
|
||||
# h : Show hints m : Show defined macros
|
||||
# i : Show general info p : Show compiled procedures
|
||||
# l : Show linenumbers c : Show conditionals
|
||||
# a : Show everything 0 : Show nothing (except errors)
|
||||
|
||||
# Display Info, Warnings, Notes and Hints
|
||||
-viwnh
|
||||
# If you don't want so much verbosity use
|
||||
#-vw
|
||||
|
||||
#
|
||||
# That's all folks
|
||||
#
|
||||
endcfg
|
@ -1,213 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# EMX Install file
|
||||
#
|
||||
title=Free Pascal Compiler 0.99.14 for OS/2 and DOS (EMX)
|
||||
version=0.99.14
|
||||
|
||||
basepath=c:\pp
|
||||
binsub=\bin\os2
|
||||
ppc386=ppos2
|
||||
|
||||
#
|
||||
# Binary packages
|
||||
#
|
||||
package=baseemx.zip,~B~asic system for EMX (required)
|
||||
package=asldemx.zip,GNU ~L~inker and assembler for EMX (required)
|
||||
package=gdbemx.zip,GNU ~D~ebugger for EMX and PMGDB front-end
|
||||
package=utilemx.zip,GNU ~U~tilities (for makefiles)
|
||||
package=docs-pdf.zip,Documentation (~P~DF)
|
||||
package=demo.zip,D~e~mos
|
||||
#
|
||||
# Source packages
|
||||
#
|
||||
source=basesrc.zip,Basic Makefiles for the sources
|
||||
source=compsrc.zip,~C~ompiler sources
|
||||
source=rtlsrc.zip,~R~un time library sources
|
||||
source=fclsrc.zip,~F~ree component library (FCL) sources
|
||||
source=apisrc.zip,API units sources
|
||||
source=pkgssrc.zip,Packages units sources
|
||||
source=utilssrc.zip,Utils sources
|
||||
source=instsrc.zip,Installer sources
|
||||
source=docsrc.zip,Documentation sources (La~T~eX)
|
||||
|
||||
cfgfile=ppc386.cfg
|
||||
defaultcfg=
|
||||
#
|
||||
# Example ppc386.cfg for Free Pascal Compiler Version 0.99.14
|
||||
#
|
||||
|
||||
# ----------------------
|
||||
# Defines (preprocessor)
|
||||
# ----------------------
|
||||
|
||||
#
|
||||
# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
|
||||
#
|
||||
# -d is the same as #DEFINE
|
||||
# -u is the same as #UNDEF
|
||||
#
|
||||
|
||||
# When not m68k is defined at the commandline, define i386
|
||||
#IFNDEF m68k
|
||||
#DEFINE i386
|
||||
#ENDIF
|
||||
|
||||
#
|
||||
# Some examples (for switches see below, and the -? helppages)
|
||||
#
|
||||
# Try compiling with the -dRELEASE or -dDEBUG on the commandline
|
||||
#
|
||||
|
||||
# For a release compile with optimizes and strip debuginfo
|
||||
#IFDEF RELEASE
|
||||
-OG2p2
|
||||
-Xs
|
||||
#WRITE Compiling Release Version
|
||||
#ENDIF
|
||||
|
||||
# For a debug version compile with debuginfo and all codegeneration checks on
|
||||
#IFDEF DEBUG
|
||||
-g
|
||||
-Crtoi
|
||||
#WRITE Compiling Debug Version
|
||||
#ENDIF
|
||||
|
||||
# ----------------
|
||||
# Parsing switches
|
||||
# ----------------
|
||||
|
||||
# All assembler blocks are intel styled by default
|
||||
#-Rintel
|
||||
|
||||
# All assembler blocks are AT&T styled by default
|
||||
#-Ratt
|
||||
|
||||
# All assembler blocks are directly copied to asm
|
||||
#-Rdirect
|
||||
|
||||
# Semantic checking
|
||||
# -S2 switch some Delphi 2 extension on
|
||||
# -Sc supports operators like C (*=,+=,/= and -=)
|
||||
# -Sg allows LABEL and GOTO
|
||||
# -Si support C++ stlyed INLINE
|
||||
# -Sm support macros like C (global)
|
||||
# -So tries to be TP/BP 7.0 compatible
|
||||
# -Ss constructor name must be init (destructor must be done)
|
||||
# -St allows static keyword in objects
|
||||
|
||||
# Allow goto, inline, C-operators
|
||||
-Sgic
|
||||
|
||||
# ---------------
|
||||
# Code generation
|
||||
# ---------------
|
||||
|
||||
# Uncomment the next line if you always want static/dynamic units by default
|
||||
# (can be overruled with -CD, -CS at the commandline)
|
||||
#-CS
|
||||
#-CD
|
||||
|
||||
# Set the default heapsize to 8Mb
|
||||
#-Ch8000000
|
||||
|
||||
# Set default codegeneration checks (iocheck, overflow, range, stack)
|
||||
#-Ci
|
||||
#-Co
|
||||
#-Cr
|
||||
#-Ct
|
||||
|
||||
# Optimizer switches
|
||||
# -Og generate smaller code
|
||||
# -OG generate faster code (default)
|
||||
# -Or keep certain variables in registers (still BUGGY!!!)
|
||||
# -Ou enable uncertain optimizations (see docs)
|
||||
# -O1 level 1 optimizations (quick optimizations)
|
||||
# -O2 level 2 optimizations (-O1 + slower optimizations)
|
||||
# -O3 level 3 optimizations (same as -O2u)
|
||||
# -Op target processor
|
||||
# -Op1 set target processor to 386/486
|
||||
# -Op2 set target processor to Pentium/PentiumMMX (tm)
|
||||
# -Op3 set target processor to PPro/PII/c6x86/K6 (tm)
|
||||
|
||||
# Optimize always for Size and Pentium
|
||||
#-Og2p2
|
||||
|
||||
|
||||
# -----------------------
|
||||
# Set Filenames and Paths
|
||||
# -----------------------
|
||||
|
||||
# Both slashes and backslashes are allowed in paths
|
||||
|
||||
# path to the messagefile, not necessary anymore but can be used to override
|
||||
# the default language
|
||||
#-Fr$1/msg/errore.msg
|
||||
#-Fr$1/msg/errorn.msg
|
||||
#-Fr$1/msg/errores.msg
|
||||
#-Fr$1/msg/errord.msg
|
||||
#-Fr$1/msg/errorr.msg
|
||||
|
||||
# path to the gcclib
|
||||
#-Fl$1/lib
|
||||
|
||||
# searchpath for includefiles
|
||||
-Fi$1/source/rtl/inc;$1/source/rtl/i386
|
||||
|
||||
# searchpath for objectfiles
|
||||
#-Fo$1/source/rtl/inc;$1/source/rtl/i386
|
||||
|
||||
# searchpath for libraries
|
||||
#-Fl$1/lib
|
||||
#-Fl/lib;/usr/lib
|
||||
|
||||
# searchpath for units and other system dependent things
|
||||
-Fu$1/units/$TARGET
|
||||
-Fu$1/units/$TARGET/*
|
||||
-Fu$1/units/$TARGET/rtl
|
||||
|
||||
# searchpath for tools
|
||||
-FD$1/bin/$TARGET
|
||||
|
||||
|
||||
# -------------
|
||||
# Linking
|
||||
# -------------
|
||||
|
||||
# generate always debugging information for GDB (slows down the compiling
|
||||
# process)
|
||||
#-g
|
||||
|
||||
# always pass an option to the linker
|
||||
#-k-s
|
||||
|
||||
# Always strip debuginfo from the executable
|
||||
-Xs
|
||||
|
||||
|
||||
# -------------
|
||||
# Miscellaneous
|
||||
# -------------
|
||||
|
||||
# Write always a nice FPC logo ;)
|
||||
-l
|
||||
|
||||
# Verbosity
|
||||
# e : Show errors (default) d : Show debug info
|
||||
# w : Show warnings u : Show used files
|
||||
# n : Show notes t : Show tried files
|
||||
# h : Show hints m : Show defined macros
|
||||
# i : Show general info p : Show compiled procedures
|
||||
# l : Show linenumbers c : Show conditionals
|
||||
# a : Show everything 0 : Show nothing (except errors)
|
||||
|
||||
# Display Info, Warnings, Notes and Hints
|
||||
-viwnh
|
||||
# If you don't want so much verbosity use
|
||||
#-vw
|
||||
|
||||
#
|
||||
# That's all folks
|
||||
#
|
||||
endcfg
|
@ -80,8 +80,8 @@ program install;
|
||||
const
|
||||
installerversion='0.99.14';
|
||||
|
||||
maxpacks=10;
|
||||
maxpackages=20;
|
||||
maxsources=20;
|
||||
maxdefcfgs=1024;
|
||||
|
||||
CfgExt = '.dat';
|
||||
@ -94,8 +94,16 @@ program install;
|
||||
|
||||
type
|
||||
tpackage=record
|
||||
name : string[60];
|
||||
zip : string[12];
|
||||
name : string[60];
|
||||
zip : string[12];
|
||||
end;
|
||||
|
||||
tpack=record
|
||||
name : string[12];
|
||||
include : boolean;
|
||||
filechk : string[40];
|
||||
packages : longint;
|
||||
package : array[1..maxpackages] of tpackage;
|
||||
end;
|
||||
|
||||
cfgrec=record
|
||||
@ -104,10 +112,8 @@ program install;
|
||||
basepath : DirStr;
|
||||
binsub : string[12];
|
||||
ppc386 : string[12];
|
||||
packages : longint;
|
||||
package : array[1..maxpackages] of tpackage;
|
||||
sources : longint;
|
||||
source : array[1..maxsources] of tpackage;
|
||||
packs : word;
|
||||
pack : array[1..maxpacks] of tpack;
|
||||
defcfgfile : string[12];
|
||||
defcfgs : longint;
|
||||
defcfg : array[1..maxdefcfgs] of pstring;
|
||||
@ -116,15 +122,14 @@ program install;
|
||||
datarec=packed record
|
||||
basepath : DirStr;
|
||||
cfgval : word;
|
||||
packmask : word;
|
||||
srcmask : word;
|
||||
packmask : array[1..maxpacks] of word;
|
||||
end;
|
||||
|
||||
punzipdialog=^tunzipdialog;
|
||||
tunzipdialog=object(tdialog)
|
||||
filetext : pstatictext;
|
||||
constructor Init(var Bounds: TRect; ATitle: TTitleStr);
|
||||
procedure do_unzip(s,topath:string);
|
||||
filetext : pstatictext;
|
||||
constructor Init(var Bounds: TRect; ATitle: TTitleStr);
|
||||
procedure do_unzip(s,topath:string);
|
||||
end;
|
||||
|
||||
penddialog = ^tenddialog;
|
||||
@ -142,31 +147,32 @@ program install;
|
||||
procedure handleevent(var event : tevent);virtual;
|
||||
procedure do_installdialog;
|
||||
procedure readcfg(const fn:string);
|
||||
procedure checkavailpack;
|
||||
end;
|
||||
|
||||
{$IFDEF DOSSTUB}
|
||||
PByte = ^byte;
|
||||
PRunBlock = ^TRunBlock;
|
||||
TRunBlock = record
|
||||
Length: word;
|
||||
Dependent: word;
|
||||
Background: word;
|
||||
TraceLevel: word;
|
||||
PrgTitle: PChar;
|
||||
PrgName: PChar;
|
||||
Args: PChar;
|
||||
TermQ: longint;
|
||||
Environment: pointer;
|
||||
Inheritance: word;
|
||||
SesType: word;
|
||||
Icon: pointer;
|
||||
PgmHandle: longint;
|
||||
PgmControl: word;
|
||||
Column: word;
|
||||
Row: word;
|
||||
Width: word;
|
||||
Height: word;
|
||||
end;
|
||||
PByte = ^byte;
|
||||
PRunBlock = ^TRunBlock;
|
||||
TRunBlock = record
|
||||
Length: word;
|
||||
Dependent: word;
|
||||
Background: word;
|
||||
TraceLevel: word;
|
||||
PrgTitle: PChar;
|
||||
PrgName: PChar;
|
||||
Args: PChar;
|
||||
TermQ: longint;
|
||||
Environment: pointer;
|
||||
Inheritance: word;
|
||||
SesType: word;
|
||||
Icon: pointer;
|
||||
PgmHandle: longint;
|
||||
PgmControl: word;
|
||||
Column: word;
|
||||
Row: word;
|
||||
Width: word;
|
||||
Height: word;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
var
|
||||
@ -190,6 +196,7 @@ program install;
|
||||
halt(1);
|
||||
end;
|
||||
|
||||
|
||||
function packagemask(i:longint):longint;
|
||||
begin
|
||||
packagemask:=1 shl (i-1);
|
||||
@ -229,6 +236,7 @@ program install;
|
||||
file_exists:=fsearch(f,path)<>'';
|
||||
end;
|
||||
|
||||
|
||||
function createdir(s:string):boolean;
|
||||
var
|
||||
s1,start : string;
|
||||
@ -268,6 +276,7 @@ program install;
|
||||
createdir:=err;
|
||||
end;
|
||||
|
||||
|
||||
function DiskSpaceN(const zipfile : string) : longint;
|
||||
var
|
||||
compressed,uncompressed : longint;
|
||||
@ -411,6 +420,7 @@ program install;
|
||||
|
||||
procedure tunzipdialog.do_unzip(s,topath : string);
|
||||
var
|
||||
again : boolean;
|
||||
fn,dir,wild : string;
|
||||
begin
|
||||
Disposestr(filetext^.text);
|
||||
@ -422,25 +432,26 @@ program install;
|
||||
'Installation doesn''t becomes complete',nil,mferror+mfokbutton);
|
||||
errorhalt;
|
||||
end;
|
||||
fn:=startpath+DirSep+s+#0;
|
||||
dir:=topath+#0;
|
||||
wild:=AllFiles + #0;
|
||||
(* TH - added to clear the previous state of DosError *)
|
||||
DosError := 0;
|
||||
repeat
|
||||
fn:=startpath+DirSep+s+#0;
|
||||
dir:=topath+#0;
|
||||
wild:=AllFiles + #0;
|
||||
DosError := 0;
|
||||
again:=false;
|
||||
{$IFDEF DLL}
|
||||
if
|
||||
{$ENDIF}
|
||||
FileUnzipEx(@fn[1],@dir[1],@wild[1])
|
||||
{$IFDEF DLL}
|
||||
= 0 then
|
||||
if FileUnzipEx(@fn[1],@dir[1],@wild[1])=0 then
|
||||
{$ELSE}
|
||||
;
|
||||
if doserror<>0 then
|
||||
FileUnzipEx(@fn[1],@dir[1],@wild[1]);
|
||||
if (doserror<>0) then
|
||||
{$ENDIF}
|
||||
begin
|
||||
messagebox('Error when extracting. Disk full?',nil,mferror+mfokbutton);
|
||||
errorhalt;
|
||||
end;
|
||||
begin
|
||||
if messagebox('Error when extracting. Disk full?'#13+
|
||||
#13#3'Try again?',nil,mferror+mfyesbutton+mfnobutton)=cmNo then
|
||||
errorhalt
|
||||
else
|
||||
again:=true;
|
||||
end;
|
||||
until not again;
|
||||
end;
|
||||
|
||||
|
||||
@ -535,13 +546,15 @@ program install;
|
||||
y2 = y1+height;
|
||||
var
|
||||
tabr,tabir,r : trect;
|
||||
srcmask,
|
||||
mask_components : longint;
|
||||
i,line : integer;
|
||||
srcitems,items : psitem;
|
||||
packmask : array[1..maxpacks] of longint;
|
||||
i,line,j : integer;
|
||||
items : array[1..maxpacks] of psitem;
|
||||
f : pview;
|
||||
found : boolean;
|
||||
okbut,cancelbut : pbutton;
|
||||
packcbs,sourcecbs : pcheckboxes;
|
||||
firstitem : array[1..maxpacks] of integer;
|
||||
packcbs : array[1..maxpacks] of pcheckboxes;
|
||||
packtd : ptabdef;
|
||||
labpath : plabel;
|
||||
ilpath : pinputline;
|
||||
tab : ptab;
|
||||
@ -551,35 +564,31 @@ program install;
|
||||
begin
|
||||
f:=nil;
|
||||
{ walk packages reverse and insert a newsitem for each, and set the mask }
|
||||
items:=nil;
|
||||
mask_components:=0;
|
||||
for i:=cfg.packages downto 1 do
|
||||
begin
|
||||
if file_exists(cfg.package[i].zip,startpath) then
|
||||
begin
|
||||
items:=newsitem(cfg.package[i].name+diskspace(startpath+DirSep+cfg.package[i].zip),items);
|
||||
mask_components:=mask_components or packagemask(i);
|
||||
end
|
||||
else
|
||||
items:=newsitem(cfg.package[i].name,items);
|
||||
end;
|
||||
|
||||
{ walk source packages reverse and insert a newsitem for each, and set the mask }
|
||||
srcitems:=nil;
|
||||
srcmask:=0;
|
||||
for i:=cfg.sources downto 1 do
|
||||
begin
|
||||
if file_exists(cfg.source[i].zip,startpath) then
|
||||
begin
|
||||
srcitems:=newsitem(cfg.source[i].name+diskspace(startpath+DirSep+cfg.source[i].zip),srcitems);
|
||||
srcmask:=srcmask or packagemask(i);
|
||||
end
|
||||
else
|
||||
srcitems:=newsitem(cfg.source[i].name,srcitems);
|
||||
end;
|
||||
for j:=1to cfg.packs do
|
||||
with cfg.pack[j] do
|
||||
begin
|
||||
firstitem[j]:=0;
|
||||
items[j]:=nil;
|
||||
packmask[j]:=0;
|
||||
for i:=packages downto 1 do
|
||||
begin
|
||||
if file_exists(package[i].zip,startpath) then
|
||||
begin
|
||||
items[j]:=newsitem(package[i].name+diskspace(startpath+DirSep+package[i].zip),items[j]);
|
||||
packmask[j]:=packmask[j] or packagemask(i);
|
||||
firstitem[j]:=i;
|
||||
end
|
||||
else
|
||||
items[j]:=newsitem(package[i].name,items[j]);
|
||||
end;
|
||||
end;
|
||||
|
||||
{ If no component found abort }
|
||||
if (mask_components=0) and (srcmask=0) then
|
||||
found:=false;
|
||||
for j:=1to cfg.packs do
|
||||
if packmask[j]<>0 then
|
||||
found:=true;
|
||||
if not found then
|
||||
begin
|
||||
messagebox('No components found to install, aborting.',nil,mferror+mfokbutton);
|
||||
errorhalt;
|
||||
@ -595,7 +604,7 @@ program install;
|
||||
TabIR.Grow(-2,-2);
|
||||
TabIR.Move(-2,0);
|
||||
|
||||
{-------- Sheet 1 ----------}
|
||||
{-------- General Sheets ----------}
|
||||
R.Copy(TabIR);
|
||||
r.move(0,1);
|
||||
r.b.x:=r.a.x+40;
|
||||
@ -619,19 +628,22 @@ program install;
|
||||
new(cfgcb,init(r,newsitem('create ppc386.cfg',nil)));
|
||||
data.cfgval:=1;
|
||||
|
||||
{-------- Sheet 2 ----------}
|
||||
R.Copy(TabIR);
|
||||
new(packcbs,init(r,items));
|
||||
data.packmask:=mask_components;
|
||||
pcluster(packcbs)^.enablemask:=mask_components;
|
||||
|
||||
{-------- Sheet 3 ----------}
|
||||
R.Copy(TabIR);
|
||||
new(sourcecbs,init(r,srcitems));
|
||||
data.srcmask:=srcmask;
|
||||
pcluster(sourcecbs)^.enablemask:=srcmask;
|
||||
{-------- Pack Sheets ----------}
|
||||
for j:=1to cfg.packs do
|
||||
begin
|
||||
R.Copy(TabIR);
|
||||
new(packcbs[j],init(r,items[j]));
|
||||
if data.packmask[j]=$ffff then
|
||||
data.packmask[j]:=packmask[j];
|
||||
packcbs[j]^.enablemask:=packmask[j];
|
||||
packcbs[j]^.movedto(firstitem[j]);
|
||||
end;
|
||||
|
||||
{--------- Main ---------}
|
||||
packtd:=nil;
|
||||
for j:=cfg.packs downto 1 do
|
||||
packtd:=NewTabDef(cfg.pack[j].name,PackCbs[j],NewTabItem(PackCbs[j],nil),packtd);
|
||||
|
||||
New(Tab, Init(TabR,
|
||||
NewTabDef('~G~eneral',IlPath,
|
||||
NewTabItem(TitleText,
|
||||
@ -640,23 +652,18 @@ program install;
|
||||
NewTabItem(LabCfg,
|
||||
NewTabItem(CfgCB,
|
||||
nil))))),
|
||||
NewTabDef('~P~ackages',PackCbs,
|
||||
NewTabItem(PackCbs,
|
||||
nil),
|
||||
NewTabDef('~S~ources',SourceCbs,
|
||||
NewTabItem(SourceCbs,
|
||||
nil),
|
||||
nil)))));
|
||||
packtd)
|
||||
));
|
||||
Tab^.GrowMode:=0;
|
||||
Insert(Tab);
|
||||
|
||||
line:=tabr.b.y;
|
||||
r.assign((width div 2)-14,line,(width div 2)-4,line+2);
|
||||
new(okbut,init(r,'~O~k',cmok,bfdefault));
|
||||
r.assign((width div 2)-18,line,(width div 2)-4,line+2);
|
||||
new(okbut,init(r,'~C~ontinue',cmok,bfdefault));
|
||||
Insert(OkBut);
|
||||
|
||||
r.assign((width div 2)+4,line,(width div 2)+14,line+2);
|
||||
new(cancelbut,init(r,'~C~ancel',cmcancel,bfnormal));
|
||||
new(cancelbut,init(r,'~Q~uit',cmcancel,bfnormal));
|
||||
Insert(CancelBut);
|
||||
|
||||
Tab^.Select;
|
||||
@ -678,7 +685,8 @@ program install;
|
||||
r : trect;
|
||||
result,
|
||||
c : word;
|
||||
i : longint;
|
||||
i,j : longint;
|
||||
found : boolean;
|
||||
{$ifndef linux}
|
||||
DSize,Space : longint;
|
||||
S: DirStr;
|
||||
@ -686,8 +694,8 @@ program install;
|
||||
begin
|
||||
data.basepath:=cfg.basepath;
|
||||
data.cfgval:=0;
|
||||
data.srcmask:=0;
|
||||
data.packmask:=0;
|
||||
for j:=1to cfg.packs do
|
||||
data.packmask[j]:=$ffff;
|
||||
|
||||
repeat
|
||||
{ select components }
|
||||
@ -699,23 +707,24 @@ program install;
|
||||
messagebox('Please, choose the directory for installation first.',nil,mferror+mfokbutton)
|
||||
else
|
||||
begin
|
||||
if (data.srcmask>0) or (data.packmask>0) then
|
||||
found:=false;
|
||||
for j:=1to cfg.packs do
|
||||
if data.packmask[j]>0 then
|
||||
found:=true;
|
||||
if found then
|
||||
begin
|
||||
{$IFNDEF LINUX}
|
||||
{ TH - check the available disk space here }
|
||||
DSize := 0;
|
||||
for i:=1 to cfg.packages do
|
||||
begin
|
||||
if data.packmask and packagemask(i)<>0 then
|
||||
Inc (DSize, DiskSpaceN(cfg.package[i].zip));
|
||||
end;
|
||||
for i:=1 to cfg.sources do
|
||||
begin
|
||||
if data.srcmask and packagemask(i)<>0 then
|
||||
Inc (DSize, DiskSpaceN(cfg.source[i].zip));
|
||||
end;
|
||||
if data.packmask and packagemask(i)<>0 then
|
||||
Inc (DSize, DiskSpaceN(cfg.package[i].zip));
|
||||
for j:=1to cfg.packs do
|
||||
with cfg.pack[j] do
|
||||
begin
|
||||
for i:=1 to packages do
|
||||
begin
|
||||
if data.packmask[j] and packagemask(i)<>0 then
|
||||
Inc (DSize, DiskSpaceN(package[i].zip));
|
||||
end;
|
||||
end;
|
||||
S := FExpand (Data.BasePath);
|
||||
if S [Length (S)] = DirSep then
|
||||
Dec (S [0]);
|
||||
@ -724,7 +733,7 @@ program install;
|
||||
S := 'is not'
|
||||
else
|
||||
S := '';
|
||||
if Space < DSize + 500 then
|
||||
if true or (Space < DSize + 500) then
|
||||
begin
|
||||
if S = '' then
|
||||
S := 'might not be';
|
||||
@ -740,9 +749,20 @@ program install;
|
||||
end
|
||||
else
|
||||
begin
|
||||
result:=messagebox('No components selected.'#13#13'Abort installation?',nil,mferror+mfyesbutton+mfnobutton);
|
||||
if result=cmYes then
|
||||
exit;
|
||||
{ maybe only config }
|
||||
if (data.cfgval and 1)<>0 then
|
||||
begin
|
||||
result:=messagebox('No components selected.'#13#13'Create a configfile ?',nil,mfinformation+mfyesbutton+mfnobutton);
|
||||
if (result=cmYes) and createinstalldir(data.basepath) then
|
||||
writedefcfg(data.basepath+cfg.binsub+DirSep+cfg.defcfgfile);
|
||||
exit;
|
||||
end
|
||||
else
|
||||
begin
|
||||
result:=messagebox('No components selected.'#13#13'Abort installation?',nil,mferror+mfyesbutton+mfnobutton);
|
||||
if result=cmYes then
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
@ -751,28 +771,20 @@ program install;
|
||||
until false;
|
||||
|
||||
{ extract packages }
|
||||
r.assign(20,7,60,16);
|
||||
p2:=new(punzipdialog,init(r,'Extracting Packages'));
|
||||
desktop^.insert(p2);
|
||||
for i:=1 to cfg.packages do
|
||||
begin
|
||||
if data.packmask and packagemask(i)<>0 then
|
||||
p2^.do_unzip(cfg.package[i].zip,data.basepath);
|
||||
end;
|
||||
desktop^.delete(p2);
|
||||
dispose(p2,done);
|
||||
|
||||
{ extract sources }
|
||||
r.assign(20,7,60,16);
|
||||
p2:=new(punzipdialog,init(r,'Extracting Sources'));
|
||||
desktop^.insert(p2);
|
||||
for i:=1 to cfg.sources do
|
||||
begin
|
||||
if data.srcmask and packagemask(i)<>0 then
|
||||
p2^.do_unzip(cfg.source[i].zip,data.basepath);
|
||||
end;
|
||||
desktop^.delete(p2);
|
||||
dispose(p2,done);
|
||||
for j:=1 to cfg.packs do
|
||||
with cfg.pack[j] do
|
||||
begin
|
||||
r.assign(20,7,60,16);
|
||||
p2:=new(punzipdialog,init(r,'Extracting Packages'));
|
||||
desktop^.insert(p2);
|
||||
for i:=1 to packages do
|
||||
begin
|
||||
if data.packmask[j] and packagemask(i)<>0 then
|
||||
p2^.do_unzip(package[i].zip,data.basepath);
|
||||
end;
|
||||
desktop^.delete(p2);
|
||||
dispose(p2,done);
|
||||
end;
|
||||
|
||||
{ write config }
|
||||
if (data.cfgval and 1)<>0 then
|
||||
@ -879,27 +891,45 @@ program install;
|
||||
until false;
|
||||
end
|
||||
else
|
||||
if item='PACKAGE' then
|
||||
if item='PACK' then
|
||||
begin
|
||||
j:=pos(',',s);
|
||||
if (j>0) and (cfg.packages<maxpackages) then
|
||||
inc(cfg.packs);
|
||||
if cfg.packs>maxpacks then
|
||||
begin
|
||||
inc(cfg.packages);
|
||||
cfg.package[cfg.packages].zip:=copy(s,1,j-1);
|
||||
cfg.package[cfg.packages].name:=copy(s,j+1,255);
|
||||
writeln('Too much packs');
|
||||
halt(1);
|
||||
end;
|
||||
cfg.pack[cfg.packs].name:=s;
|
||||
end
|
||||
else
|
||||
if item='SOURCE' then
|
||||
if item='FILECHECK' then
|
||||
begin
|
||||
j:=pos(',',s);
|
||||
if (j>0) and (cfg.sources<maxsources) then
|
||||
if cfg.packs=0 then
|
||||
begin
|
||||
inc(cfg.sources);
|
||||
cfg.source[cfg.sources].zip:=copy(s,1,j-1);
|
||||
cfg.source[cfg.sources].name:=copy(s,j+1,255);
|
||||
writeln('No pack set');
|
||||
halt(1);
|
||||
end;
|
||||
end;
|
||||
cfg.pack[cfg.packs].filechk:=s;
|
||||
end
|
||||
else
|
||||
if item='PACKAGE' then
|
||||
begin
|
||||
if cfg.packs=0 then
|
||||
begin
|
||||
writeln('No pack set');
|
||||
halt(1);
|
||||
end;
|
||||
with cfg.pack[cfg.packs] do
|
||||
begin
|
||||
j:=pos(',',s);
|
||||
if (j>0) and (packages<maxpackages) then
|
||||
begin
|
||||
inc(packages);
|
||||
package[packages].zip:=copy(s,1,j-1);
|
||||
package[packages].name:=copy(s,j+1,255);
|
||||
end;
|
||||
end;
|
||||
end
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -907,6 +937,32 @@ program install;
|
||||
end;
|
||||
|
||||
|
||||
procedure tapp.checkavailpack;
|
||||
var
|
||||
j : longint;
|
||||
dir : searchrec;
|
||||
begin
|
||||
{ check the packages }
|
||||
j:=0;
|
||||
while (j<cfg.packs) do
|
||||
begin
|
||||
inc(j);
|
||||
if cfg.pack[j].filechk<>'' then
|
||||
begin
|
||||
findfirst(cfg.pack[j].filechk,$20,dir);
|
||||
if doserror<>0 then
|
||||
begin
|
||||
{ remove the package }
|
||||
move(cfg.pack[j+1],cfg.pack[j],sizeof(tpack)*(cfg.packs-j));
|
||||
dec(cfg.packs);
|
||||
dec(j);
|
||||
end;
|
||||
findclose(dir);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure tapp.initmenubar;
|
||||
var
|
||||
r : trect;
|
||||
@ -914,7 +970,7 @@ program install;
|
||||
getextent(r);
|
||||
r.b.y:=r.a.y+1;
|
||||
menubar:=new(pmenubar,init(r,newmenu(
|
||||
newsubmenu('~F~ree Pascal Installer '+installerversion,hcnocontext,newmenu(nil
|
||||
newsubmenu('Free Pascal Installer',hcnocontext,newmenu(nil
|
||||
),
|
||||
nil))));
|
||||
end;
|
||||
@ -1039,13 +1095,17 @@ begin
|
||||
FSplit (FExpand (ParamStr (0)), DStr, CfgName, EStr);
|
||||
|
||||
installapp.readcfg(CfgName + CfgExt);
|
||||
installapp.checkavailpack;
|
||||
{ installapp.readcfg(startpath+dirsep+cfgfile);}
|
||||
installapp.do_installdialog;
|
||||
installapp.done;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.10 2000-01-18 00:22:48 peter
|
||||
Revision 1.11 2000-01-24 22:21:48 peter
|
||||
* new install version (keys not wrong correct yet)
|
||||
|
||||
Revision 1.10 2000/01/18 00:22:48 peter
|
||||
* fixed uninited local var
|
||||
|
||||
Revision 1.9 1999/08/03 20:21:53 peter
|
||||
@ -1120,4 +1180,4 @@ end.
|
||||
Revision 1.2 1998/04/07 22:47:57 florian
|
||||
+ version/release/patch numbers as string added
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user