<commit_before># Copyright (C) 2008-2009, Parrot Foundation.
# $Id$

=head1 Parrot Installation

=head2 Abstract

This PDD outlines Parrot's installation system and support. Parrot's core
installation system will provide support for binary packages, a working C<make
install> target, compiled installables, and FHS compliant search paths for the
installables. This document also aims to solve the current problem of
accessing installed source-only files, and to allow the optimization of config
bootstrapping if a frozen config_hash is already linked.

=head2 Version

$Revision$

=head2 Synopsis

Parrot installation process (from the parrot source directory):

  perl Configure.pl --prefix=/usr/lib
  make
  make test
  make install


Language installation process (from the language source directory):

  make
  make test
  make install

=head2 Description

Parrot uses Filesystem Hierarchy Standard (FHS) compliant install directories
by default. Each install location is configurable with options passed to the
configure script.

=over

=item F</usr/bin/parrot>

The main Parrot executable.

=item F</usr/lib/parrot/library/>

Parrot runtime libraries, corresponds to F<runtime/parrot/library/> in the
repository.

=item F</usr/lib/parrot/<version>/include/>

Parrot runtime include files (not C include files), corresponds to
F<runtime/parrot/include/> in the repository.

=item F</usr/lib/parrot/<version>/dynext/>

Parrot dynamic extension files (for C<loadlib>), corresponds to
F<runtime/parrot/dynext/> in the repository.

=item F</usr/lib/parrot/<version>/languages/>

Parrot language modules, corresponds to F<languages/> in the repository.

Languages are loaded with C<load_language 'abc'>, which loads either
F<languages/abc/abc.pbc> in the build environment of a language in trunk, or
F</usr/lib/parrot/languages/abc/abc.pbc> in an installed Parrot.

On the commandline, a language is executed as:

  $ abc hello.bc

Where F<abc> is a symlink to the F<parrot> executable. On platforms that don't
have symlinks, F<abc> may be a copy of the F<parrot> executable. On general
principles, languages should not install themselves with the same name as
their "real" counterpart, but should provide a build option to do so (so, the
default installed executable for Python on Parrot should be F<pynie> or<commit_msg>[pdd30] directory 'library' is version specific<commit_after># Copyright (C) 2008-2009, Parrot Foundation.
# $Id$

=head1 Parrot Installation

=head2 Abstract

This PDD outlines Parrot's installation system and support. Parrot's core
installation system will provide support for binary packages, a working C<make
install> target, compiled installables, and FHS compliant search paths for the
installables. This document also aims to solve the current problem of
accessing installed source-only files, and to allow the optimization of config
bootstrapping if a frozen config_hash is already linked.

=head2 Version

$Revision$

=head2 Synopsis

Parrot installation process (from the parrot source directory):

  perl Configure.pl --prefix=/usr/lib
  make
  make test
  make install


Language installation process (from the language source directory):

  make
  make test
  make install

=head2 Description

Parrot uses Filesystem Hierarchy Standard (FHS) compliant install directories
by default. Each install location is configurable with options passed to the
configure script.

=over

=item F</usr/bin/parrot>

The main Parrot executable.

=item F</usr/lib/parrot/<version>/library/>

Parrot runtime libraries, corresponds to F<runtime/parrot/library/> in the
repository.

=item F</usr/lib/parrot/<version>/include/>

Parrot runtime include files (not C include files), corresponds to
F<runtime/parrot/include/> in the repository.

=item F</usr/lib/parrot/<version>/dynext/>

Parrot dynamic extension files (for C<loadlib>), corresponds to
F<runtime/parrot/dynext/> in the repository.

=item F</usr/lib/parrot/<version>/languages/>

Parrot language modules, corresponds to F<languages/> in the repository.

Languages are loaded with C<load_language 'abc'>, which loads either
F<languages/abc/abc.pbc> in the build environment of a language in trunk, or
F</usr/lib/parrot/languages/abc/abc.pbc> in an installed Parrot.

On the commandline, a language is executed as:

  $ abc hello.bc

Where F<abc> is a symlink to the F<parrot> executable. On platforms that don't
have symlinks, F<abc> may be a copy of the F<parrot> executable. On general
principles, languages should not install themselves with the same name as
their "real" counterpart, but should provide a build option to do so (so, the
default installed executable for Python on Parrot should be F<pynie> or
{'fraction_non_alphanumeric': 0.07529863481228669, 'fraction_numerical': 0.005972696245733789, 'mean_word_length': 4.781750924784217, 'pattern_counts': {'":': 0, '<': 48, '<?xml version=': 0, '>': 48, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2993882', 'n_tokens_mistral': 1364, 'n_tokens_neox': 1309, 'n_words': 582}