Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2007-08

Compiling on OSX and case sensitive filesystems

4 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Marc Weustink

Hi,

For Lazarus development I share my lazarus sources on a nfs and samba export, so I have the same source tree for Win32/64/CE, Linux and OSX development. Samba is used for windows, nfs for the others. The last months I've been switching my development compiler from 2.0.4 to 2.1.5 Target by target and tonight I came to the last: OSX. And there I noticed that the ppcppc 2.1.5 compiler stopped searching for Lower/Uppercase unitname variants, so it cannot compile my lazarus sources anymore (while 2.0.4 happily does)
Is there a way, flag, option, define, whatever to turn this behaviour back on ?

Thanks, Marc

Reply by email

Jonas Maebe
to Marc Weustink
Marc Weustink wrote 6 lines
Target by target and tonight I came to the last: OSX. And there I noticed that the ppcppc 2.1.5 compiler stopped searching for Lower/Uppercase unitname variants, so it cannot compile my lazarus sources anymore (while 2.0.4 happily does) Is there a way, flag, option, define, whatever to turn this behaviour back on ?

No. The whole case sensitivity handling in the compiler is pretty broken by design currently, as it's hardcoded per OS based on the most common situation under said OS and not configurable in any way (although most OSes nowadays support case insensitive, case-aware and case-sensitive file systems).

Your issue is caused by the implementation of a directory cache in the compiler since 2.0.4, which for systems defined as case-aware did not keep track of the original file name casing. Your issue is probably fixed/worked around in 2.3.1, but that change will not be merged back to 2.1.5, because it was quite invasive. It will however be in 2.2.2

Jonas

Reply by email

Marc Weustink
to Jonas Maebe
Jonas Maebe wrote 15 lines
On 23 Aug 2007, at 00:00, Marc Weustink wrote: > Target by target and tonight I came to the last: OSX. > And there I noticed that the ppcppc 2.1.5 compiler stopped searching > for Lower/Uppercase unitname variants, so it cannot compile my lazarus > sources anymore (while 2.0.4 happily does) > Is there a way, flag, option, define, whatever to turn this behaviour > back on ? No. The whole case sensitivity handling in the compiler is pretty broken by design currently, as it's hardcoded per OS based on the most common situation under said OS and not configurable in any way (although most OSes nowadays support case insensitive, case-aware and case-sensitive file systems).

Yes, i can imagine it popping up more often.

Show quoted text 5 lines
Your issue is caused by the implementation of a directory cache in the compiler since 2.0.4, which for systems defined as case-aware did not keep track of the original file name casing. Your issue is probably fixed/worked around in 2.3.1, but that change will not be merged back to 2.1.5, because it was quite invasive. It will however be in 2.2.2

OK, I can live with that. I'll stick to 2.0.4 on osx for a while then.

Thanks for the explanation.

Marc

Reply by email

Jonas Maebe
to Marc Weustink
Marc Weustink wrote 8 lines
> Your issue is caused by the implementation of a directory cache in > the compiler since 2.0.4, which for systems defined as case-aware > did not keep track of the original file name casing. Your issue is > probably fixed/worked around in 2.3.1, but that change will not be > merged back to 2.1.5, because it was quite invasive. It will > however be in 2.2.2 OK, I can live with that. I'll stick to 2.0.4 on osx for a while then.

Please also test 2.3.1 to make sure it is actually fixed there. It was changed there for quite a different reason:
http://www.freepascal.org/mantis/view.php?id=9172

Also note that it was not actually fixed in the revision mentioned in that bug report, I had to fix my changes twice before I got it right (which is one reason why I'm hesitant to merge it back).

Jonas

Reply by email