Skip to content

Commit 100ad78

Browse files
committed
Finish filling out stage1 Makefile for MoarVM.
We now make it through using NQP hosted on MoarVM to compile the NQP sources. Sadly, the output does not yet work.
1 parent 55732de commit 100ad78

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

tools/build/Makefile-Moar.in

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,39 @@ HLL_SOURCES = \
8282
src/HLL/World.nqp \
8383
src/HLL/sprintf.nqp \
8484

85+
MASTOPS_MOAR = MASTOps.moarvm
86+
MASTNODES_MOAR = MASTNodes.moarvm
87+
88+
QAST_MOAR = QAST.moarvm
89+
QAST_COMBINED = gen/QAST.nqp
90+
QAST_SOURCES = \
91+
src/vm/moar/QAST/QASTRegexCompilerMAST.nqp \
92+
src/vm/moar/QAST/QASTOperationsMAST.nqp \
93+
src/vm/moar/QAST/QASTCompilerMAST.nqp \
94+
95+
P6QREGEX_MOAR = NQPP6QRegex.moarvm
96+
P6QREGEX_COMBINED = gen/NQPP6QRegex.nqp
97+
P6QREGEX_SOURCES = \
98+
src/QRegex/P6Regex/Grammar.nqp \
99+
src/QRegex/P6Regex/Actions.nqp \
100+
src/QRegex/P6Regex/Compiler.nqp \
101+
102+
NQP_MOAR = nqp.moarvm
103+
NQP_COMBINED = gen/NQP.nqp
104+
NQP_SOURCES = \
105+
src/NQP/World.nqp \
106+
src/NQP/Grammar.nqp \
107+
src/vm/moar/NQP/Ops.nqp \
108+
src/NQP/Optimizer.nqp \
109+
src/NQP/Actions.nqp \
110+
src/NQP/Compiler.nqp \
111+
85112
STAGE1_OUTPUT = $(STAGE1)/$(NQP_MO_MOAR) $(STAGE1)/$(MODULE_LOADER_MOAR) \
86113
$(STAGE1)/$(CORE_SETTING_MOAR) $(STAGE1)/$(QASTNODE_MOAR) \
87114
$(STAGE1)/$(QREGEX_MOAR) $(STAGE1)/$(HLL_MOAR) \
115+
$(STAGE1)/$(MASTOPS_MOAR) $(STAGE1)/$(MASTNODES_MOAR) \
116+
$(STAGE1)/$(QAST_MOAR) $(STAGE1)/$(P6QREGEX_MOAR) \
117+
$(STAGE1)/$(NQP_MOAR)
88118

89119
all: $(STAGE1)
90120

@@ -130,5 +160,37 @@ $(STAGE1)/$(HLL_MOAR): $(STAGE0) $(HLL_SOURCES) $(STAGE1)/$(QREGEX_MOAR)
130160
--setting=NQPCORE --no-regex-lib --target=mbc \
131161
--output=$(STAGE1)/$(HLL_MOAR) $(STAGE1)/$(HLL_COMBINED)
132162

163+
$(STAGE1)/$(MASTOPS_MOAR): $(STAGE0) $(STAGE1)/$(CORE_SETTING_MOAR) $(PREFIX)/lib/MAST/Ops.nqp
164+
$(STAGE0_NQP) --module-path=$(STAGE1) --setting-path=$(STAGE1) \
165+
--setting=NQPCORE --no-regex-lib --target=mbc \
166+
--output=$(STAGE1)/$(MASTOPS_MOAR) $(PREFIX)/lib/MAST/Ops.nqp
167+
168+
$(STAGE1)/$(MASTNODES_MOAR): $(STAGE0) $(STAGE1)/$(MASTOPS_MOAR) $(PREFIX)/lib/MAST/Nodes.nqp
169+
$(STAGE0_NQP) --module-path=$(STAGE1) --setting-path=$(STAGE1) \
170+
--setting=NQPCORE --no-regex-lib --target=mbc \
171+
--output=$(STAGE1)/$(MASTNODES_MOAR) $(PREFIX)/lib/MAST/Nodes.nqp
172+
173+
$(STAGE1)/$(QAST_MOAR): $(STAGE0) $(QAST_SOURCES) $(STAGE1)/$(HLL_MOAR) $(STAGE1)/$(MASTNODES_MOAR)
174+
$(MKPATH) $(STAGE1)/gen
175+
$(PERL) tools/build/gen-cat.pl moar $(QAST_SOURCES) > $(STAGE1)/$(QAST_COMBINED)
176+
$(STAGE0_NQP) --module-path=$(STAGE1) --setting-path=$(STAGE1) \
177+
--setting=NQPCORE --no-regex-lib --target=mbc \
178+
--output=$(STAGE1)/$(QAST_MOAR) $(STAGE1)/$(QAST_COMBINED)
179+
180+
$(STAGE1)/$(P6QREGEX_MOAR): $(STAGE0) $(P6QREGEX_SOURCES) $(STAGE1)/$(QAST_MOAR)
181+
$(MKPATH) $(STAGE1)/gen
182+
$(PERL) tools/build/gen-cat.pl jvm $(P6QREGEX_SOURCES) > $(STAGE1)/$(P6QREGEX_COMBINED)
183+
$(STAGE0_NQP) --module-path=$(STAGE1) --setting-path=$(STAGE1) \
184+
--setting=NQPCORE --no-regex-lib --target=mbc \
185+
--output=$(STAGE1)/$(P6QREGEX_MOAR) $(STAGE1)/$(P6QREGEX_COMBINED)
186+
187+
$(STAGE1)/$(NQP_MOAR): $(STAGE0) $(NQP_SOURCES) $(STAGE1)/$(P6QREGEX_MOAR)
188+
$(MKPATH) $(STAGE1)/gen
189+
$(PERL) tools/build/gen-version.pl > src/gen/nqp-config.nqp
190+
$(PERL) tools/build/gen-cat.pl jvm $(NQP_SOURCES) src/gen/nqp-config.nqp > $(STAGE1)/$(NQP_COMBINED)
191+
$(STAGE0_NQP) --module-path=$(STAGE1) --setting-path=$(STAGE1) \
192+
--setting=NQPCORE --target=mbc --no-regex-lib \
193+
--output=$(STAGE1)/$(NQP_MOAR) $(STAGE1)/$(NQP_COMBINED)
194+
133195
# nqp::makefile <-- tells NQP::Configure to treat this file as a makefile,
134196
# performing win32 slash and makefile conversions

0 commit comments

Comments
 (0)