Re: CPAN Upload: A/AB/ABERGMAN/ponie-2.tar.gz - Ponie Development Release 2

[email protected] (Nicholas Clark) Mon, 22 Mar 2004 20:16:55 +0000
Newsgroups perl.ponie.dev
Message-ID <[email protected]>
Cc's trimmed down to ponie-dev only, as this isn't really parrot or p5, and
Arthur is on the list.

On Mon, Mar 22, 2004 at 06:03:01PM +0000, Steve Hay wrote:
> Steve Hay wrote:
> 
> >Arthur Bergman wrote:
> >
> >  
> >
> >>This is Ponie, development release 2
> >> 
> >>
> >>    
> >>
> >How does one build this on Win32 with MSVC++?

I don't know. I've not tried. I can't even get the latest CVS checkout
to build beyond DynaLoader on FreeBSD (it goes SEGV)

> Looks like that Configure.pl runs perl's "Configure" shell script with a 
> bunch of arguments pulled from various sources, but on Win32 you don't 
> use that Configure script to build perl -- instead, you edit 
> win32/Makefile to suit, then cd to win32/ and type "nmake".

Your analysis of what it does is correct. I've tweaked it in CVS so that
it now runs Configure fully once, and edits config.sh and just expands all
the SH files the second time. But this is all horribly Unix (and OS/2)

> So I guess the question is: What do I need to do to win32/Makefile to 
> have perl built with parrot?

I don't know for sure, but the reason for the "two" Configure runs on unix
is

Run 1: Extract config.h so that the p5 PMCs in the parrot tree can be built
       (they #include config.h)

Run 2: Generate a Makefile that contains -Is so that the perl tree picks up
       headers from the parrot tree, and -Ls and -lparrot so that the perl
       is also linked against the libparrot.a in the parrot tree.

So if win32 starts out with a config.h, I think that you can avoid emulating
that first Configure run, so just build parrot first, then build perl second,
with the win32 Makefile edited to include include and link paths into
../parrot/include and ../parrot/blib (or whatever it is)

I don't have access to Windows, so this is educated guesswork.
And in best Usenet tradition it's from memory so will have errors.

Nicholas Clark