浏览代码

* move tools to compiler/utils/

peter 20 年之前
父节点
当前提交
ab069b68a2

+ 81 - 66
compiler/utils/Makefile

@@ -231,202 +231,202 @@ UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
 endif
 PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-sunos)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),sparc-sunos)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove
+override TARGET_PROGRAMS+=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
 endif
 ifeq ($(FULL_TARGET),i386-linux)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-sunos)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),sparc-sunos)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override CLEAN_UNITS+=ppu crc
+override CLEAN_UNITS+=ppu crc usubst
 endif
 override INSTALL_FPCPACKAGE=y
 ifeq ($(FULL_TARGET),i386-linux)
@@ -1915,6 +1915,15 @@ endif
 fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
 fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
 fpc_makefiles: fpc_makefile fpc_makefile_dirs
+ifndef DATA2INC
+DATA2INC:=$(strip $(wildcard $(addsuffix /data2inc$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(DATA2INC),)
+DATA2INC= __missing_command_DATA2INC
+else
+DATA2INC:=$(firstword $(DATA2INC))
+endif
+endif
+export DATA2INC
 all: fpc_all
 debug: fpc_debug
 smart: fpc_smart
@@ -1943,4 +1952,10 @@ ppu$(PPUEXT): ppu.pas
 ppufiles$(EXEEXT): ppufiles.pp ppu$(PPUEXT)
 ppudump$(EXEEXT): ppudump.pp ppu$(PPUEXT)
 ppumove$(EXEEXT): ppumove.pp ppu$(PPUEXT)
+fpcsubst$(EXEEXT): fpcsubst.pp usubst.pp
+fpcmkcfg$(EXEEXT): fpcmkcfg.pp usubst.pp fpccfg.inc
+ifneq ($(DATA2INC),)
+fpccfg.inc: fpc.cft
+	$(DATA2INC) -b -s fpc.cft fpccfg.inc DefaultConfig 
+endif
 unexport PPUFILES PPUMOVE

+ 15 - 2
compiler/utils/Makefile.fpc

@@ -3,10 +3,11 @@
 #
 
 [target]
-programs=fpc ppufiles ppudump ppumove
+programs=fpc ppufiles ppudump ppumove fpcsubst fpcmkcfg
+rst=fpcmkcfg fpcsubst
 
 [clean]
-units=ppu crc
+units=ppu crc usubst
 
 [compiler]
 unitdir=..
@@ -15,6 +16,9 @@ sourcedir=..
 [install]
 fpcpackage=y
 
+[require]
+tools=data2inc
+
 [default]
 fpcdir=../..
 
@@ -31,6 +35,15 @@ ppudump$(EXEEXT): ppudump.pp ppu$(PPUEXT)
 
 ppumove$(EXEEXT): ppumove.pp ppu$(PPUEXT)
 
+fpcsubst$(EXEEXT): fpcsubst.pp usubst.pp
+
+fpcmkcfg$(EXEEXT): fpcmkcfg.pp usubst.pp fpccfg.inc
+
+ifneq ($(DATA2INC),)
+fpccfg.inc: fpc.cft
+        $(DATA2INC) -b -s fpc.cft fpccfg.inc DefaultConfig 
+endif
+
 #
 # Don't export some tools, which are found in the current dir if it's in
 # the path, so are not valid for the subdirs

+ 210 - 173
install/fpc.cft → compiler/utils/fpc.cft

@@ -1,173 +1,210 @@
-# Config file generated by fpcmkcfg on %BUILDDATE% - %BUILDTIME%
-# Example fpc.cfg for Free Pascal Compiler
-#
-
-# ----------------------
-# Defines (preprocessor)
-# ----------------------
-
-#
-# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
-#
-# -d is the same as #DEFINE
-# -u is the same as #UNDEF
-#
-
-#
-# 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
-  -OG2p3
-  -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 extensions on
-#  -Sc        supports operators like C (*=,+=,/= and -=)
-#  -Sd        tries to be Delphi compatible
-#  -Se<x>     compiler stops after the <x> errors (default is 1)
-#  -Sg        allow LABEL and GOTO
-#  -Sh        Use ansistrings
-#  -Si        support C++ styled INLINE
-#  -Sm        support macros like C (global)
-#  -So        tries to be TP/BP 7.0 compatible
-#  -Sp        tries to be gpc compatible
-#  -Ss        constructor name must be init (destructor must be done)
-#  -St        allow 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 PentiumII
-#-Og2p3
-
-
-# -----------------------
-# 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%basepath%/msg/errore.msg
-#-Fr%basepath%/msg/errorn.msg
-#-Fr%basepath%/msg/errores.msg
-#-Fr%basepath%/msg/errord.msg
-#-Fr%basepath%/msg/errorr.msg
-
-# path to the gcclib
-#-Fl%basepath%/lib
-
-# searchpath for includefiles
-# release them only if you know what you do
-# because this could cause a rebuild of the runtime library
-# if you tell them compiler/ide to build the project (FK)
-#-Fi%basepath%/source/rtl/inc;%basepath%/source/rtl/i386
-
-# searchpath for objectfiles
-#-Fo%basepath%/source/rtl/inc;%basepath%/source/rtl/i386
-
-# searchpath for units and other system dependent things
--Fu%basepath%/units/$FPCTARGET/
--Fu%basepath%/units/$FPCTARGET/*
--Fu%basepath%/units/$FPCTARGET/rtl
-
-# searchpath for libraries
-#-Fl%basepath%/lib
-#-Fl/lib;/usr/lib
-
-# searchpath for tools
--FD%basepath%/bin/$FPCTARGET
-
-# -------------
-# Linking
-# -------------
-
-# generate always debugging information for GDB (slows down the compiling
-# process)
-#-gl
-
-# 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
--viwn
-# If you don't want so much verbosity use
-#-vw
-
+#
+# Config file generated by fpcmkcfg on %BUILDDATE% - %BUILDTIME%
+# Example fpc.cfg for Free Pascal Compiler
+#
+
+# ----------------------
+# Defines (preprocessor)
+# ----------------------
+
+#
+# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
+#
+# -d is the same as #DEFINE
+# -u is the same as #UNDEF
+#
+
+#
+# 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
+  -OG2p3
+  -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
+# ----------------
+
+# Pascal language mode
+#      -Mfpc      free pascal dialect (default)
+#      -Mobjfpc   switch some Delphi 2 extensions on
+#      -Mdelphi   tries to be Delphi compatible
+#      -Mtp       tries to be TP/BP 7.0 compatible
+#      -Mgpc      tries to be gpc compatible
+#      -Mmacpas   tries to be compatible to the macintosh pascal dialects
+#
+# Turn on Object Pascal extensions by default
+#-Mobjfpc
+
+# Assembler reader mode
+#      -Rdefault  use default assembler
+#      -Ratt      read AT&T style assembler
+#      -Rintel    read Intel style assembler
+#
+# All assembler blocks are AT&T styled by default
+#-Ratt
+
+# Semantic checking
+#      -S2        same as -Mobjfpc
+#      -Sc        supports operators like C (*=,+=,/= and -=)
+#      -Sa        include assertion code.
+#      -Sd        same as -Mdelphi
+#      -Se<x>     compiler stops after the <x> errors (default is 1)
+#      -Sg        allow LABEL and GOTO
+#      -Sh        Use ansistrings
+#      -Si        support C++ styled INLINE
+#      -SI<x>     set interface style to <x>
+#         -SIcomCOM compatible interface (default)
+#         -SIcorbaCORBA compatible interface
+#      -Sm        support macros like C (global)
+#      -So        same as -Mtp
+#      -Sp        same as -Mgpc
+#      -Ss        constructor name must be init (destructor must be done)
+#      -St        allow 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 for i386 compiler
+# -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 PII
+#-OG2p3
+
+
+# -----------------------
+# 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%basepath%/msg/errore.msg
+#-Fr%basepath%/msg/errorn.msg
+#-Fr%basepath%/msg/errores.msg
+#-Fr%basepath%/msg/errord.msg
+#-Fr%basepath%/msg/errorr.msg
+
+# path to the gcclib
+#-Fl%basepath%/lib
+
+# searchpath for includefiles
+#-Fi/pp/inc;/pp/rtl/inc
+
+# searchpath for units and other system dependent things
+-Fu$1/units/\$fpctarget
+-Fu$1/units/\$fpctarget/*
+-Fu$1/units/\$fpctarget/rtl
+#-Fu~/fpc/packages/base/*/units/$fpctarget;~/fpc/fcll/units/$fpctarget;~/fpc/rtl/units/$fpctarget
+
+# searchpath for includefiles
+# release them only if you know what you do
+# because this could cause a rebuild of the runtime library
+# if you tell them compiler/ide to build the project (FK)
+#-Fi%basepath%/source/rtl/inc;%basepath%/source/rtl/i386
+
+# searchpath for objectfiles
+#-Fo%basepath%/source/rtl/inc;%basepath%/source/rtl/i386
+
+# searchpath for units and other system dependent things
+-Fu%basepath%/units/$FPCTARGET/
+-Fu%basepath%/units/$FPCTARGET/*
+-Fu%basepath%/units/$FPCTARGET/rtl
+
+# searchpath for libraries
+#-Fl%basepath%/lib
+#-Fl/lib;/usr/lib
+
+# searchpath for tools
+-FD%basepath%/bin/$FPCTARGET
+
+
+# -------------
+# Linking
+# -------------
+
+# generate always debugging information for GDB (slows down the compiling
+# process)
+#      -gc        generate checks for pointers
+#      -gd        use dbx
+#      -gg        use gsym
+#      -gh        use heap trace unit (for memory leak debugging)
+#      -gl        use line info unit to show more info for backtraces
+#      -gv        generates programs tracable with valgrind
+#      -gw        generate dwarf debugging info
+#
+# Enable debuginfo and use the line info unit by default
+#-gl
+
+# 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 unit info
+#      n : Show notes                  t : Show tried/used 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)
+#      b : Show all procedure          r : Rhide/GCC compatibility mode
+#          declarations if an error    x : Executable info (Win32 only)
+#          occurs
+#
+# Display Info, Warnings, Notes and Hints
+-viwn
+# If you don't want so much verbosity use
+#-vw

+ 227 - 0
compiler/utils/fpccfg.inc

@@ -0,0 +1,227 @@
+{$ifdef Delphi}
+const DefaultConfig : array[0..24] of string[240]=(
+{$else Delphi}
+const DefaultConfig : array[0..24,1..240] of char=(
+{$endif Delphi}
+  '#'#010+
+  '# Config file generated by fpcmkcfg on %BUILDDATE% - %BUILDTIME%'#010+
+  '# Example fpc.cfg for Free Pascal Compiler'#010+
+  '#'#010+
+  #010+
+  '# ----------------------'#010+
+  '# Defines (preprocessor)'#010+
+  '# ----------------------'#010+
+  #010+
+  '#'#010+
+  '# nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE,',' #UNDEF are allowed'+
+  #010+
+  '#'#010+
+  '# -d is the same as #DEFINE'#010+
+  '# -u is the same as #UNDEF'#010+
+  '#'#010+
+  #010+
+  '#'#010+
+  '# Some examples (for switches see below, and the -? helppages)'#010+
+  '#'#010+
+  '# Try compiling with the -dRELEASE or -dDEBUG on the commandline'#010+
+  '#'#010+
+  #010+
+  '# For a release compile w','ith optimizes and strip debuginfo'#010+
+  '#IFDEF RELEASE'#010+
+  '  -OG2p3'#010+
+  '  -Xs'#010+
+  '  #WRITE Compiling Release Version'#010+
+  '#ENDIF'#010+
+  #010+
+  '# For a debug version compile with debuginfo and all codegeneration ch'+
+  'ecks on'#010+
+  '#IFDEF DEBUG'#010+
+  '  -g'#010+
+  '  -Crtoi'#010+
+  '  #WRITE Compiling Debug Ver','sion'#010+
+  '#ENDIF'#010+
+  #010+
+  '# ----------------'#010+
+  '# Parsing switches'#010+
+  '# ----------------'#010+
+  #010+
+  '# Pascal language mode'#010+
+  '#      -Mfpc      free pascal dialect (default)'#010+
+  '#      -Mobjfpc   switch some Delphi 2 extensions on'#010+
+  '#      -Mdelphi   tries to be Delphi compatib','le'#010+
+  '#      -Mtp       tries to be TP/BP 7.0 compatible'#010+
+  '#      -Mgpc      tries to be gpc compatible'#010+
+  '#      -Mmacpas   tries to be compatible to the macintosh pascal diale'+
+  'cts'#010+
+  '#'#010+
+  '# Turn on Object Pascal extensions by default'#010+
+  '#-Mobjfpc'#010+
+  #010+
+  '# Assemb','ler reader mode'#010+
+  '#      -Rdefault  use default assembler'#010+
+  '#      -Ratt      read AT&T style assembler'#010+
+  '#      -Rintel    read Intel style assembler'#010+
+  '#'#010+
+  '# All assembler blocks are AT&T styled by default'#010+
+  '#-Ratt'#010+
+  #010+
+  '# Semantic checking'#010+
+  '#      -S2     ','   same as -Mobjfpc'#010+
+  '#      -Sc        supports operators like C (*=,+=,/= and -=)'#010+
+  '#      -Sa        include assertion code.'#010+
+  '#      -Sd        same as -Mdelphi'#010+
+  '#      -Se<x>     compiler stops after the <x> errors (default is 1)'#010+
+  '#      -Sg  ','      allow LABEL and GOTO'#010+
+  '#      -Sh        Use ansistrings'#010+
+  '#      -Si        support C++ styled INLINE'#010+
+  '#      -SI<x>     set interface style to <x>'#010+
+  '#         -SIcomCOM compatible interface (default)'#010+
+  '#         -SIcorbaCORBA compatible inte','rface'#010+
+  '#      -Sm        support macros like C (global)'#010+
+  '#      -So        same as -Mtp'#010+
+  '#      -Sp        same as -Mgpc'#010+
+  '#      -Ss        constructor name must be init (destructor must be do'+
+  'ne)'#010+
+  '#      -St        allow static keyword in object','s'#010+
+  '#'#010+
+  '# Allow goto, inline, C-operators, C-vars'#010+
+  '-Sgic'#010+
+  #010+
+  '# ---------------'#010+
+  '# Code generation'#010+
+  '# ---------------'#010+
+  #010+
+  '# Uncomment the next line if you always want static/dynamic units by d'+
+  'efault'#010+
+  '# (can be overruled with -CD, -CS at the commandline)'#010+
+  '#','-CS'#010+
+  '#-CD'#010+
+  #010+
+  '# Set the default heapsize to 8Mb'#010+
+  '#-Ch8000000'#010+
+  #010+
+  '# Set default codegeneration checks (iocheck, overflow, range, stack)'#010+
+  '#-Ci'#010+
+  '#-Co'#010+
+  '#-Cr'#010+
+  '#-Ct'#010+
+  #010+
+  '# Optimizer switches for i386 compiler'#010+
+  '# -Og        generate smaller code'#010+
+  '# -OG        gener','ate faster code (default)'#010+
+  '# -Or        keep certain variables in registers (still BUGGY!!!)'#010+
+  '# -Ou        enable uncertain optimizations (see docs)'#010+
+  '# -O1        level 1 optimizations (quick optimizations)'#010+
+  '# -O2        level 2 optimizations (','-O1 + slower optimizations)'#010+
+  '# -O3        level 3 optimizations (same as -O2u)'#010+
+  '# -Op        target processor'#010+
+  '#     -Op1  set target processor to 386/486'#010+
+  '#     -Op2  set target processor to Pentium/PentiumMMX (tm)'#010+
+  '#     -Op3  set target proce','ssor to PPro/PII/c6x86/K6 (tm)'#010+
+  #010+
+  '# Optimize always for Size and PII'#010+
+  '#-OG2p3'#010+
+  #010+
+  #010+
+  '# -----------------------'#010+
+  '# Set Filenames and Paths'#010+
+  '# -----------------------'#010+
+  #010+
+  '# Both slashes and backslashes are allowed in paths'#010+
+  #010+
+  '# path to the messagefile, not ','necessary anymore but can be used to '+
+  'override'#010+
+  '# the default language'#010+
+  '#-Fr%basepath%/msg/errore.msg'#010+
+  '#-Fr%basepath%/msg/errorn.msg'#010+
+  '#-Fr%basepath%/msg/errores.msg'#010+
+  '#-Fr%basepath%/msg/errord.msg'#010+
+  '#-Fr%basepath%/msg/errorr.msg'#010+
+  #010+
+  '# path to the gccli','b'#010+
+  '#-Fl%basepath%/lib'#010+
+  #010+
+  '# searchpath for includefiles'#010+
+  '#-Fi/pp/inc;/pp/rtl/inc'#010+
+  #010+
+  '# searchpath for units and other system dependent things'#010+
+  '-Fu$1/units/\$fpctarget'#010+
+  '-Fu$1/units/\$fpctarget/*'#010+
+  '-Fu$1/units/\$fpctarget/rtl'#010+
+  '#-Fu~/fpc/packages/base/*/un','its/$fpctarget;~/fpc/fcll/units/$fpctarg'+
+  'et;~/fpc/rtl/units/$fpctarget'#010+
+  #010+
+  '# searchpath for includefiles'#010+
+  '# release them only if you know what you do'#010+
+  '# because this could cause a rebuild of the runtime library'#010+
+  '# if you tell them compiler/ide to ','build the project (FK)'#010+
+  '#-Fi%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#010+
+  #010+
+  '# searchpath for objectfiles'#010+
+  '#-Fo%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#010+
+  #010+
+  '# searchpath for units and other system dependent things'#010+
+  '-Fu%basepath%/u','nits/$FPCTARGET/'#010+
+  '-Fu%basepath%/units/$FPCTARGET/*'#010+
+  '-Fu%basepath%/units/$FPCTARGET/rtl'#010+
+  #010+
+  '# searchpath for libraries'#010+
+  '#-Fl%basepath%/lib'#010+
+  '#-Fl/lib;/usr/lib'#010+
+  #010+
+  '# searchpath for tools'#010+
+  '-FD%basepath%/bin/$FPCTARGET'#010+
+  #010+
+  #010+
+  '# -------------'#010+
+  '# Linking'#010+
+  '# -------','------'#010+
+  #010+
+  '# generate always debugging information for GDB (slows down the compil'+
+  'ing'#010+
+  '# process)'#010+
+  '#      -gc        generate checks for pointers'#010+
+  '#      -gd        use dbx'#010+
+  '#      -gg        use gsym'#010+
+  '#      -gh        use heap trace unit (for memo','ry leak debugging)'#010+
+  '#      -gl        use line info unit to show more info for backtraces'#010+
+  '#      -gv        generates programs tracable with valgrind'#010+
+  '#      -gw        generate dwarf debugging info'#010+
+  '#'#010+
+  '# Enable debuginfo and use the line info ','unit by default'#010+
+  '#-gl'#010+
+  #010+
+  '# always pass an option to the linker'#010+
+  '#-k-s'#010+
+  #010+
+  '# Always strip debuginfo from the executable'#010+
+  '-Xs'#010+
+  #010+
+  #010+
+  '# -------------'#010+
+  '# Miscellaneous'#010+
+  '# -------------'#010+
+  #010+
+  '# Write always a nice FPC logo ;)'#010+
+  '-l'#010+
+  #010+
+  '# Verbosity'#010+
+  '#      e : Show errors ','(default)       d : Show debug info'#010+
+  '#      w : Show warnings               u : Show unit info'#010+
+  '#      n : Show notes                  t : Show tried/used files'#010+
+  '#      h : Show hints                  m : Show defined macros'#010+
+  '#      i : Show ge','neral info           p : Show compiled procedures'#010+
+  '#      l : Show linenumbers            c : Show conditionals'#010+
+  '#      a : Show everything             0 : Show nothing (except errors'+
+  ')'#010+
+  '#      b : Show all procedure          r : Rhide/GCC comp','atibility m'+
+  'ode'#010+
+  '#          declarations if an error    x : Executable info (Win32 only'+
+  ')'#010+
+  '#          occurs'#010+
+  '#'#010+
+  '# Display Info, Warnings, Notes and Hints'#010+
+  '-viwn'#010+
+  '# If you don'#039't want so much verbosity use'#010+
+  '#-vw'#010
+);

+ 4 - 1
install/fpcmkcfg.pp → compiler/utils/fpcmkcfg.pp

@@ -230,7 +230,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.1  2005-01-09 13:36:12  michael
+  Revision 1.1  2005-02-05 10:25:30  peter
+    * move tools to compiler/utils/
+
+  Revision 1.1  2005/01/09 13:36:12  michael
   + Initial implementation of installer tools
 
   Revision 1.2  2002/09/07 15:40:47  peter

+ 0 - 0
install/fpcsubst.pp → compiler/utils/fpcsubst.pp


+ 4 - 1
install/usubst.pp → compiler/utils/usubst.pp

@@ -110,7 +110,10 @@ end;
 end.
 {
   $Log$
-  Revision 1.2  2005-01-09 15:19:03  peter
+  Revision 1.1  2005-02-05 10:25:30  peter
+    * move tools to compiler/utils/
+
+  Revision 1.2  2005/01/09 15:19:03  peter
     * fix linebreak
 
   Revision 1.1  2005/01/09 13:36:12  michael

文件差异内容过多而无法显示
+ 0 - 1016
install/Makefile


+ 1 - 24
install/Makefile.fpc

@@ -6,35 +6,12 @@
 name=install
 version=1.9.7
 
-[require]
-packages=fcl
-
-[target]
-programs=fpcsubst fpcmkcfg
-rst=fpcmkcfg fpcsubst
-# removed to reduce dependencies of rpm.
-#dirs_linux_i386=fpde
-#dirs_win32=fpde
-
-[compiler]
-options=-S2h
-
 [install]
 fpcpackage=n
 
 [default]
 fpcdir=..
 
-[clean]
-units=usubst
-
 [rules]
-fpcsubst$(EXEEXT): fpcsubst.pp usubst.pp
-
-fpcmkcfg$(EXEEXT): fpcmkcfg.pp usubst.pp fpccfg.inc
-
-fpccfg.inc: fpc.cft
-	bin2obj -a -o fpccfg.inc -c DefaultConfig fpc.cft
-
 fpc.iss: fpc.ist
-	fpcsubst -i fpc.ist -o fpc.ist $(FPCISSSUBST)
+	fpcsubst -i fpc.ist -o fpc.ist $(FPCISSSUBST)

+ 0 - 275
install/fpccfg.inc

@@ -1,275 +0,0 @@
-
-Const
-  DefaultConfig : Array[0..4615] of char = (
-     '#',' ','C','o','n','f','i','g',' ','f','i','l','e',' ','g','e','n',
-     'e','r','a','t','e','d',' ','b','y',' ','f','p','c','m','k','c','f',
-     'g',' ','o','n',' ','%','B','U','I','L','D','D','A','T','E','%',' ',
-     '-',' ','%','B','U','I','L','D','T','I','M','E','%',#13,#10,'#',' ',
-     'E','x','a','m','p','l','e',' ','f','p','c','.','c','f','g',' ','f',
-     'o','r',' ','F','r','e','e',' ','P','a','s','c','a','l',' ','C','o',
-     'm','p','i','l','e','r',#13,#10,'#',#13,#10,#13,#10,'#',' ','-','-',
-     '-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-',
-     '-','-','-',#13,#10,'#',' ','D','e','f','i','n','e','s',' ','(','p',
-     'r','e','p','r','o','c','e','s','s','o','r',')',#13,#10,'#',' ','-',
-     '-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-',
-     '-','-','-','-',#13,#10,#13,#10,'#',#13,#10,'#',' ','n','e','s','t',
-     'e','d',' ','#','I','F','N','D','E','F',',',' ','#','I','F','D','E',
-     'F',',',' ','#','E','N','D','I','F',',',' ','#','E','L','S','E',',',
-     ' ','#','D','E','F','I','N','E',',',' ','#','U','N','D','E','F',' ',
-     'a','r','e',' ','a','l','l','o','w','e','d',#13,#10,'#',#13,#10,'#',
-     ' ','-','d',' ','i','s',' ','t','h','e',' ','s','a','m','e',' ','a',
-     's',' ','#','D','E','F','I','N','E',#13,#10,'#',' ','-','u',' ','i',
-     's',' ','t','h','e',' ','s','a','m','e',' ','a','s',' ','#','U','N',
-     'D','E','F',#13,#10,'#',#13,#10,#13,#10,'#',#13,#10,'#',' ','S','o',
-     'm','e',' ','e','x','a','m','p','l','e','s',' ','(','f','o','r',' ',
-     's','w','i','t','c','h','e','s',' ','s','e','e',' ','b','e','l','o',
-     'w',',',' ','a','n','d',' ','t','h','e',' ','-','?',' ','h','e','l',
-     'p','p','a','g','e','s',')',#13,#10,'#',#13,#10,'#',' ','T','r','y',
-     ' ','c','o','m','p','i','l','i','n','g',' ','w','i','t','h',' ','t',
-     'h','e',' ','-','d','R','E','L','E','A','S','E',' ','o','r',' ','-',
-     'd','D','E','B','U','G',' ','o','n',' ','t','h','e',' ','c','o','m',
-     'm','a','n','d','l','i','n','e',#13,#10,'#',#13,#10,#13,#10,'#',' ',
-     'F','o','r',' ','a',' ','r','e','l','e','a','s','e',' ','c','o','m',
-     'p','i','l','e',' ','w','i','t','h',' ','o','p','t','i','m','i','z',
-     'e','s',' ','a','n','d',' ','s','t','r','i','p',' ','d','e','b','u',
-     'g','i','n','f','o',#13,#10,'#','I','F','D','E','F',' ','R','E','L',
-     'E','A','S','E',#13,#10,' ',' ','-','O','G','2','p','3',#13,#10,' ',
-     ' ','-','X','s',#13,#10,' ',' ','#','W','R','I','T','E',' ','C','o',
-     'm','p','i','l','i','n','g',' ','R','e','l','e','a','s','e',' ','V',
-     'e','r','s','i','o','n',#13,#10,'#','E','N','D','I','F',#13,#10,#13,
-     #10,'#',' ','F','o','r',' ','a',' ','d','e','b','u','g',' ','v','e',
-     'r','s','i','o','n',' ','c','o','m','p','i','l','e',' ','w','i','t',
-     'h',' ','d','e','b','u','g','i','n','f','o',' ','a','n','d',' ','a',
-     'l','l',' ','c','o','d','e','g','e','n','e','r','a','t','i','o','n',
-     ' ','c','h','e','c','k','s',' ','o','n',#13,#10,'#','I','F','D','E',
-     'F',' ','D','E','B','U','G',#13,#10,' ',' ','-','g',#13,#10,' ',' ',
-     '-','C','r','t','o','i',#13,#10,' ',' ','#','W','R','I','T','E',' ',
-     'C','o','m','p','i','l','i','n','g',' ','D','e','b','u','g',' ','V',
-     'e','r','s','i','o','n',#13,#10,'#','E','N','D','I','F',#13,#10,#13,
-     #10,'#',' ','-','-','-','-','-','-','-','-','-','-','-','-','-','-',
-     '-','-',#13,#10,'#',' ','P','a','r','s','i','n','g',' ','s','w','i',
-     't','c','h','e','s',#13,#10,'#',' ','-','-','-','-','-','-','-','-',
-     '-','-','-','-','-','-','-','-',#13,#10,#13,#10,'#',' ','A','l','l',
-     ' ','a','s','s','e','m','b','l','e','r',' ','b','l','o','c','k','s',
-     ' ','a','r','e',' ','i','n','t','e','l',' ','s','t','y','l','e','d',
-     ' ','b','y',' ','d','e','f','a','u','l','t',#13,#10,'#','-','R','i',
-     'n','t','e','l',#13,#10,#13,#10,'#',' ','A','l','l',' ','a','s','s',
-     'e','m','b','l','e','r',' ','b','l','o','c','k','s',' ','a','r','e',
-     ' ','A','T','&','T',' ','s','t','y','l','e','d',' ','b','y',' ','d',
-     'e','f','a','u','l','t',#13,#10,'#','-','R','a','t','t',#13,#10,#13,
-     #10,'#',' ','A','l','l',' ','a','s','s','e','m','b','l','e','r',' ',
-     'b','l','o','c','k','s',' ','a','r','e',' ','d','i','r','e','c','t',
-     'l','y',' ','c','o','p','i','e','d',' ','t','o',' ','a','s','m',#13,
-     #10,'#','-','R','d','i','r','e','c','t',#13,#10,#13,#10,'#',' ','S',
-     'e','m','a','n','t','i','c',' ','c','h','e','c','k','i','n','g',#13,
-     #10,'#',' ',' ','-','S','2',' ',' ',' ',' ',' ',' ',' ',' ','s','w',
-     'i','t','c','h',' ','s','o','m','e',' ','D','e','l','p','h','i',' ',
-     '2',' ','e','x','t','e','n','s','i','o','n','s',' ','o','n',#13,#10,
-     '#',' ',' ','-','S','c',' ',' ',' ',' ',' ',' ',' ',' ','s','u','p',
-     'p','o','r','t','s',' ','o','p','e','r','a','t','o','r','s',' ','l',
-     'i','k','e',' ','C',' ','(','*','=',',','+','=',',','/','=',' ','a',
-     'n','d',' ','-','=',')',#13,#10,'#',' ',' ','-','S','d',' ',' ',' ',
-     ' ',' ',' ',' ',' ','t','r','i','e','s',' ','t','o',' ','b','e',' ',
-     'D','e','l','p','h','i',' ','c','o','m','p','a','t','i','b','l','e',
-     #13,#10,'#',' ',' ','-','S','e','<','x','>',' ',' ',' ',' ',' ','c',
-     'o','m','p','i','l','e','r',' ','s','t','o','p','s',' ','a','f','t',
-     'e','r',' ','t','h','e',' ','<','x','>',' ','e','r','r','o','r','s',
-     ' ','(','d','e','f','a','u','l','t',' ','i','s',' ','1',')',#13,#10,
-     '#',' ',' ','-','S','g',' ',' ',' ',' ',' ',' ',' ',' ','a','l','l',
-     'o','w',' ','L','A','B','E','L',' ','a','n','d',' ','G','O','T','O',
-     #13,#10,'#',' ',' ','-','S','h',' ',' ',' ',' ',' ',' ',' ',' ','U',
-     's','e',' ','a','n','s','i','s','t','r','i','n','g','s',#13,#10,'#',
-     ' ',' ','-','S','i',' ',' ',' ',' ',' ',' ',' ',' ','s','u','p','p',
-     'o','r','t',' ','C','+','+',' ','s','t','y','l','e','d',' ','I','N',
-     'L','I','N','E',#13,#10,'#',' ',' ','-','S','m',' ',' ',' ',' ',' ',
-     ' ',' ',' ','s','u','p','p','o','r','t',' ','m','a','c','r','o','s',
-     ' ','l','i','k','e',' ','C',' ','(','g','l','o','b','a','l',')',#13,
-     #10,'#',' ',' ','-','S','o',' ',' ',' ',' ',' ',' ',' ',' ','t','r',
-     'i','e','s',' ','t','o',' ','b','e',' ','T','P','/','B','P',' ','7',
-     '.','0',' ','c','o','m','p','a','t','i','b','l','e',#13,#10,'#',' ',
-     ' ','-','S','p',' ',' ',' ',' ',' ',' ',' ',' ','t','r','i','e','s',
-     ' ','t','o',' ','b','e',' ','g','p','c',' ','c','o','m','p','a','t',
-     'i','b','l','e',#13,#10,'#',' ',' ','-','S','s',' ',' ',' ',' ',' ',
-     ' ',' ',' ','c','o','n','s','t','r','u','c','t','o','r',' ','n','a',
-     'm','e',' ','m','u','s','t',' ','b','e',' ','i','n','i','t',' ','(',
-     'd','e','s','t','r','u','c','t','o','r',' ','m','u','s','t',' ','b',
-     'e',' ','d','o','n','e',')',#13,#10,'#',' ',' ','-','S','t',' ',' ',
-     ' ',' ',' ',' ',' ',' ','a','l','l','o','w',' ','s','t','a','t','i',
-     'c',' ','k','e','y','w','o','r','d',' ','i','n',' ','o','b','j','e',
-     'c','t','s',#13,#10,'#',' ','A','l','l','o','w',' ','g','o','t','o',
-     ',',' ','i','n','l','i','n','e',',',' ','C','-','o','p','e','r','a',
-     't','o','r','s',#13,#10,'-','S','g','i','c',#13,#10,#13,#10,'#',' ',
-     '-','-','-','-','-','-','-','-','-','-','-','-','-','-','-',#13,#10,
-     '#',' ','C','o','d','e',' ','g','e','n','e','r','a','t','i','o','n',
-     #13,#10,'#',' ','-','-','-','-','-','-','-','-','-','-','-','-','-',
-     '-','-',#13,#10,#13,#10,'#',' ','U','n','c','o','m','m','e','n','t',
-     ' ','t','h','e',' ','n','e','x','t',' ','l','i','n','e',' ','i','f',
-     ' ','y','o','u',' ','a','l','w','a','y','s',' ','w','a','n','t',' ',
-     's','t','a','t','i','c','/','d','y','n','a','m','i','c',' ','u','n',
-     'i','t','s',' ','b','y',' ','d','e','f','a','u','l','t',#13,#10,'#',
-     ' ','(','c','a','n',' ','b','e',' ','o','v','e','r','r','u','l','e',
-     'd',' ','w','i','t','h',' ','-','C','D',',',' ','-','C','S',' ','a',
-     't',' ','t','h','e',' ','c','o','m','m','a','n','d','l','i','n','e',
-     ')',#13,#10,'#','-','C','S',#13,#10,'#','-','C','D',#13,#10,#13,#10,
-     '#',' ','S','e','t',' ','t','h','e',' ','d','e','f','a','u','l','t',
-     ' ','h','e','a','p','s','i','z','e',' ','t','o',' ','8','M','b',#13,
-     #10,'#','-','C','h','8','0','0','0','0','0','0',#13,#10,#13,#10,'#',
-     ' ','S','e','t',' ','d','e','f','a','u','l','t',' ','c','o','d','e',
-     'g','e','n','e','r','a','t','i','o','n',' ','c','h','e','c','k','s',
-     ' ','(','i','o','c','h','e','c','k',',',' ','o','v','e','r','f','l',
-     'o','w',',',' ','r','a','n','g','e',',',' ','s','t','a','c','k',')',
-     #13,#10,'#','-','C','i',#13,#10,'#','-','C','o',#13,#10,'#','-','C',
-     'r',#13,#10,'#','-','C','t',#13,#10,#13,#10,'#',' ','O','p','t','i',
-     'm','i','z','e','r',' ','s','w','i','t','c','h','e','s',#13,#10,'#',
-     ' ','-','O','g',' ',' ',' ',' ',' ',' ',' ',' ','g','e','n','e','r',
-     'a','t','e',' ','s','m','a','l','l','e','r',' ','c','o','d','e',#13,
-     #10,'#',' ','-','O','G',' ',' ',' ',' ',' ',' ',' ',' ','g','e','n',
-     'e','r','a','t','e',' ','f','a','s','t','e','r',' ','c','o','d','e',
-     ' ','(','d','e','f','a','u','l','t',')',#13,#10,'#',' ','-','O','r',
-     ' ',' ',' ',' ',' ',' ',' ',' ','k','e','e','p',' ','c','e','r','t',
-     'a','i','n',' ','v','a','r','i','a','b','l','e','s',' ','i','n',' ',
-     'r','e','g','i','s','t','e','r','s',' ','(','s','t','i','l','l',' ',
-     'B','U','G','G','Y','!','!','!',')',#13,#10,'#',' ','-','O','u',' ',
-     ' ',' ',' ',' ',' ',' ',' ','e','n','a','b','l','e',' ','u','n','c',
-     'e','r','t','a','i','n',' ','o','p','t','i','m','i','z','a','t','i',
-     'o','n','s',' ','(','s','e','e',' ','d','o','c','s',')',#13,#10,'#',
-     ' ','-','O','1',' ',' ',' ',' ',' ',' ',' ',' ','l','e','v','e','l',
-     ' ','1',' ','o','p','t','i','m','i','z','a','t','i','o','n','s',' ',
-     '(','q','u','i','c','k',' ','o','p','t','i','m','i','z','a','t','i',
-     'o','n','s',')',#13,#10,'#',' ','-','O','2',' ',' ',' ',' ',' ',' ',
-     ' ',' ','l','e','v','e','l',' ','2',' ','o','p','t','i','m','i','z',
-     'a','t','i','o','n','s',' ','(','-','O','1',' ','+',' ','s','l','o',
-     'w','e','r',' ','o','p','t','i','m','i','z','a','t','i','o','n','s',
-     ')',#13,#10,'#',' ','-','O','3',' ',' ',' ',' ',' ',' ',' ',' ','l',
-     'e','v','e','l',' ','3',' ','o','p','t','i','m','i','z','a','t','i',
-     'o','n','s',' ','(','s','a','m','e',' ','a','s',' ','-','O','2','u',
-     ')',#13,#10,'#',' ','-','O','p',' ',' ',' ',' ',' ',' ',' ',' ','t',
-     'a','r','g','e','t',' ','p','r','o','c','e','s','s','o','r',#13,#10,
-     '#',' ',' ',' ',' ',' ','-','O','p','1',' ',' ','s','e','t',' ','t',
-     'a','r','g','e','t',' ','p','r','o','c','e','s','s','o','r',' ','t',
-     'o',' ','3','8','6','/','4','8','6',#13,#10,'#',' ',' ',' ',' ',' ',
-     '-','O','p','2',' ',' ','s','e','t',' ','t','a','r','g','e','t',' ',
-     'p','r','o','c','e','s','s','o','r',' ','t','o',' ','P','e','n','t',
-     'i','u','m','/','P','e','n','t','i','u','m','M','M','X',' ','(','t',
-     'm',')',#13,#10,'#',' ',' ',' ',' ',' ','-','O','p','3',' ',' ','s',
-     'e','t',' ','t','a','r','g','e','t',' ','p','r','o','c','e','s','s',
-     'o','r',' ','t','o',' ','P','P','r','o','/','P','I','I','/','c','6',
-     'x','8','6','/','K','6',' ','(','t','m',')',#13,#10,#13,#10,'#',' ',
-     'O','p','t','i','m','i','z','e',' ','a','l','w','a','y','s',' ','f',
-     'o','r',' ','S','i','z','e',' ','a','n','d',' ','P','e','n','t','i',
-     'u','m','I','I',#13,#10,'#','-','O','g','2','p','3',#13,#10,#13,#10,
-     #13,#10,'#',' ','-','-','-','-','-','-','-','-','-','-','-','-','-',
-     '-','-','-','-','-','-','-','-','-','-',#13,#10,'#',' ','S','e','t',
-     ' ','F','i','l','e','n','a','m','e','s',' ','a','n','d',' ','P','a',
-     't','h','s',#13,#10,'#',' ','-','-','-','-','-','-','-','-','-','-',
-     '-','-','-','-','-','-','-','-','-','-','-','-','-',#13,#10,#13,#10,
-     '#',' ','B','o','t','h',' ','s','l','a','s','h','e','s',' ','a','n',
-     'd',' ','b','a','c','k','s','l','a','s','h','e','s',' ','a','r','e',
-     ' ','a','l','l','o','w','e','d',' ','i','n',' ','p','a','t','h','s',
-     #13,#10,#13,#10,'#',' ','p','a','t','h',' ','t','o',' ','t','h','e',
-     ' ','m','e','s','s','a','g','e','f','i','l','e',',',' ','n','o','t',
-     ' ','n','e','c','e','s','s','a','r','y',' ','a','n','y','m','o','r',
-     'e',' ','b','u','t',' ','c','a','n',' ','b','e',' ','u','s','e','d',
-     ' ','t','o',' ','o','v','e','r','r','i','d','e',#13,#10,'#',' ','t',
-     'h','e',' ','d','e','f','a','u','l','t',' ','l','a','n','g','u','a',
-     'g','e',#13,#10,'#','-','F','r','%','b','a','s','e','p','a','t','h',
-     '%','/','m','s','g','/','e','r','r','o','r','e','.','m','s','g',#13,
-     #10,'#','-','F','r','%','b','a','s','e','p','a','t','h','%','/','m',
-     's','g','/','e','r','r','o','r','n','.','m','s','g',#13,#10,'#','-',
-     'F','r','%','b','a','s','e','p','a','t','h','%','/','m','s','g','/',
-     'e','r','r','o','r','e','s','.','m','s','g',#13,#10,'#','-','F','r',
-     '%','b','a','s','e','p','a','t','h','%','/','m','s','g','/','e','r',
-     'r','o','r','d','.','m','s','g',#13,#10,'#','-','F','r','%','b','a',
-     's','e','p','a','t','h','%','/','m','s','g','/','e','r','r','o','r',
-     'r','.','m','s','g',#13,#10,#13,#10,'#',' ','p','a','t','h',' ','t',
-     'o',' ','t','h','e',' ','g','c','c','l','i','b',#13,#10,'#','-','F',
-     'l','%','b','a','s','e','p','a','t','h','%','/','l','i','b',#13,#10,
-     #13,#10,'#',' ','s','e','a','r','c','h','p','a','t','h',' ','f','o',
-     'r',' ','i','n','c','l','u','d','e','f','i','l','e','s',#13,#10,'#',
-     ' ','r','e','l','e','a','s','e',' ','t','h','e','m',' ','o','n','l',
-     'y',' ','i','f',' ','y','o','u',' ','k','n','o','w',' ','w','h','a',
-     't',' ','y','o','u',' ','d','o',#13,#10,'#',' ','b','e','c','a','u',
-     's','e',' ','t','h','i','s',' ','c','o','u','l','d',' ','c','a','u',
-     's','e',' ','a',' ','r','e','b','u','i','l','d',' ','o','f',' ','t',
-     'h','e',' ','r','u','n','t','i','m','e',' ','l','i','b','r','a','r',
-     'y',#13,#10,'#',' ','i','f',' ','y','o','u',' ','t','e','l','l',' ',
-     't','h','e','m',' ','c','o','m','p','i','l','e','r','/','i','d','e',
-     ' ','t','o',' ','b','u','i','l','d',' ','t','h','e',' ','p','r','o',
-     'j','e','c','t',' ','(','F','K',')',#13,#10,'#','-','F','i','%','b',
-     'a','s','e','p','a','t','h','%','/','s','o','u','r','c','e','/','r',
-     't','l','/','i','n','c',';','%','b','a','s','e','p','a','t','h','%',
-     '/','s','o','u','r','c','e','/','r','t','l','/','i','3','8','6',#13,
-     #10,#13,#10,'#',' ','s','e','a','r','c','h','p','a','t','h',' ','f',
-     'o','r',' ','o','b','j','e','c','t','f','i','l','e','s',#13,#10,'#',
-     '-','F','o','%','b','a','s','e','p','a','t','h','%','/','s','o','u',
-     'r','c','e','/','r','t','l','/','i','n','c',';','%','b','a','s','e',
-     'p','a','t','h','%','/','s','o','u','r','c','e','/','r','t','l','/',
-     'i','3','8','6',#13,#10,#13,#10,'#',' ','s','e','a','r','c','h','p',
-     'a','t','h',' ','f','o','r',' ','u','n','i','t','s',' ','a','n','d',
-     ' ','o','t','h','e','r',' ','s','y','s','t','e','m',' ','d','e','p',
-     'e','n','d','e','n','t',' ','t','h','i','n','g','s',#13,#10,'-','F',
-     'u','%','b','a','s','e','p','a','t','h','%','/','u','n','i','t','s',
-     '/','$','F','P','C','T','A','R','G','E','T','/',#13,#10,'-','F','u',
-     '%','b','a','s','e','p','a','t','h','%','/','u','n','i','t','s','/',
-     '$','F','P','C','T','A','R','G','E','T','/','*',#13,#10,'-','F','u',
-     '%','b','a','s','e','p','a','t','h','%','/','u','n','i','t','s','/',
-     '$','F','P','C','T','A','R','G','E','T','/','r','t','l',#13,#10,#13,
-     #10,'#',' ','s','e','a','r','c','h','p','a','t','h',' ','f','o','r',
-     ' ','l','i','b','r','a','r','i','e','s',#13,#10,'#','-','F','l','%',
-     'b','a','s','e','p','a','t','h','%','/','l','i','b',#13,#10,'#','-',
-     'F','l','/','l','i','b',';','/','u','s','r','/','l','i','b',#13,#10,
-     #13,#10,'#',' ','s','e','a','r','c','h','p','a','t','h',' ','f','o',
-     'r',' ','t','o','o','l','s',#13,#10,'-','F','D','%','b','a','s','e',
-     'p','a','t','h','%','/','b','i','n','/','$','F','P','C','T','A','R',
-     'G','E','T',#13,#10,#13,#10,'#',' ','-','-','-','-','-','-','-','-',
-     '-','-','-','-','-',#13,#10,'#',' ','L','i','n','k','i','n','g',#13,
-     #10,'#',' ','-','-','-','-','-','-','-','-','-','-','-','-','-',#13,
-     #10,#13,#10,'#',' ','g','e','n','e','r','a','t','e',' ','a','l','w',
-     'a','y','s',' ','d','e','b','u','g','g','i','n','g',' ','i','n','f',
-     'o','r','m','a','t','i','o','n',' ','f','o','r',' ','G','D','B',' ',
-     '(','s','l','o','w','s',' ','d','o','w','n',' ','t','h','e',' ','c',
-     'o','m','p','i','l','i','n','g',#13,#10,'#',' ','p','r','o','c','e',
-     's','s',')',#13,#10,'#','-','g','l',#13,#10,#13,#10,'#',' ','a','l',
-     'w','a','y','s',' ','p','a','s','s',' ','a','n',' ','o','p','t','i',
-     'o','n',' ','t','o',' ','t','h','e',' ','l','i','n','k','e','r',#13,
-     #10,'#','-','k','-','s',#13,#10,#13,#10,'#',' ','A','l','w','a','y',
-     's',' ','s','t','r','i','p',' ','d','e','b','u','g','i','n','f','o',
-     ' ','f','r','o','m',' ','t','h','e',' ','e','x','e','c','u','t','a',
-     'b','l','e',#13,#10,'-','X','s',#13,#10,#13,#10,#13,#10,'#',' ','-',
-     '-','-','-','-','-','-','-','-','-','-','-','-',#13,#10,'#',' ','M',
-     'i','s','c','e','l','l','a','n','e','o','u','s',#13,#10,'#',' ','-',
-     '-','-','-','-','-','-','-','-','-','-','-','-',#13,#10,#13,#10,'#',
-     ' ','W','r','i','t','e',' ','a','l','w','a','y','s',' ','a',' ','n',
-     'i','c','e',' ','F','P','C',' ','l','o','g','o',' ',';',')',#13,#10,
-     '-','l',#13,#10,#13,#10,'#',' ','V','e','r','b','o','s','i','t','y',
-     #13,#10,'#',' ','e',' ',':',' ','S','h','o','w',' ','e','r','r','o',
-     'r','s',' ','(','d','e','f','a','u','l','t',')',' ',' ',' ',' ',' ',
-     ' ',' ','d',' ',':',' ','S','h','o','w',' ','d','e','b','u','g',' ',
-     'i','n','f','o',#13,#10,'#',' ','w',' ',':',' ','S','h','o','w',' ',
-     'w','a','r','n','i','n','g','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',
-     ' ',' ',' ',' ',' ',' ','u',' ',':',' ','S','h','o','w',' ','u','s',
-     'e','d',' ','f','i','l','e','s',#13,#10,'#',' ','n',' ',':',' ','S',
-     'h','o','w',' ','n','o','t','e','s',' ',' ',' ',' ',' ',' ',' ',' ',
-     ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','t',' ',':',' ','S','h','o',
-     'w',' ','t','r','i','e','d',' ','f','i','l','e','s',#13,#10,'#',' ',
-     'h',' ',':',' ','S','h','o','w',' ','h','i','n','t','s',' ',' ',' ',
-     ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','m',' ',
-     ':',' ','S','h','o','w',' ','d','e','f','i','n','e','d',' ','m','a',
-     'c','r','o','s',#13,#10,'#',' ','i',' ',':',' ','S','h','o','w',' ',
-     'g','e','n','e','r','a','l',' ','i','n','f','o',' ',' ',' ',' ',' ',
-     ' ',' ',' ',' ',' ',' ','p',' ',':',' ','S','h','o','w',' ','c','o',
-     'm','p','i','l','e','d',' ','p','r','o','c','e','d','u','r','e','s',
-     #13,#10,'#',' ','l',' ',':',' ','S','h','o','w',' ','l','i','n','e',
-     'n','u','m','b','e','r','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
-     ' ',' ','c',' ',':',' ','S','h','o','w',' ','c','o','n','d','i','t',
-     'i','o','n','a','l','s',#13,#10,'#',' ','a',' ',':',' ','S','h','o',
-     'w',' ','e','v','e','r','y','t','h','i','n','g',' ',' ',' ',' ',' ',
-     ' ',' ',' ',' ',' ',' ',' ',' ','0',' ',':',' ','S','h','o','w',' ',
-     'n','o','t','h','i','n','g',' ','(','e','x','c','e','p','t',' ','e',
-     'r','r','o','r','s',')',#13,#10,#13,#10,'#',' ','D','i','s','p','l',
-     'a','y',' ','I','n','f','o',',',' ','W','a','r','n','i','n','g','s',
-     ',',' ','N','o','t','e','s',' ','a','n','d',' ','H','i','n','t','s',
-     #13,#10,'-','v','i','w','n',#13,#10,'#',' ','I','f',' ','y','o','u',
-     ' ','d','o','n',#39,'t',' ','w','a','n','t',' ','s','o',' ','m','u',
-     'c','h',' ','v','e','r','b','o','s','i','t','y',' ','u','s','e',#13,
-     #10,'#','-','v','w',#13,#10,#13,#10);

部分文件因为文件数量过多而无法显示