Ok, sorry to sound such a pain, but I am only trying to put forward niggles that would annoy the point and click world.
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 porting.
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
make
make install
in a dos box
then
make
make install
in the telnet window and ensuring cross platfom code has just been written all from the same source files.
Peter