Install languages

François Perrad francois.perrad at gadz.org
Sun Feb 22 21:41:01 UTC 2009


2009/2/20 Allison Randal <allison at perl.org>:
> François Perrad wrote:
>>
>> Allison, Reini,
>>
>> Before applying to existing languages, could you review my work on
>> tools/dev/mk_languages_shell.pl (r36888-36892) ?
>> Is it compliant with what we want (pdd30_install) ?
>>
>>  $ perl tools/dev/mk_languages_shell.pl Xyz
>>  $ make -C languages/xyz
>>  $ make -C languages/xyz test
>>  $ make -C languages/xyz install
>
> One general comment is that most languages (maybe all languages soon) will
> be building from an installed Parrot, not from inside a languages/ directory
> in the Parrot build tree. So, either we need two scripts for making a
> language shell (one for languages in the build tree and one for those
> outside), or we need to assume that most newbie language developers will be
> outside the build tree, and make that the default case. That would imply
> removing all references to $(BUILD_DIR) from the shell makefiles.
>
> Also, it's good to show the default way of building a grammar, an actions
> file, and builtins. We shouldn't dictate that every language has MAINTAINER
> and STATUS files, or a doc directory using Pod format. I wouldn't even
> generate information for dynamic pmcs and ops by default (though we could
> have options for mk_languages_shell.pl that add stubs for dynamic pmcs and
> ops if requested).
>

With r36933, a new version of tools/dev/mk_languages_shell.pl is
available with the following options :
 --with-doc
 --with-ops
 --with-pmc
And  dynpmc.pl & dynoplibs.pl are not longer used.

As example :
- I re-run mk_languages_shell.pl in languages/squaak
- I update an Allison's patch for Rakudo (see attachment)

Feedback welcome.

François.

>> I've some remarks :
>> 1) the logic that creates path with version, is duplicate :
>>  - install_files.pl lines 145-147
>>  - install_dev_files lines 91-93
>>  - mk_languages_shell.pl lines 191-193
>> The right place seems to be in config/init/install.pm
>
> This logic is in config/init/install.pm, and install_files.pl and
> install_dev_files.pl need to be updated to use it (I'll do that now).
>
> So, instead of manually constructing the version directory, just append
> "@versiondir@" (which will be empty for an install that isn't using
> versioned directories). You can see an example in my Rakudo patch:
>
> http://rt.perl.org/rt3//Public/Bug/Display.html?id=63360
>
>> 2) pbc_to_exe --install adds a prefix installable_, but for languages
>> we need parrot- as prefix.
>> The prefix installable_ is fine for parrot, pbc_dump, all that comes
>> from C, but not from pbc.
>
> I don't understand the problem here.
>
>> 3) for languages with PMC or Ops, I wait for dynpmc.pl & dynoplibs.pl
>> deprecation.
>
> Yes, those scripts are going away, to be replaced with makefiles So, it's
> better to have mk_languages_shell.pl create sample makefiles (when the
> appropriate options are turned on).
>
> Allison
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-remove-dynpmc.pl-dynoplibs.pl.patch.gz
Type: application/x-gzip
Size: 4946 bytes
Desc: not available
URL: <http://lists.parrot.org/pipermail/parrot-dev/attachments/20090222/1954ca8e/attachment.bin>


More information about the parrot-dev mailing list