Contents

1 Introduction
 1.1 About this document
 1.2 About the compiler
 1.3 Getting more information.
2 Installing the compiler
 2.1 Before Installation : Requirements
   System requirements
   Software requirements
 2.2 Installing the compiler.
   Installing under DOS or Windows
   Installing under Linux
 2.3 Optional configuration steps
 2.4 Before compiling
 2.5 Testing the compiler
3 Compiler usage
 3.1 File searching
   Command line files
   Unit files
   Include files
   Object files
   Configuration file
   About long filenames
 3.2 Compiling a program
 3.3 Compiling a unit
 3.4 Units, libraries and smartlinking
 3.5 Creating an executable for GO32V1 and PMODE/DJ targets
   GO32V1
   PMODE/DJ
 3.6 Reducing the size of your program
4 Compiling problems
 4.1 General problems
 4.2 Problems you may encounter under DOS
5 Compiler configuration
 5.1 Using the command-line options
   General options
   Options for getting feedback
   Options concerning files and directories
   Options controlling the kind of output.
   Options concerning the sources (language options)
 5.2 Using the configuration file
   #IFDEF
   #IFNDEF
   #ELSE
   #ENDIF
   #DEFINE
   #UNDEF
   #WRITE
   #INCLUDE
   #SECTION
 5.3 Variable substitution in paths
6 The IDE
 6.1 First steps with the IDE
   Starting the IDE
   IDE Command line options
   The IDE screen
 6.2 Navigating in the IDE
   Using the keyboard
   Using the mouse
   Navigating in dialogs
 6.3 Windows
   Window basics
   Sizing and moving windows
   Working with multiple windows
   Dialog windows
 6.4 The Menu
   Accessing the menu
   The File menu
   The Edit menu
   The Search menu
   The Run menu
   The Compile menu
   The Debug menu
   The Tools menu
   The Options menu
   The Window menu
   The Help menu
 6.5 Editing text
   Insert modes
   Blocks
   Setting bookmarks
   Jumping to a source line
   Syntax highlighting
   Code Completion
   Code Templates
 6.6 Searching and replacing
 6.7 The symbol browser
 6.8 Running programs
 6.9 Debugging programs
   Using breakpoints
   Using watches
   The call stack
   The GDB window
 6.10 Using Tools
   The messages window
   Grep
   The ASCII table
   The calculator
   Adding new tools
   Meta parameters
   Building a command line dialog box
 6.11 Project management and compiler options
   The primary file
   The directory dialog
   The target operating system
   Compiler options
   Linker options
   Memory sizes
   Debug options
   The switches mode
 6.12 Customizing the IDE
   Preferences
   The desktop
   The Editor
   Mouse
   Colors
 6.13 The help system
   Navigating in the help system
   Working with help files
   The about dialog
 6.14 Keyboard shortcuts
7 Porting Turbo Pascal Code
 7.1 Things that will not work
 7.2 Things which are extra
 7.3 Turbo Pascal compatibility mode
 7.4 A note on long file names under dos
8 Utilities that come with Free Pascal
 8.1 Demo programs and examples
 8.2 Supplied programs
   ppudump program
   ppumove program
   ptop - Pascal source beautifier
   rstconv program
   fpcmake
9 Units that come with Free Pascal
 9.1 Standard units
 9.2 Under DOS
 9.3 Under Windows
 9.4 Under Linux
 9.5 Under OS/2
 9.6 Unit availability
10 Debugging your Programs
 10.1 Compiling your program with debugger support
 10.2 Using gdb to debug your program
 10.3 Caveats when debugging with gdb
 10.4 Support for gprof, the gnu profiler
 10.5 Detecting heap memory leaks
 10.6 Line numbers in run-time error backtraces
 10.7 Combining heaptrc and lineinfo
11 CGI programming in Free Pascal
 11.1 Getting your data
   Data coming through standard input.
   Data passed through an environment variable
 11.2 Producing output
 11.3 I’m under Windows, what now ?
A Alphabetical listing of command-line options
B Alphabetical list of reserved words
C Compiler messages
 C.1 General compiler messages
 C.2 Scanner messages.
 C.3 Parser messages
 C.4 Type checking errors
 C.5 Symbol handling
 C.6 Code generator messages
 C.7 Errors of assembling/linking stage
 C.8 Unit loading messages.
 C.9 Command-line handling errors
 C.10 Assembler reader errors.
   General assembler errors
   I386 specific errors
   m68k specific errors.
D Run time errors
E The Floating Point Coprocessor emulator
F A sample gdb.ini file
G Options and settings