----- Original Message -----
From: "Cosimo Streppone" <[EMAIL PROTECTED]>
To: <libwin32@perl.org>
Sent: Sunday, March 02, 2008 10:52 AM
Subject: Win32::API v0.52 released to CPAN
I just released version 0.52 of Win32::API.
It should be available at your local CPAN mirror very soon.
Please note that I published 0.51 one hour ago, but it's broken,
so I have already scheduled its deletion. Don't use 0.51.
Enjoy and please report to me any problems you have.
It's good to see this interesting module being actively maintained. (As they
might say elsewhere, "++ to you for doing this" :-)
I found version 0.53 - and it even builds with the MinGW (port of gcc)
compiler on native Win32. At least it builds fine and passes the test suite.
(I haven't actually used it in any way that tests its mileage beyond the
test suite.)
However, it won't build on ActiveState's 64-bit build of perl 5.10 (and
5.8.8). Are there any plans to get this module working on the 64-bit builds
? ... or is this an unrealistic expectation ?
On my Vista 64 box, I'm using the Microsoft Platform SDK for Windows Server
2003 R2 compiler which, as I understand it, is the compiler that was used to
build the 64-bit versions of ActivePerl. But when I try to build
Win32-API-0.53 I get a number of warnings, followed by a list of errors that
begins with:
API.xs(515) : error C4235: nonstandard extension used : '__asm' keyword not
supported on this architecture
For me, personally, the 64-bit failure is not a major issue - but I would
think that, at some stage, it could become an issue for some people.
The full output of running 'nmake' on the 64-bit build is given below my
sig. It's just a straight copy'n'paste from the cmd console - which means
that the formatting is less than ideal :-)
Cheers,
Rob
Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
cp Type.pm blib\lib\Win32/API/Type.pm
cp Callback.pm blib\lib\Win32/API/Callback.pm
cp Test.pm blib\lib\Win32/API/Test.pm
cp Struct.pm blib\lib\Win32/API/Struct.pm
cp API.pm blib\lib\Win32/API.pm
nmake -f Makefile all -nologo
C:\_64\perl822\bin\perl.exe
:\_64\perl822\lib\ExtUtils\xsubpp -typemap
C:\_64\Perl822\lib\ExtUtils\typemap Callback.xs > Callback.xsc &&
C:\_64\perl8
22\bin\perl.exe -MExtUtils::Command -e mv Callback.xsc Callback.c
cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:precise
-DWI
N32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -DNO_HASH_SE
ED -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPL
ICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:p
recise -DVERSION=\"0.53\" -DXS_VERSION=\"0.53\"
"-IC:\_64\Perl822\lib\CORE"
Callback.c
Callback.c
Callback.xs(250) : warning C4311: 'type cast' : pointer truncation from
'char *'
to 'long'
Callback.xs(257) : warning C4267: 'function' : conversion from 'size_t' to
'I32'
, possible loss of data
Callback.xs(276) : warning C4312: 'type cast' : conversion from 'unsigned
int' t
o 'SV *' of greater size
Callback.xs(305) : warning C4312: 'type cast' : conversion from 'int' to
'char *
' of greater size
Callback.xs(313) : warning C4312: 'type cast' : conversion from 'int' to
'char *
' of greater size
Callback.xs(368) : warning C4267: 'function' : conversion from 'size_t' to
'I32'
, possible loss of data
Callback.xs(383) : warning C4244: '=' : conversion from 'IV' to 'int',
possible
loss of data
Callback.xs(345) : warning C4101: 'checkpoint' : unreferenced local variable
Callback.xs(346) : warning C4101: 'size' : unreferenced local variable
Callback.xs(525) : warning C4018: '<' : signed/unsigned mismatch
Callback.xs(560) : warning C4244: '=' : conversion from '__int64' to
'unsigned i
nt', possible loss of data
Callback.xs(582) : warning C4311: 'type cast' : pointer truncation from 'SV
*' t
o 'int'
Callback.xs(597) : warning C4311: 'type cast' : pointer truncation from
'unsigne
d char *' to 'long'
Callback.xs(598) : warning C4311: 'type cast' : pointer truncation from 'SV
*' t
o 'int'
Callback.xs(624) : warning C4018: '<' : signed/unsigned mismatch
Callback.xs(631) : warning C4244: '=' : conversion from '__int64' to
'unsigned i
nt', possible loss of data
Callback.xs(638) : warning C4311: 'type cast' : pointer truncation from 'int
*'
to 'int'
Callback.xs(681) : warning C4244: '=' : conversion from '__int64' to
'unsigned i
nt', possible loss of data
Callback.xs(688) : warning C4311: 'type cast' : pointer truncation from 'int
*'
to 'int'
Callback.xs(732) : warning C4244: '=' : conversion from '__int64' to
'unsigned i
nt', possible loss of data
Callback.xs(739) : warning C4311: 'type cast' : pointer truncation from 'int
*'
to 'int'
Callback.xs(785) : warning C4244: '=' : conversion from '__int64' to
'unsigned i
nt', possible loss of data
Callback.xs(858) : warning C4244: '=' : conversion from 'IV' to 'int',
possible
loss of data
Callback.xs(875) : warning C4244: '=' : conversion from 'IV' to 'int',
possible
loss of data
Callback.xs(879) : warning C4311: 'type cast' : pointer truncation from
'unsigne
d char *' to 'unsigned int'
Callback.xs(841) : warning C4101: 'intypes' : unreferenced local variable
Callback.xs(830) : warning C4101: 'pParam' : unreferenced local variable
Callback.xs(838) : warning C4101: 'obj_intypes' : unreferenced local
variable
Callback.xs(826) : warning C4101: 'lParam' : unreferenced local variable
Callback.xs(829) : warning C4101: 'cParam' : unreferenced local variable
Callback.xs(831) : warning C4101: 'ppParam' : unreferenced local variable
Callback.xs(828) : warning C4101: 'dParam' : unreferenced local variable
Callback.xs(835) : warning C4101: 'obj_proto' : unreferenced local variable
Callback.xs(825) : warning C4101: 'iParam' : unreferenced local variable
Callback.xs(827) : warning C4101: 'fParam' : unreferenced local variable
Callback.xs(908) : warning C4311: 'type cast' : pointer truncation from 'SV
*' t
o 'int'
Callback.xs(897) : warning C4101: 'selfpos' : unreferenced local variable
Running Mkbootstrap for Win32::API::Callback ()
C:\_64\perl822\bin\perl.exe -MExtUtils::Command -e chmod 644
Callback.bs
C:\_64\perl822\bin\perl.exe -MExtUtils::Mksymlists -e
"Mksymlists('NAME
'=>\"Win32::API::Callback\", 'DLBASE' => 'Callback', 'DL_FUNCS' => { },
'FUNCLI
ST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
link -out:..\blib\arch\auto\Win32\API\Callback\Callback.dll -dll -nologo
-nodefaultlib -debug -opt:ref,icf -ltcg -libpath:"C:\_64\Perl822\lib\CORE"
-m
achine:AMD64 Callback.obj C:\_64\Perl822\lib\CORE\perl58.lib oldnames.lib
kern
el32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.li
b ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib
ve
rsion.lib odbc32.lib odbccp32.lib bufferoverflowU.lib
msvcrt.lib -def:Callback.d
ef
Creating library ..\blib\arch\auto\Win32\API\Callback\Callback.lib and
object
..\blib\arch\auto\Win32\API\Callback\Callback.exp
Generating code
Finished generating code
C:\_64\perl822\bin\perl.exe -MExtUtils::Command -e chmod 755
..\blib\arc
h\auto\Win32\API\Callback\Callback.dll
No root path(s) specified
at C:/_64/perl822/lib/ExtUtils/Command.pm line 109
C:\_64\perl822\bin\perl.exe -MExtUtils::Command -e cp Callback.bs
..\bli
b\arch\auto\Win32\API\Callback\Callback.bs
C:\_64\perl822\bin\perl.exe -MExtUtils::Command -e chmod 644
..\blib\arc
h\auto\Win32\API\Callback\Callback.bs
cd ..
C:\_64\perl822\bin\perl.exe
:\_64\perl822\lib\ExtUtils\xsubpp -typemap
C:\_64\Perl822\lib\ExtUtils\typemap -typemap typemap API.xs > API.xsc &&
C:\_6
4\perl822\bin\perl.exe -MExtUtils::Command -e mv API.xsc API.c
cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:precise
-DWI
N32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -DNO_HASH_SE
ED -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPL
ICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:p
recise -DVERSION=\"0.53\" -DXS_VERSION=\"0.53\"
"-IC:\_64\Perl822\lib\CORE"
API.c
API.c
API.xs(129) : warning C4311: 'type cast' : pointer truncation from 'FARPROC'
to
'long'
API.xs(208) : warning C4311: 'type cast' : pointer truncation from 'char *'
to '
long'
API.xs(225) : warning C4312: 'type cast' : conversion from 'long' to 'char
*' of
greater size
API.xs(299) : warning C4244: '=' : conversion from 'IV' to 'int', possible
loss
of data
API.xs(318) : warning C4244: '=' : conversion from 'IV' to 'int', possible
loss
of data
API.xs(322) : warning C4244: '=' : conversion from 'IV' to 'long', possible
loss
of data
API.xs(341) : warning C4244: '=' : conversion from 'NV' to 'float', possible
los
s of data
API.xs(428) : warning C4244: '=' : conversion from 'IV' to 'long', possible
loss
of data
API.xs(515) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(515) : error C2065: 'mov' : undeclared identifier
API.xs(515) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(515) : error C2065: 'eax' : undeclared identifier
API.xs(515) : error C2065: 'dword' : undeclared identifier
API.xs(515) : error C2146: syntax error : missing ';' before identifier
'ptr'
API.xs(515) : error C2065: 'ptr' : undeclared identifier
API.xs(515) : error C2146: syntax error : missing ';' before identifier
'pParam'
API.xs(515) : error C2143: syntax error : missing ';' before '}'
API.xs(515) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(515) : error C2065: 'push' : undeclared identifier
API.xs(515) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(515) : error C2143: syntax error : missing ';' before '}'
API.xs(523) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(523) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(523) : error C2146: syntax error : missing ';' before identifier
'ptr'
API.xs(523) : error C2146: syntax error : missing ';' before identifier
'ppParam
'
API.xs(523) : error C2143: syntax error : missing ';' before '}'
API.xs(523) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(523) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(523) : error C2143: syntax error : missing ';' before '}'
API.xs(532) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(532) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(532) : error C2143: syntax error : missing ';' before '}'
API.xs(532) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(532) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(532) : error C2143: syntax error : missing ';' before '}'
API.xs(540) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(540) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(540) : error C2143: syntax error : missing ';' before '}'
API.xs(540) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(540) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(540) : error C2143: syntax error : missing ';' before '}'
API.xs(549) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(550) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(550) : error C2146: syntax error : missing ';' before identifier
'ptr'
API.xs(550) : error C2109: subscript requires array or pointer type
API.xs(551) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(552) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(552) : error C2146: syntax error : missing ';' before identifier
'ptr'
API.xs(552) : error C2109: subscript requires array or pointer type
API.xs(553) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(576) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(576) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(576) : error C2143: syntax error : missing ';' before '}'
API.xs(576) : error C4235: nonstandard extension used : '__asm' keyword not
supp
orted on this architecture
API.xs(576) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(576) : error C2143: syntax error : missing ';' before '}'
API.xs(613) : warning C4244: '=' : conversion from 'double' to 'float',
possible
loss of data
API.xs(661) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(661) : error C2146: syntax error : missing ';' before identifier
'ptr'
API.xs(661) : error C2146: syntax error : missing ';' before identifier
'words_p
ushed'
API.xs(662) : error C2146: syntax error : missing ';' before identifier
'shl'
API.xs(662) : error C2065: 'shl' : undeclared identifier
API.xs(662) : error C2146: syntax error : missing ';' before identifier
'eax'
API.xs(663) : error C2146: syntax error : missing ';' before identifier
'add'
API.xs(663) : error C2065: 'add' : undeclared identifier
API.xs(663) : error C2146: syntax error : missing ';' before identifier
'esp'
API.xs(663) : error C2065: 'esp' : undeclared identifier
API.xs(664) : error C2143: syntax error : missing ';' before '}'
API.xs(734) : error C2065: 'call' : undeclared identifier
API.xs(734) : error C2146: syntax error : missing ';' before identifier
'dword'
API.xs(734) : error C2146: syntax error : missing ';' before identifier
'ptr'
API.xs(734) : error C2109: subscript requires array or pointer type
API.xs(735) : error C2065: 'fstp' : undeclared identifier
API.xs(735) : error C2146: syntax error : missing ';' before identifier
'qword'
API.xs(735) : error C2065: 'qword' : undeclared identifier
API.xs(735) : error C2146: syntax error : missing ';' before identifier
'ptr'
API.xs(735) : error C2109: subscript requires array or pointer type
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.