[fpc-pascal]Synapse for FPC

Marco van de Voort marcov at stack.nl
Wed Jul 23 15:17:05 CEST 2003

> > Even better, without any alterations, I would hope that VCL style
> > implementations would simple seamlessly compile using the wrapper.
> ICS of Francois Piette - with some minor patches - compiles using FPC.
> Synapse as well. The changes have been quite minor - even some potential
> bugs in Synapse were discovered and solved.

ICS suffers from the same (though relatively minor) problems as Synapse,
Jedi's JCL have similar problems:

- Defines and ifdefs need a generic rework, Delphi versions IFDEF'ing need 
	to be generalised. Not working directly on versions, but on 
	capabilities. So in your actual source you should never directly
	test Delphi or Kylix values. Test that in a central include file,
	and then work with HAS_INTERFACES to encapsulate code that needs
	interfaces etc.
- Separation of OS platform and x86 dependant behaviour. 
- That also affects the "uses" clauses a lot. Some of these packages import
	wintypes,winprocs (IIRC ICS because it is still D1 compat)
- Some functions typing need to be fixed.

> So finally, I don't think we're doing a bad job. We'll get there, slowly
> but surely.

Certainly. The problem is that all of the above things are minor work if you
are aware of these issues, and the source is gradually adapted along these
lines while working on it (while working on normal revisions, e.g. for
Kylix and Delphi)

They are a lot of work if you have to fix everything at once later on, to
support FPC, or an additional FPC target, and that makes FPC look bad

Nobody says a package should change in one day. FPC doesn't neither. E.g.
FreeBSD support came only in, in 1.0.2, and see how far we have come with
that in 1.0.10. The 1.1 branch (2.0 release in time) is even more important
in that respect, since it will make the base units much more platform
independant, with less hacks, so that generic wrappers can be easier
implemented on top.

The important thing to remember is that making an inventory what's
fundamentally wrong now, and then acting upon it in the long run is a really
a lot less work then trying to fix everything at once.

More information about the fpc-pascal mailing list