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

Getting started guide v0.4

0 views
Skip to first unread message

Erik Lechak

unread,
Oct 19, 2002, 3:24:56 PM10/19/02
to perl6-i...@perl.org

Well here it is. The latest and greatest. Making its first appearance
in POD, the "getting started" guide. There is a lot of work to do on
it. There are sections that read like bad notes. But some might find
this realease of use.

And in my tinkering around, I compile a lot. I have also added this
handy little perl script that helps.

I only know that it works on win32 (XP). I could get it working on
linux if anyone is interested.

Extensions are in win32 speak. But it uses Config.pm so it should be
somewhat easy to make work for linux if it already does not. Here is a
summary of what it does.

perl ecomp.pl -s dir
This builds a static libparrot.lib in the specified dir

perl ecomp.pl -d dir
This builds a dynamic libparrot.lib and libparrot.dll in the
specified dir

perl ecomp.pl -o dir/test
this will compile dir/test.c into dir/test.obj (leave off all file
extensions)

perl ecomp.pl -b dir/test
this will compile and link dir/test.c into dir/test.exe (leave off
all file extensions). Handy when you just want to run something without
the fuss.

perl ecomp.pl -link dir/test
this will link dir/test.obj with other parrot obj files to create
dir/test.exe

perl ecomp.pl -liblink dir/test libdir/lib
this will link dir/test.obj with libdir/lib.lib (use libparrot for lib)

I think I know the answer, but is there a reason why in Config.pm 'so'
maps to '.dll' and 'ar' only maps to 'lib' with no dot? Does it have to
do with 'hello.lib' for windows and 'libhello.a' for linux?

Thanks,
Erik

gs.pod
ecomp.pl

Brent Dax

unread,
Oct 20, 2002, 12:15:53 AM10/20/02
to Erik Lechak, perl6-i...@perl.org
Erik Lechak:
# And in my tinkering around, I compile a lot. I have also added this
# handy little perl script that helps.
#
# I only know that it works on win32 (XP). I could get it working on
# linux if anyone is interested.
#
# Extensions are in win32 speak. But it uses Config.pm so it should be
# somewhat easy to make work for linux if it already does not.
# Here is a
# summary of what it does.

Sweet! Thanks. This could be very useful if we can set it up to work
on Unices.

# I think I know the answer, but is there a reason why in
# Config.pm 'so'
# maps to '.dll' and 'ar' only maps to 'lib' with no dot? Does
# it have to
# do with 'hello.lib' for windows and 'libhello.a' for linux?

$(AR) is the program you invoke to create a library, IIRC.

C:\Brent\Visual Studio Projects\Perl 6\parrot\parrot>lib -?
Microsoft (R) Library Manager Version 7.00.9466
Copyright (C) Microsoft Corporation. All rights reserved.

usage: LIB [options] [files]

options:

/DEF[:filename]
/EXPORT:symbol
/EXTRACT:membername
/INCLUDE:symbol
/LIBPATH:dir
/LIST[:filename]

/MACHINE:{AM33|ARM|IA64|M32R|MIPS|MIPS16|MIPSFPU|MIPSFPU16|MIPSR41XX|
PPC|PPCFP|SH3|SH3DSP|SH4|SH5|THUMB|TRICORE|X86}
/NAME:filename
/NODEFAULTLIB[:library]
/NOLOGO
/OUT:filename
/REMOVE:membername

/SUBSYSTEM:{CONSOLE|EFI_APPLICATION|EFI_BOOT_SERVICE_DRIVER|

EFI_ROM|EFI_RUNTIME_DRIVER|NATIVE|POSIX|WINDOWS|
WINDOWSCE}[,#[.##]]
/VERBOSE

--Brent Dax <bren...@cpan.org>
@roles=map {"Parrot $_"} qw(embedding regexen Configure)

Wire telegraph is a kind of a very, very long cat. You pull his tail in
New York and his head is meowing in Los Angeles. And radio operates
exactly the same way. The only difference is that there is no cat.
--Albert Einstein (explaining radio)

0 new messages