|
@@ -0,0 +1,218 @@
|
|
|
|
+#!/bin/sh
|
|
|
|
+#
|
|
|
|
+# $Id$
|
|
|
|
+# This file is part of the Free Pascal run time library.
|
|
|
|
+# Copyright (c) 1996-98 by Michael van Canneyt and Peter Vreman
|
|
|
|
+#
|
|
|
|
+# Generate a configuration creationfile which will create /etc/ppc386.cfg
|
|
|
|
+#
|
|
|
|
+# Need 1 Arguments:
|
|
|
|
+# $1 = filename to create
|
|
|
|
+#
|
|
|
|
+if [ $# != 1 ]; then
|
|
|
|
+ echo 'Usage :'
|
|
|
|
+ echo 'makecfg filename'
|
|
|
|
+ echo 'filename = filename to create'
|
|
|
|
+ exit 1
|
|
|
|
+fi
|
|
|
|
+cat <<EOFCREATE >$1
|
|
|
|
+#!/bin/sh
|
|
|
|
+#
|
|
|
|
+# Generate Free Pascal configuration file
|
|
|
|
+#
|
|
|
|
+if [ \$# != 2 ]; then
|
|
|
|
+ echo 'Usage :'
|
|
|
|
+ echo 'samplecfg basepath libgccpath'
|
|
|
|
+ echo 'basepath = Path where FPC is installed'
|
|
|
|
+ echo 'libgccpath = Path to the GCC lib'
|
|
|
|
+ exit 1
|
|
|
|
+fi
|
|
|
|
+if [ -f /etc/ppc386.cfg ] ; then
|
|
|
|
+ mv /etc/ppc386.cfg /etc/ppc386.orig >/dev/null 2>&1
|
|
|
|
+ if [ \$? == 0 ]; then
|
|
|
|
+ echo Saved old config to /etc/ppc386.orig
|
|
|
|
+ else
|
|
|
|
+ echo Could not save old config. Bailing out...
|
|
|
|
+ fi
|
|
|
|
+fi
|
|
|
|
+echo Writing sample configuration file to /etc/ppc386.cfg
|
|
|
|
+cat <<EOFCFG > /etc/ppc386.cfg
|
|
|
|
+#
|
|
|
|
+# Example ppc386.cfg for Free Pascal Compiler Version 0.99.11
|
|
|
|
+#
|
|
|
|
+
|
|
|
|
+# ----------------------
|
|
|
|
+# 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
|
|
|
|
+
|
|
|
|
+# 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, C-vars
|
|
|
|
+-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
|
|
|
|
+# -----------------------
|
|
|
|
+
|
|
|
|
+# Slashes are also allowed under dos
|
|
|
|
+
|
|
|
|
+# 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
|
|
|
|
+
|
|
|
|
+# path to the gcclib
|
|
|
|
+-Fg\$2
|
|
|
|
+
|
|
|
|
+# searchpath for includefiles
|
|
|
|
+#-Fi/pp/inc;/pp/rtl/inc
|
|
|
|
+
|
|
|
|
+# searchpath for units (does the same as -Up)
|
|
|
|
+# 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
|
|
|
|
+# For normal units
|
|
|
|
+-Fu\$1/rtl
|
|
|
|
+-Fu\$1/units
|
|
|
|
+#-Fu/pp/units;/pp/rtl/dos/go32v2
|
|
|
|
+#-Fu/usr/lib/ppc/units;/usr/lib/ppc/linuxunits
|
|
|
|
+
|
|
|
|
+# searchpath for libraries
|
|
|
|
+#-Fl/pp/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
|
|
|
|
+#
|
|
|
|
+EOFCFG
|
|
|
|
+EOFCREATE
|
|
|
|
+chmod 755 $1
|