\input texinfo  @c -*-texinfo-*-
@c %**start of header 

@c This is the first attempt of what is meant to be the
@c "Using and Porting GPC" manual.
@c This is a shameless rip-off from the GCC manual.
@c
@c NOTE: checks/things to do:
@c 
@c -Write text
@c -Write text
@c -Write text
@c -Write text
@c -Write text
@c -Write text
@c
@c anything else?                       --jj 13jul96
@c
@c Yes:  Set it up in a well-structured tree. -- PG, 2. Aug. 1996

@setfilename gpc.info
@c @setfilename usegpc.info
@c @setfilename portgpc.info
@c To produce the full manual, use the "gpc.info" setfilename, and
@c make sure the following do NOT begin with '@c' (and the @clear lines DO)
@set USING
@set INTERNALS
@set CSTUFF
@c To produce a user-only manual, use the "usegpc.info" setfilename, and
@c make sure the following does NOT begin with '@c':
@c @clear INTERNALS
@c To produce a porter-only manual, use the "portgpc.info" setfilename,
@c and make sure the following does NOT begin with '@c':
@c @clear USING

@c (For FSF printing, turn on smallbook, comment out finalout below; 
@c that is all that is needed.)

@c This "iftex" was missing. -- PG, 2. Aug. 1996
@iftex
@c @smallbook
@afourpaper
@c @afourwide
@end iftex

@c Commenting out `finalout' will get rid of the black boxes
@c @finalout

@ifset INTERNALS
@ifset USING
@settitle Using and Porting GNU Pascal
@end ifset
@end ifset
@c seems reasonable to assume at least one of INTERNALS or USING is set...
@ifclear INTERNALS
@settitle Using GNU Pascal
@end ifclear
@ifclear USING
@settitle Porting GNU Pascal
@end ifclear 

@syncodeindex fn cp
@syncodeindex vr cp
@c %**end of header

@c Use with @@smallbook.

@c Cause even numbered pages to be printed on the left hand side of
@c the page and odd numbered pages to be printed on the right hand
@c side of the page.  Using this, you can print on both sides of a
@c sheet of paper and have the text on the same part of the sheet.

@c The text on right hand pages is pushed towards the right hand
@c margin and the text on left hand pages is pushed toward the left
@c hand margin.  
@c (To provide the reverse effect, set bindingoffset to -0.75in.)

@c @tex
@c \global\bindingoffset=0.75in
@c \global\normaloffset =0.75in
@c @end tex

@ifinfo
@ifset INTERNALS
@ifset USING
This file documents the use and the internals of the GNU Pascal compiler.
@end ifset
@end ifset
@ifclear USING
This file documents the internals of the GNU Pascal compiler.
@end ifclear
@ifclear INTERNALS
This file documents the use of the GNU Pascal compiler.
@end ifclear
@c -- jj 13jul96: In your dreams :) :)

@c Published by the Free Software Foundation
@c 59 Temple Place - Suite 330
@c Boston, MA 02111-1307 USA

Copyright (C) 1988, 1996 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

@ignore
Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).

@end ignore
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided also that the
sections entitled ``GNU General Public License,'' ``Funding for Free
Software,'' and ``Protect Your Freedom---Fight `Look And Feel'@w{}'' are
included exactly as in the original, and provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that the sections entitled ``GNU General Public License,''
``Funding for Free Software,'' and ``Protect Your Freedom---Fight `Look
And Feel'@w{}'', and this permission notice, may be included in
translations approved by the Free Software Foundation instead of in the
original English.
@end ifinfo

@setchapternewpage odd

@titlepage
@ifset INTERNALS
@ifset USING
@center @titlefont{Using and Porting the GNU Pascal compiler}

@end ifset
@end ifset
@ifclear INTERNALS
@title Using GPC, the GNU Pascal compiler
@end ifclear
@ifclear USING
@title Porting GPC, the GNU Pascal compiler
@end ifclear
@sp 2
@c janjaap and friends :)
@center Jan-Jaap van der Heijden @*
@center Peter Gerwinski
@sp 3
@center Last updated 19 November 1996
@sp 1
@c The version number appears twice more in this file.  

@center for version 2.0 (GCC version 2.7.2.1)
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1988, 1996 Free Software Foundation, Inc.
@sp 2
For GPC Version 2.0 (GCC version 2.7.2.1)@*
@sp 1
Published by the Free Software Foundation @*
59 Temple Place - Suite 330@*
Boston, MA 02111-1307, USA@*
@c -- JJ 13jul96 : ROTFL ;)
@c Last printed November, 1995.@*
@c Printed copies are available for $50 each.@*
@c ISBN 1-882114-66-3
@sp 1
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided also that the
sections entitled ``GNU General Public License,'' ``Funding for Free
Software,'' and ``Protect Your Freedom---Fight `Look And Feel'@w{}'' are
included exactly as in the original, and provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that the sections entitled ``GNU General Public License,''
``Funding for Free Software,'' and ``Protect Your Freedom---Fight `Look
And Feel'@w{}'', and this permission notice, may be included in
translations approved by the Free Software Foundation instead of in the
original English.
@end titlepage
@page

@ifinfo

@node Top, Copying,, (DIR)
@top GNU Pascal

@ifset INTERNALS
@ifset USING
This manual documents how to run, install and port the GNU Pascal 
compiler (GPC), as well as its new features and incompatibilities, and how 
to report bugs.  It corresponds to GPC version 2.0 (GCC version 2.7.2.1).
@end ifset
@end ifset

@ifclear INTERNALS
This manual documents how to run and install the GNU Pascal compiler (GPC),
as well as its new features and incompatibilities, and how to report
bugs.  It corresponds to GPC version 2.0 (GCC version 2.7.2.1).
@end ifclear
@ifclear USING
This manual documents how to port the GNU Pascal compiler (GPC),
as well as its new features and incompatibilities, and how to report
bugs.  It corresponds to GPC version 2.0 (GCC version 2.7.2.1).
@end ifclear

@end ifinfo
@menu
* Copying::           GNU General Public License says
                      how you can copy and share GPC.
* Contributors::      People who have contributed to GPC.
* Funding::           How to help assure funding for free software.
* Look and Feel::     Protect your freedom---fight ``look and feel''.
* Manifesto::         What's GNU?  GNU's Not Unix!
@ifset USING
* Purpose::           The Purpose of GNU Pascal.
* Installation::      How to configure, compile and install GNU Pascal.
* Invoking GPC::      Command options supported by @samp{gpc}.

* Keywords::          Pascal Keywords and operators supported by GNU Pascal.
* Built-in::          Other built-in Identifiers.
* Extensions::        Extensions to Standard Pascal supported by GPC.
* Extended Pascal::   About Pascal and Extended Pascal languages.
* Borland Pascal::    A QuickStart guide from Borland Pascal to GNU Pascal.

* FPK Pascal::        A comparision between the FreeWare compilers 
                      FPK Pascal and GNU Pascal.

* GPC Bugs::          Known bugs and inconveniences; how to report bugs.
* How to Contribute:: How @emph{you} can contribute to the GNU Pascal project.
@end ifset
@ifset INTERNALS
GNU Pascal Internals:

* GPC notes::         Random notes about GPC.
* PVS::               Pascal Validation Suite test results.
* Set types::         Remarks about new set type implementation.
* GPI files::         How GPC's precompiled Module/Unit interfaces work.
* AutoMake::          How GPC automatically ``makes'' a large project.
@end ifset
@ifset CSTUFF
General information about the GNU compiler family (GNU CC):
@ifset USING
* Trouble::           If you have trouble installing GNU CC.
* Bugs::              How, why and where to report bugs.
* Service::           How to find suppliers of support for GNU CC.
* VMS::               Using GNU CC on VMS.
@end ifset
@ifset INTERNALS
* Portability::       Goals of GNU CC's portability features.
* Interface::         Function-call interface of GNU CC output.
* Passes::            Order of passes, what they do, and what each file is for.
* RTL::               The intermediate representation that most passes work on.
* Machine Desc::      How to write machine description instruction patterns.
* Target Macros::     How to write the machine description C macros.
* Config::            Writing the @file{xm-@var{machine}.h} file.
* Fragments::         Writing the @file{t-@var{target}} and @file{x-@var{host}} files.
@end ifset
@end ifset

* Index::	      Index of concepts and symbol names (incomplete).
@end menu

@c -- JJ 13jul96: Need sections about ISO, ISO ext & Borland Pascal
@c It seems that there must be no comments in the menu. -- PG, 2. Aug. 1996

@include copying.texi
@include contributors.texi
@include funding.texi
@include lookfeel.texi
@include gnu.texi

@c @node Introducing GPC
@c
@c @chapter Introducing GPC, the GNU Pascal compiler
@c @cindex introducing GPC
@c
@c What's this?  I don't see any reference pointing to this node.
@c -- PG, 2. Aug. 1996

@include purpose.texi
@include install.texi
@include invoke.texi

@include keywords.texi
@include builtin.texi
@include extend.texi
@include borland2ep.texi
@include bpqstart.texi

@include bugs.texi
@include how_to_contrib.texi

@include fpk_vs_gnu.texi

@ifset INTERNALS
@include notes.texi
@include pvs.texi
@include sets.texi
@include gpi.texi
@include automake.texi
@end ifset

@c You did not modify parts below, right?  Well, it's about GNU C,
@c not GNU Pascal, so we should give a reference and drop it ...
@c and document our *own* bugs, instead. -- PG, 2. Aug. 1996

@ifset CSTUFF
@include c-stuff.texi
@include md.texi
@include tm.texi
@include rtl.texi
@end ifset

@node Index
@unnumbered Index

@printindex cp
@summarycontents
@contents
@bye

