Hi,

On 11/03/2012 23:52, Sisyphus wrote:

> An afterthought or two:
> It's a bug, right ? (It smells like a bug to me.)
> Is it a bug in perl ?
> I'm thinking that CORE/win32.h should be assigning the value associated
> with the actual OS on which perl is running, rather than just assigning
> the minimum supported value.
>
> Cheers,
> Rob

I'm not so sure.
Perl has to define the minimum it needs and it is really up to the coder 
to define the minimum they need. I think what Perl does is reasonable.

I think It would also be quite standard to put

#define _WIN32_WINNT 0x0501

before any includes if you needed capability not included until XP.
If Perl on Windows Vista defined a minimum of 0x0600 (or whatever it is) 
then anything compiled that linked to libperl would possibly not run on 
a Windows XP machine which would cause much more unexpected grief I think.

The way things are, failures are up front at compilation time. If the 
person doing compilation needs an explicit win version, they are fully 
aware of the limits they are introducing. Done as #define _WIN32_WINNT = 
current platform would cause many more failures at end user time. On 
Windows, end users very often just get binaries.

For Inline::C you do of course want the opposite so I think your 
solution on Windows is to either prepend #define _WIN32_WINNT 0x0NNN to 
the code being compiled or pass a -D_WIN32_WINNT=0x0NNN to the compiler. 
(which is teaching you to suck eggs but included for completeness)

Regards

Mark








_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to