[fpc-pascal]The state of FPC (was: Synapse for FPC)

Marco van de Voort marcov at stack.nl
Thu Jul 24 16:19:54 CEST 2003

> > Ifdeffing them all is simply not possible, and most system independant
> units
> > have a system independant part (header, but also utility routines etc) a
> > dependant part, and sometimes even a processor dependant part (but that
> > usually is much smaller)
> What I suggested used no IFDEFS, none at all. Each platform end user
> release, has a set of platform specific units created by a preprocessor.
> This would be specifically for x86/Dos, x86/Windows, x86/Solaris, x86/BSD,
> x86/Linux, ppc/MacOSClassic, ppc/Linux etc. 

Then I have to fix one bug 20 times, since generic code is not shared.
Somewhere, platform dependant and independant code come together in 
a unit.

> Surely this removes your problem with the idea. Single minded units that
> only contain a single platforms code. You give these to the end users, and
> you use these for unit testing etc in pre-release. However, the FPC
> developers continue to use the include file style units internally.

I don't see the problem with that, but I also don't see the harm in
a generator for people that want otherwise.
> Your source code should document your work, and making the document hard to
> read makes the work harder to use. IMHO of course.

Oh, please. We are not in school anymore. This is a production product,
spanning a host of version-compability and operating systems with a total
source size over 50 MB. 

And more important, {$ifdef linux} etc is also selfdescribing source, so
documentation. The source clearly displays the differences between the

If you want to start such converter tool btw, you might want to look at the
fpdoc documentation subproject, IIRC it already contains a parser.

More information about the fpc-pascal mailing list