Building Ponie On Win32
[email protected] ("Jonathan Worthington") Wed, 8 Sep 2004 21:52:35 +0100
| Newsgroups | perl.ponie.dev |
|---|---|
| Message-ID | <01f201c495e5$d95767d0$7201a8c0@server> |
Hi,
I've been trying my hand at getting Ponie to build on Win32. I'm not really
sure what the best way to achieve this is, or what the long term plans are
for the Ponie build process, so please do give me a gentle shove in the
right direction if I'm way off course. :-)
So far, I've written a Win32 makefile in the root directory and fixed up
Configure so it copies that into place over the current Makefile and doesn't
run the sh configure script in the perl directory, which doesn't work out on
Win32. The Parrot build is done fine, and the PMCs are all being processed
through pmc2c individually and then to make the library, and the resulting
files being put in the perl directory. I *think* (but may be wrong) that
this is what happens on a non-Win32 build.
Then we enter the building of the stuff in the perl directory. I fixed up
perl/win32/Makefile to have the include path in for parrot's embed.h. It
gets off OK, but then blows up here:-
--
cl -c -nologo -Gf -W3 -I..\lib\CORE -I.\include -I. -I.. -I..\..\parrot\
include -I..\..\src\pmcs -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -D
PERLDLL -DPERL_CORE -MD -DNDEBUG -O1 -DPERL_EXTERNAL_GLOB -Fo.\mini\sv.obj
..\sv.c
sv.c
..\sv.c(208) : warning C4133: 'function' : incompatible types - from 'struct
ptr_tbl *' to 'struct interpreter *'
..\sv.c(208) : warning C4133: 'function' : incompatible types - from 'struct
Ponie_Dummy_PMC *' to 'struct ptr_tbl *'
..\sv.c(208) : error C2198: 'Perl_ptr_table_delete' : too few actual
parameters
..\sv.c(409) : warning C4133: 'function' : incompatible types - from 'struct
ptr_tbl *' to 'struct interpreter *'
..\sv.c(409) : warning C4133: 'function' : incompatible types - from 'struct
Ponie_Dummy_PMC *' to 'struct ptr_tbl *'
..\sv.c(409) : error C2198: 'Perl_ptr_table_delete' : too few actual
parameters
..\sv.c(10206) : warning C4013: 'croak' undefined; assuming extern returning
int
..\sv.c(10349) : error C2039: 'Isv_no' : is not a member of 'interpreter'
..\perl.h(3456) : see declaration of 'interpreter'
..\sv.c(10497) : warning C4013: 'new_XIV' undefined; assuming extern
returning int
..\sv.c(10497) : warning C4047: '=' : 'void *' differs in levels of
indirection from 'int '
..\sv.c(10501) : warning C4013: 'new_XNV' undefined; assuming extern
returning int
..\sv.c(10501) : warning C4047: '=' : 'void *' differs in levels of
indirection from 'int '
..\sv.c(10505) : warning C4013: 'new_XRV' undefined; assuming extern
returning int
..\sv.c(10505) : warning C4047: '=' : 'void *' differs in levels of
indirection from 'int '
..\sv.c(11345) : error C2065: 'PL_xrv_arenaroot' : undeclared identifier
..\sv.c(11346) : error C2065: 'PL_xrv_root' : undeclared identifier
..\sv.c(11372) : error C2065: 'PL_sv_arenaroot' : undeclared identifier
..\sv.c(11372) : warning C4047: '=' : 'int ' differs in levels of
indirection from 'struct Ponie_Dummy_PMC *'
..\sv.c(11391) : error C2039: 'Isv_undef' : is not a member of 'interpreter'
..\perl.h(3456) : see declaration of 'interpreter'
..\sv.c(11391) : error C2198: 'Perl_ptr_table_store' : too few actual
parameters
..\sv.c(11400) : error C2039: 'Isv_no' : is not a member of 'interpreter'
..\perl.h(3456) : see declaration of 'interpreter'
..\sv.c(11400) : error C2198: 'Perl_ptr_table_store' : too few actual
parameters
..\sv.c(11409) : error C2039: 'Isv_yes' : is not a member of 'interpreter'
..\perl.h(3456) : see declaration of 'interpreter'
..\sv.c(11409) : error C2198: 'Perl_ptr_table_store' : too few actual
parameters
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual
Studio\VC98\Bin\NMAKE.EXE"' : return code '0x2'
Stop.
--
My knowledge of the Perl 5 codebase is non-existent, so I'm not really sure
where to go from here. Any hints, or even a solution, would be really
helpful.
Thanks,
Jonathan