[lazarus] Holy Grail
peter at skel.demon.co.uk
Thu Mar 2 10:45:54 EST 2000
Ok, sorry to sound such a pain, but I am only trying
to put forward niggles that would annoy the point and
In trying to modify the nwEdit sources as little as possible
I have been trying to keep the file names in the original
mixed case format. Make seems to cope fine if you ensure
the filename is correctly capitalised and for most of the
source files this works fine.
However where there is a circular dependancy in the
source unit files, UnitA uses UnitB and UnitB uses UnitA
then only one of the files needs to be passed through make
and fpc takes over the circular dependency resolution.
I know, circular dependencies are 'A Bad Thing'.
It is my hope, that we could, in the future, sumbit the
changes required to the sources back into the mwEdit team.
This would give some good free press to fpc and
lazarus if windows users saw this code was being compiled
under Linux and also show how much work is involved in
It would also make future maintenance much, much easier.
As Pascal is case insensitive it would be impossible to have,
Uses UNITA, unita; even if the underlying filesystem allowed
this, so could fpc be made to resolve UnitA.pp, unita.pp or
any variant of the filename under case sensitive filesystems?
I realise that to do ths fully would require grepping all the
search dirs which is not a good thing, but if the users wants to
used mixed case capitisation and he has a filename UnitA.p[p|as]
could we accept 'uses UnitA;' but not uses 'unita', ie case sensitive
file system = case exact match case sensive unit name or lowercase
unit name. This, I think, would be acceptable, after all this is *nix.
The case of the .ppu file is irrelevant to all but fpcmake as the
compiled unit filenames would probably be lowercase for ease of
linking etc. Only mod there though would be in how it handles the
make clean cycles.
I know searching for the include files takes up a large time slice
of the compilation process so maybe a compiler
switch/directive would also be required for the single platform
speed freaks who would view this as a waste of time
As to the tile of this, the Holy Grail is typing
in a dos box
in the telnet window and ensuring cross platfom code has just
been written all from the same source files.
More information about the Lazarus