[fpc-pascal]The state of FPC - wrap up

Marco van de Voort marcov at stack.nl
Fri Jul 25 12:38:20 CEST 2003

[ Charset ISO-8859-1 unsupported, converting... ]
> > If someone contributes a tool which does the necessary preprocessing
> > i.e. including needed files, then I will set up a system where the
> > source files are 'assembled' into single-source units for a given
> > platform/cpu combination. These single-source units can be distributed
> > with each platform or separately downloaded.
> This was all I ever really wanted to be honest.
> > This tool can be run on a daily basis on our CVS server, and zips can be
> > made available as a service to the FPC users.
> Cool, that sounds like a good idea.
> > As for the tool, I ask only 3 things:
> > 1. It should compile with FPC and should be cross-platform.
> > 2. Should obey {$ifdefs}/{$define} and the like, such as
> >    run-time platform selection.
> >    (linux based tool must generate sources for e.g. win32)
> > 3. As for the rest, it would be good to have the command-line options
> >    which match the compiler's:
> >    -d define symbol
> >    -u undefine symbol
> >    -I/-Fi set include path
> >    -T select target os/cpu
> >    -FE set output name.
> >
> > If someone makes this tool, I will do the rest.
> I will look at it. I will initially write it in Delphi, simply because that
> is to hand, but will get it to compile under FPC 1.1x when I have got it to
> work here.
> One question, do you want a recursive batch job, or single file operation.
> i.e, do all in one go, respecting commandd like options, or simply the files
> passed to the command line. Think of the difference between gcc and fpc. gcc
> expects explicitly to be given all files at command line, fpc will look for
> them automatically. I have no preference and may simply add this as an
> option.

I think it can be done better to match the commandline behaviour to the
compiler as close as possible. AND to generate an empty .ppu and .o file
for each access, and also a .a file if there is a -CX parameter.

This will make sure that simply running 

make all PP=<your tool>  OPT='other parameters to your tools like rootdirectory of the output'

visits the same units that would be build in a release build. It would also
avoid the trouble of keeping what units need to be generated.

However it doesn't have to do unit search, since you don't have to access
dependant units (uses clauses)

More information about the fpc-pascal mailing list