1 # Copyright (C) 2009, Austin Hastings. See accompanying LICENSE file, or
2 # http://www.opensource.org/licenses/artistic-license-2.0.php for license.
10 # This sub is called directly by code in kakapo_top_pir.tmpl to perform 'very first thing'
11 # initialization. The intent is to (1) ensure that the environment is initialized, and (2) to
12 # directly initialize those modules that are prerequisites of just about every other module
17 if our $_Pre_initload_done { return 0; }
18 $_Pre_initload_done := 1;
20 unless Opcode::defined(say) {
21 Opcode::load_language('nqp');
24 unless Opcode::defined(P6object::HOW) {
25 Opcode::load_bytecode('P6object.pbc');
28 # Note: Order is crucial.
29 Global::_pre_initload();
30 Opcode::_pre_initload();
31 Parrot::_pre_initload();
33 Array::_pre_initload(); # Compiling 'new' wants 'join'
34 Kakapo::Pmc::COMMON::_pre_initload();
35 String::_pre_initload();
36 Exception::_pre_initload();
37 Syntax::_pre_initload();
39 # Base / Complete divider
41 P6metaclass::_pre_initload();
42 P6object::_pre_initload();
44 DependencyQueue::_pre_initload();
45 #Class::_pre_initload();
46 #Program::_pre_initload(
55 # 'Kakapo::Pmc::COMMON',
63 sub library_init_done() {
64 say("Library init done");
68 sub library_load_done() {
69 say("Library load done");