Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Porting parrot on PDA -- work in progress

4 views
Skip to first unread message

Aldo Calpini

unread,
Feb 13, 2007, 2:28:38 PM2/13/07
to perl6-i...@perl.org
whoa there!

I've managed to build parrot for the PocketPC. yes, really. I hacked
just a little the Configure process - now it _really_ compiles test
executables, run them on the PDA and gather the result. this wasn't
really hard.

I had a half-written Perl XS extension which uses RAPI to communicate
with the PDA. I just worked on it a little and prepared a simple script
which does the trick. all I had to do was to add a parameter to
_run_command in lib/Parrot/Configure/Step.pm which simply does:

if($remote) {
$command = "$^X runonpda.pl $command";
}

runonpda.pl is my simple script in this case. once I have my RAPI
extension on CPAN, this could eventually be turned into a proper patch
to Parrot's Configure.

the resulting files needed just a few fixes, mainly because Configure
pulls out information about headers from Perl's Config.pm (which of
course, in this case, isn't just right).

there are also minor glitches with threads and OS system calls, but they
can be solved by creating a directory in config/gen/platform (eg. cegcc
or whatever) and writing there the correct code.

furthermore, the Configure process uses $^O here and there, and this
should eventually be replaced by an --arch=something parameter to
Configure.pl (which defaults to $^O, of course).

my parrot does indeed run some of the examples/pasm files. I tried
hello.pasm, fact.pasm, xml_parser.pasm, they all run just fine.

now, from what I understand looking at the Makefile, this parrot should
be used to generate a lot of .pbc files that constitute the "core"
Parrot library. this is going to be a real pain, because while it's true
that I can run parrot on the PDA, all the directory structure (eg.
runtime/parrot/library) is not there at all.

so I'm really puzzled about what to do next. is this parrot.exe alone
worth something (except for running .pasm files, that is)? should I
transfer the whole parrot directory to the PDA and build the library
there, by hand?

I would appreciate any feedback :-)

cheers,
Aldo

Joshua Isom

unread,
Feb 13, 2007, 2:48:38 PM2/13/07
to Aldo Calpini
On Feb 13, 2007, at 1:28 PM, Aldo Calpini wrote:

> whoa there!


>
> furthermore, the Configure process uses $^O here and there, and this
> should eventually be replaced by an --arch=something parameter to
> Configure.pl (which defaults to $^O, of course).
>
> my parrot does indeed run some of the examples/pasm files. I tried
> hello.pasm, fact.pasm, xml_parser.pasm, they all run just fine.
>
> now, from what I understand looking at the Makefile, this parrot
> should be used to generate a lot of .pbc files that constitute the
> "core" Parrot library. this is going to be a real pain, because while
> it's true that I can run parrot on the PDA, all the directory
> structure (eg. runtime/parrot/library) is not there at all.
>
> so I'm really puzzled about what to do next. is this parrot.exe alone
> worth something (except for running .pasm files, that is)? should I
> transfer the whole parrot directory to the PDA and build the library
> there, by hand?
>
> I would appreciate any feedback :-)
>
> cheers,
> Aldo

You should be able to run most pir files and pbc files too, since the
pbc files are platform independent. It'd help to have then generated
on a platform with the same endian for speed, but not required(portable
byte code). You can sort of pick and choose which libraries if you're
feeling adventurous, and which headers. They're often used in other
files to run. You won't need all the .h files since they're for
linking with libparrot, so just the stuff with runtime. You may even
be able to get tcl running on your pda.

Patrick R. Michaud

unread,
Feb 13, 2007, 3:32:47 PM2/13/07
to Aldo Calpini, perl6-i...@perl.org
On Tue, Feb 13, 2007 at 08:28:38PM +0100, Aldo Calpini wrote:
> I've managed to build parrot for the PocketPC. yes, really.
>
> I would appreciate any feedback :-)

Feedback: Truly amazing, and terrific work. Aldo++

Pm

0 new messages