"Walter Bright" <[email protected]> wrote in message news:[email protected]... > > Based on my research: > > _WIN32 Microsoft NT, Windows 95, Windows 98, Win32s, > Windows 2000 > _WIN64 Windows for AMD64 > linux Linux > __APPLE__ Mac OSX > __FreeBSD__ FreeBSD > __OpenBSD__ OpenBSD > __sun&&__SVR4 Solaris, OpenSolaris (yes, both macros are > necessary) > > Hence FreeBSD rather than freebsd or Freebsd. The underscores just looked > awful :-) and are unnecessary for D since the version tags are in a > separate namespace. > > Had to come up with one for Solaris. > > APPLE is hopelessly generic, considering Apple has produced many operating > systems. > > __WINDOWS__ is not what DMC uses. See > > http://www.digitalmars.com/ctg/predefined.html >
You're completely contradicting your claim here of having used the gcc idents. Obviously you changed the idents, and you had a reason for each one. There's pretty damn good reason for changing "linux" too. At least Phobos is finally ditching the absolutely rediculous philosophy of "always use naming conventions from random other places, and don't ever even think about being internally-consistent". > Some people have protested that I have "trivialized" Linux by using > "linux", but I am perplexed why that's ok for gcc but not for D. > Strawman. > And finally, there is no such thing as a "sane" version identifier scheme. > For one thing, OS vendors do not pick sane names. OS/2 is not an > identifier. Neither is OS X. Nor is GNU/Linux. Nor do the OS vendors pick > any sane identifiers for their own systems (look at what Sun did). You're really stretching to say those aren't "sane" names. They're just names, they're not even intended to be identifiers. To make identifiers *for* them, removing the illegal chars (and using a non-schizophrenic casing scheme) is an obvious and non-problematic solution. Picking *ONE* of them to be lowercased instead of upper camel cased like the rest (or any other inconsistent casing) isn't merely "not sane", it's also completely unnecessary. > > Even if someone comes up with a naming scheme for D that most agree is > sane, intuitive, and attractive, switching to it would again silently > break a large swath of existing D code. D cannot advance by constantly > breaking things. Adding "Linux" as a preferred alternative to "linux" will not break large swaths of code.
