Skip to content

Commit 5daf0e3

Browse files
committed
Generate Makefile-JS.in in Configure.PL rather then keep it in the repo.
1 parent 891eb6f commit 5daf0e3

File tree

3 files changed

+23
-153
lines changed

3 files changed

+23
-153
lines changed

Configure.pl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@
188188
}
189189

190190
if ($backends{js}) {
191+
system_or_die($config{moar}, '--libpath=src/vm/moar/stage0', 'src/vm/moar/stage0/nqp.moarvm', 'tools/build/gen-js-makefile.nqp', 'tools/build/Makefile-JS.in');
191192
$config{'make'} = $^O eq 'MSWin32' ? 'nmake' : 'make';
192193
my $node = probe_node();
193194

tools/build/Makefile-JS.in

Lines changed: 0 additions & 140 deletions
This file was deleted.

tools/build/gen-js-makefile.nqp

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
# vi: filetype=perl6:
2+
my $out := '';
3+
4+
sub out(*@args) {
5+
$out := $out ~ nqp::join('', @args) ~ "\n";
6+
}
7+
28
sub comment($comment) {
3-
say("# $comment");
9+
out("# $comment");
410
}
511
sub constant($name, $value) {
6-
say("$name = $value");
12+
out("$name = $value");
713
}
814

915
sub stage_path($stage) {
@@ -23,7 +29,7 @@ sub rule($target, $source, *@actions) {
2329
$rule := $rule ~ "\t$action\n";
2430
}
2531
}
26-
say($rule);
32+
out($rule);
2733
$target;
2834
}
2935

@@ -45,7 +51,7 @@ sub nqp($prefix, $file, $stage, :$source=$prefix ~ '/' ~ $file ~ '.nqp', :$deps=
4551
}
4652

4753
sub deps($target, *@deps) {
48-
say("$target : {nqp::join(' ',@deps)}");
54+
out("$target : {nqp::join(' ',@deps)}");
4955
}
5056

5157
# TODO is the version regenerated as often as it should
@@ -94,7 +100,7 @@ constant('JS_STAGE2','$(JS_BUILD_DIR)/stage2');
94100
constant('JS_NQP','./$(M_RUNNER)$(BAT)');
95101

96102

97-
say('js-runner-default: js-all');
103+
out('js-runner-default: js-all');
98104

99105
my $QASTCompiler-combined := combine(:stage(1), :sources('src/vm/js/Utils.nqp src/vm/js/SerializeOnce.nqp src/vm/js/const_map.nqp src/vm/js/LoopInfo.nqp src/vm/js/ReturnInfo.nqp src/vm/js/BlockBarrier.nqp src/vm/js/DWIMYNameMangling.nqp src/vm/js/Chunk.nqp src/vm/js/Operations.nqp src/vm/js/RegexCompiler.nqp src/vm/js/Compiler.nqp'), :file('QASTCompiler.nqp'));
100106

@@ -125,16 +131,16 @@ my $sprintf-moarvm := cross-compile(:stage(2), :source('src/HLL/sprintf.nqp'), :
125131

126132
deps('js-stage1-compiler', '$(JS_STAGE1_COMPILER)');
127133

128-
say('js-test: js-all gen/js/qregex.t
134+
out('js-test: js-all gen/js/qregex.t
129135
perl src/vm/js/bin/run_tests.pl');
130136

131-
say('js-test-bootstrapped: js-bootstrap gen/js/qregex.t
137+
out('js-test-bootstrapped: js-bootstrap gen/js/qregex.t
132138
perl src/vm/js/bin/run_tests_bootstrapped.pl');
133139

134-
say('gen/js/qregex.t: tools/build/process-qregex-tests
140+
out('gen/js/qregex.t: tools/build/process-qregex-tests
135141
$(JS_NQP) tools/build/process-qregex-tests > gen/js/qregex.t');
136142

137-
say("\n\njs-clean:
143+
out("\n\njs-clean:
138144
\$(RM_RF) gen/js/stage1 gen/js/stage2
139145
");
140146

@@ -143,10 +149,10 @@ my $ModuleLoader := "$nqp-js-on-js/ModuleLoader.js";
143149
deps("js-all", 'm-all', 'js-stage1-compiler', $nqpcore-moarvm, $nqpcore-combined, $QASTNode-moarvm, $QRegex-moarvm, $sprintf-moarvm, $ModuleLoader);
144150

145151
# Enforce the google coding standards
146-
say("js-lint:
152+
out("js-lint:
147153
gjslint --strict --max_line_length=200 --nojsdoc src/vm/js/nqp-runtime/*.js");
148154

149-
say('js-install: js-all
155+
out('js-install: js-all
150156
@echo "*** The JavaScript backend can\'t be installed yet, sorry! ***"');
151157

152158
constant('JS_NQP_SOURCES', '$(COMMON_NQP_SOURCES)');
@@ -182,14 +188,17 @@ my $NQPP6QRegex-moarvm := cross-compile(:stage(2), :source($p6qregex-combined),
182188
my $nqp-bootstrapped := "$nqp-js-on-js/nqp-bootstrapped.js";
183189

184190

185-
say("$nqp-js-on-js/ModuleLoader.js: $nqpcore-moarvm src/vm/js/ModuleLoader.nqp \$(JS_STAGE1_COMPILER)
191+
out("$nqp-js-on-js/ModuleLoader.js: $nqpcore-moarvm src/vm/js/ModuleLoader.nqp \$(JS_STAGE1_COMPILER)
186192
./nqp-js --setting=NULL --no-regex-lib --target=js --output $ModuleLoader src/vm/js/ModuleLoader.nqp
187193
");
188194

189-
say("$nqp-bootstrapped: $QAST-moarvm $NQPP5QRegex-moarvm $NQPP6QRegex-moarvm $nqp-combined $QRegex-moarvm
195+
out("$nqp-bootstrapped: $QAST-moarvm $NQPP5QRegex-moarvm $NQPP6QRegex-moarvm $nqp-combined $QRegex-moarvm
190196
./nqp-js --target=js --shebang $nqp-combined > $nqp-bootstrapped
191197
");
192198

193199

194200
deps("js-bootstrap", "js-all", $nqp-bootstrapped);
195201

202+
sub MAIN($program, $output-file) {
203+
spew($output-file, $out);
204+
}

0 commit comments

Comments
 (0)