@@ -61,7 +61,7 @@ sub combine(:$sources, :$stage, :$file, :$gen-version = 0) {
61
61
);
62
62
}
63
63
64
- sub cross-compile (: $ stage , : $ source , : $ target , : $ setting , : $ no-regex-lib , : $ deps = []) {
64
+ sub cross-compile (: $ stage , : $ source , : $ target , : $ setting = ' NQPCORE ' , : $ no-regex-lib , : $ deps = []) {
65
65
my $ path := stage_path($ stage );
66
66
my $ moarvm := $ path ~ $ target ~ ' .moarvm' ;
67
67
# todo dependency on compiler
@@ -72,13 +72,14 @@ sub cross-compile(:$stage, :$source, :$target, :$setting, :$no-regex-lib, :$deps
72
72
rule($ moarvm , nqp :: join (' ' , $ deps ),
73
73
make_parents($ moarvm ),
74
74
75
- " \$(JS_NQP) --module-path gen/js/stage1 src/vm/js/bin/cross-compile.nqp --setting=NULL --target=mbc --output $ moarvm $ source > node_modules/$ target .js"
76
-
77
- # "\$(JS_NQP) src/vm/js/bin/cross-compile.nqp $source $path $target $setting $no-regex-lib",
75
+ " \$(JS_NQP) --module-path gen/js/stage1 src/vm/js/bin/cross-compile.nqp --setting=$ setting --target=mbc --output $ moarvm $ source > node_modules/$ target .js"
78
76
);
79
77
}
80
78
81
79
80
+
81
+
82
+
82
83
comment(" This is the JS Makefile - autogenerated by gen-makefile.nqp" );
83
84
84
85
constant (' JS_BUILD_DIR' ,' gen/js' );
@@ -102,13 +103,15 @@ my $nqp-mo-moarvm := cross-compile(:stage(2), :source($nqp-mo-combined), :target
102
103
103
104
my $ nqpcore-combined := combine(: stage(2 ), : sources(' $(CORE_SETTING_SOURCES)' ), : file(' $(CORE_SETTING_COMBINED).nqp' ));
104
105
105
- # my $nqpcore-pbc := cross-compile(:stage(2), :source($nqpcore-combined), :target('NQPCORE.setting'), :setting('NULL'), :no-regex-lib(1), :deps([$nqp-mo-pbc]));
106
- #
107
- # my $QASTNode-combined := combine(:stage(2), :sources('$(QASTNODE_SOURCES)'), :file('$(QASTNODE_COMBINED)'));
108
- # my $QASTNode-pbc := cross-compile(:stage(2), :source($QASTNode-combined), :target('QASTNode'), :setting('NQPCORE'), :no-regex-lib(1), :deps([$nqpcore-pbc]));
106
+ my $ nqpcore-moarvm := cross-compile(: stage(2 ), : source($ nqpcore-combined ), : deps([$ nqp-mo-moarvm ]), : setting(' NULL' ), : target(' NQPCORE.setting' ));
107
+
108
+
109
+ my $ QASTNode-combined := combine(: stage(2 ), : sources(' $(QASTNODE_SOURCES)' ), : file(' $(QASTNODE_COMBINED)' ));
110
+ my $ QASTNode-moarvm := cross-compile(: stage(2 ), : source($ QASTNode-combined ), : target(' QASTNode' ), : setting(' NQPCORE' ), : no-regex-lib(1 ), : deps([$ nqpcore-moarvm ]));
111
+
109
112
#
110
- # my $QRegex-combined := combine(:stage(2), :sources('$(QREGEX_SOURCES)'), :file('$(QREGEX_COMBINED)'));
111
- # my $QRegex-pbc := cross-compile(:stage(2), :source($QRegex-combined), :target('QRegex'), :setting('NQPCORE'), :no-regex-lib(1), :deps([$nqpcore-pbc , $QASTNode-pbc ]));
113
+ my $ QRegex-combined := combine(: stage(2 ), : sources(' $(QREGEX_SOURCES)' ), : file(' $(QREGEX_COMBINED)' ));
114
+ my $ QRegex-moarvm := cross-compile(: stage(2 ), : source($ QRegex-combined ), : target(' QRegex' ), : setting(' NQPCORE' ), : no-regex-lib(1 ), : deps([$ nqpcore-moarvm , $ QASTNode-moarvm ]));
112
115
#
113
116
# my $QAST-Compiler-pbc := cross-compile(:stage(2), :source('src/vm/js/QAST/Compiler.nqp'), :target('QAST/Compiler'), :setting('NQPCORE'), :no-regex-lib(0), :deps([$nqpcore-pbc, $QASTNode-pbc]));
114
117
#
@@ -136,9 +139,9 @@ deps('js-stage1-compiler', '$(JS_STAGE1_COMPILER)');
136
139
# deps('js-runner-default', 'js-all');
137
140
#
138
141
139
- say (" node_modules/NQPCORE.setting.js: \$(JS_STAGE1_COMPILER) $ nqpcore-combined $ nqp-mo-moarvm
140
- \$(MKPATH) gen/js/stage2
141
- ./nqp-m --module-path gen/js/stage1 src/vm/js/bin/cross-compile.nqp --module-path gen/js/stage2 --setting=NULL --target=mbc --output gen/js/stage2/NQPCORE.setting.moarvm $ nqpcore-combined > node_modules/NQPCORE.setting.js" );
142
+ # say("node_modules/NQPCORE.setting.js: \$(JS_STAGE1_COMPILER) $nqpcore-combined $nqp-mo-moarvm
143
+ # \$(MKPATH) gen/js/stage2
144
+ # ./nqp-m --module-path gen/js/stage1 src/vm/js/bin/cross-compile.nqp --module-path gen/js/stage2 --setting=NULL --target=mbc --output gen/js/stage2/NQPCORE.setting.moarvm $nqpcore-combined > node_modules/NQPCORE.setting.js");
142
145
143
146
say (' js-test: js-all
144
147
src/vm/js/bin/run_tests' );
@@ -147,7 +150,7 @@ say("\n\njs-clean:
147
150
\$(RM_RF) gen/js/stage1 gen/js/stage2
148
151
" );
149
152
150
- deps(" js-all" , ' m-all' , ' js-stage1-compiler' , ' node_modules/installed' ,' node_modules/NQPCORE.setting.js ' , $ nqpcore-combined );
153
+ deps(" js-all" , ' m-all' , ' js-stage1-compiler' , ' node_modules/installed' ,$ nqpcore-moarvm , $ nqpcore-combined , $ QASTNode-moarvm , $ QRegex-moarvm );
151
154
152
155
# Enforce the google coding standards
153
156
say (" js-lint:
0 commit comments