version() abuse! Note of library writers.

Anders F Björklund afb at algonet.se
Wed Nov 18 11:25:13 PST 2009


Sean Kelly wrote:

>>> It may help to think about weird configurations like targeting Cygwin
>>> on Windows (where Windows, Win32, and Posix may theoretically be
>>> defined) or WINE on Linux (where linux and Win32 may be defined).
>> Something is broken if "Windows" is declared in Cygwin,
>> or if "linux" is declared when running under Wine...
> 
> Why?  That's the OS the app is being compiled on/for.  Let's consider
> another example.  Windows Services for Unix Applications (I think
> that's what it's called now) is a POSIX subsystem built into Vista
> and Windows 7.  There, both Windows and Posix would definitely be
> defined, and I *think* Win32 would be defined as well.  I suppose one
> could argue that the OS version should be Interix instead of Windows,
> but it amounts to the same thing.

I guess it'll get "fixed" when it moves to API over OS...

Just that I had been surprised if D1 was changed like that.

--anders



More information about the Digitalmars-d mailing list