Torsten Giebl wrote:
>> scottt:~$ ls -l /usr/local/include/FL/Fl.*
>> lrwxrwxrwx 1 root staff 4 2009-02-11 12:48
>> /usr/local/include/FL/Fl.h -> Fl.H
>> -rw-r--r-- 1 root staff 37K 2009-02-11 12:48
>> /usr/local/include/FL/Fl.H
>
> Is FLTK creating that symlink ?
> If yes, why ? Is this an ancient thing ?
Seems fairly ancient; it goes back to at least 1.1.0b11
according to the Makefiles.
I pulled 1.0.11 and didn't see it in that release's Makefile,
but I do see an entry in the CHANGES log for 1.0.3 that says:
- The header file links were broken in the IRIX distributions.
..which leads me to believe some of it goes back at least that far.
I have a suspicion the history is as I defined it in my last post;
because OSX and Windows are both case insensitive and the most used,
3rd parties would only test/release on those platforms where case
didn't matter, not realizing builds would barf on irix/linux.
I think situation the links solve is this one:
1 Author writes an fltk app, misuses case, tests only on windows/osx, releases.
2 Someone later tries build Author's app on linux|irix, fails due to casing
3 Author fixes casing, re-releases (if they're still around), and all's well
for that release.
4 Time passes, author tweaks their code, continuing to add features,
reintroduces casing bugs, tests only on windows/osx (because that's all
they have access to)
5 Goto 2
I can't remember, but I'm thinking that kinda thing went on for
a while until someone decided symlinks would give 3rd party apps
a better chance of success building on the minority linux/irix systems.
The issue I suppose is 'historical', because in ye olde days of irix,
when C++ was "new" and case mattered, folks tried to keep C and C++
files
separate via casing. There was no standard for this, so FLTK inherited
the ".H" convention.
Digital Domain internally used .C and .H extensions for all C++
applications,
and FLTK grew from that culture. Everything we built was for SGI, so
that
naming worked fine.
I can't recall if FLTK initially used .C then later switched to .cxx
for its source, but for sure the .H convention stuck because app code
internal to DD was (I think?) already dependent on that casing.
But I agree, it rings 'ugly'. Changing it might be worse though,
because then the above cycle will probably happen again..
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk