Mercurial > hg > Others > Rakudo
diff INSTALL.txt @ 0:c341f82e7ad7 default tip
Rakudo branch in cr.ie.u-ryukyu.ac.jp
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 26 Dec 2019 16:50:27 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/INSTALL.txt Thu Dec 26 16:50:27 2019 +0900 @@ -0,0 +1,171 @@ + Build requirements (Installing from source) + For building Rakudo you need at least a C compiler, a "make" utility, + and Perl 5.10 or newer. To automatically obtain and build MoarVM + as well as NQP, you may also need a git client, which is also needed + for fetching the test suite. + + Building rakudo can take up to 1G of memory when compiling for the + MoarVM runtime. The requirements are higher for the JVM backend. + + (Perl is installed by default already). To enable parallel testing you + also need the CPAN module Test::Harness in version 3.16 or newer; you + can control the number of parallel jobs with the "TEST_JOBS" environment + variable. If TEST_JOBS is not specified, 6 jobs will be used. + + Building and invoking Rakudo + If you're wanting the bleeding-edge version of the Rakudo Perl 6 + compiler, we recommend downloading Rakudo directly from Github + and building it from there. + + $ git clone git://github.com/rakudo/rakudo.git + + If you don't have git installed, you can get a tarball of Rakudo + from <http://rakudo.org/downloads/rakudo/>. Then unpack the + tarball. + + If you already have cloned Rakudo from github, you can get (pull) the + most recent version from github like this: + + $ cd rakudo + $ git pull + + Once you have an up-to-date copy of Rakudo, build it as follows: + + $ perl Configure.pl --gen-moar --gen-nqp --backends=moar # Moar only + or: + $ perl Configure.pl --gen-nqp --backends=jvm # needs JDK 1.8 installed + then: + $ make + + This will create a "perl6" or "perl6.exe" executable in the current + (rakudo) directory. Additionally, for each selected backend, there will + be a perl6-* binary. Note that if you have multiple (Perl 5) "perl"s in + your path, you may need to use a fully qualified path to the appropriate + executable (or update your PATH environment variable). + + Programs can then be run from the build directory using a command like: + + $ ./perl6 hello.pl + + Simply running "perl6" will drop you into a REPL (read-eval-print-loop) + that you can use for exploratory programming: + + $ ./perl6 + + If you would like readline-like features, such as command history, line + editing, and tab completion for builtins, you should install the Linenoise + module via zef: + + $ zef install Linenoise + + Important: To run Rakudo from outside the build directory, you must run + + $ make install + + This will install the "perl6" (or "perl6.exe" binary on windows) into + the "install/bin" directory locally, no additional root + privileges necessary. + + If you want to have perl6, nqp, and moar installed into a + different directory, you may supply --prefix= to Configure.pl. + + The "--gen-moar" above option tells Configure.pl to automatically + download and build the most appropriate version of NQP and MoarVM + into local "nqp/" and "moar/" subdirectories, install NQP and MoarVM + into the "install/" subdirectory, and use them for building Rakudo. + It's okay to use the "--gen-moar" option on later invocations of + Configure.pl; the configure system will re-build NQP and/or MoarVM + only if a newer version is needed for whatever version of Rakudo + you're working with. + + If you already have MoarVM installed, you can use + "--with-moar=/path/to/bin/moar" to use it instead of + building a new one. This installed MoarVM must include its + development environment. Similarly, if you already have NQP + installed, you can specify "--with-nqp=/path/to/bin/nqp" + to use it. (Note that this must be NQP, not the NQP-rx that + comes with MoarVM.) + + The versions of any already installed NQP or MoarVM binaries must + satify a minimum specified by the Rakudo being built -- Configure.pl + and "make" will verify this for you. Released versions of Rakudo + generally build against the latest release of MoarVM; checkouts of + Rakudo's HEAD revision from Github often require a version of MoarVM + that is newer than the most recent MoarVM monthly release. + + Once built, Rakudo's "make install" target will install Rakudo and its + libraries into the directories specified by the MoarVM installation + used to create it or whatever you specified with the --prefix flag. + Until this step is performed, the "perl6" executable created by "make" + above can only be reliably run from the root of Rakudo's build directory. + After "make install" is performed, the installed executable can be run + from any directory (as long as the MoarVM installation that + were used to create it remain intact). + + If the Rakudo compiler is invoked without an explicit script to run, it + enters a small interactive mode that allows Perl 6 statements to be + executed from an interactive prompt. + + See the manual page ("docs/running.pod") for more about command-line + options. + + Build/install problems + Occasionally, there may be problems when building/installing Rakudo. + Make sure you have a backup of any custom changes you have done to the + source tree before performing the following steps: + + Try to remove the "install/" subdirectory: + + $ cd rakudo + $ rm -r install + $ git pull + $ perl Configure.pl --gen-moar --gen-nqp --backends=moar # for instance + $ make + + Or, in case you are really stuck, start with a fresh source tree: + + $ rm -r rakudo + $ git clone git://github.com/rakudo/rakudo.git + + Running the test suite + Entering "make test" will run a small test suite that comes bundled with + Rakudo. This is a simple suite of tests, designed to make sure that the + Rakudo compiler is basically working and that it's capable of running a + simple test harness. + + Running "make spectest" will import the official Perl 6 test suite from + the "roast" repository <http://github.com/perl6/roast/> and run all + of these tests that are currently known to pass. + + At present we do not have any plans to directly store the official test + suite as part of the Rakudo repository, but will continue to fetch it + from the roast repository. Releases of Rakudo get a snapshot of + the roast repository as of the time of the release. + + You can also use "make" to run an individual test from the command line: + + $ make t/spec/S29-str/ucfirst.t + t/spec/S29-str/ucfirst.rakudo .. + 1..4 + ok 1 - simple + ok 2 - empty string + ok 3 - # SKIP unicode + ok 4 - # SKIP unicode + # FUDGED! + ok + All tests successful. + Files=1, Tests=4, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.57 cusr 0.06 csys = 0.65 CPU) + Result: PASS + + If you want to run the tests in parallel, you need to install a fairly + recent version of the Perl 5 module Test::Harness (3.16 works for sure). + + Spectest smolder requirements (Windows) + You need recent version of either Strawberry Perl or ActiveState Perl. + + If you are working with ActiveState Perl you need the Mingw gcc compiler. + + You need msys git installed and you need "\Program Files\Git\cmd" on your + execution path and NOT "\Program Files\Git\bin". + + You need a win32 curl program.