Install languages

Allison Randal allison at
Fri Feb 20 20:14:43 UTC 2009

François Perrad wrote:
> Allison, Reini,
> Before applying to existing languages, could you review my work on
> tools/dev/ (r36888-36892) ?
> Is it compliant with what we want (pdd30_install) ?
>  $ perl tools/dev/ 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 that add stubs 
for dynamic pmcs and ops if requested).

> I've some remarks :
> 1) the logic that creates path with version, is duplicate :
>  - lines 145-147
>  - install_dev_files lines 91-93
>  - lines 191-193
> The right place seems to be in config/init/

This logic is in config/init/, and and 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:

> 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 &
> deprecation.

Yes, those scripts are going away, to be replaced with makefiles So, 
it's better to have create sample makefiles (when 
the appropriate options are turned on).


More information about the parrot-dev mailing list