Skip to content

Commit 7508c6a

Browse files
committed
First steps towards getting NQP bootstrapping with QRegex. This just twiddles the makefile so we always build QRegex during stage 2, and then build NQPQ as the stage 2 NQP.
1 parent c1c6435 commit 7508c6a

File tree

1 file changed

+20
-35
lines changed

1 file changed

+20
-35
lines changed

tools/build/Makefile.in

Lines changed: 20 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,12 @@ NQP_COMBINED_PIR = gen/NQP.pir
142142
NQP_PBC = nqp.pbc
143143
NQP_EXE = nqp$(EXE)
144144

145+
NQPQ_SOURCES = \
146+
src/NQPQ/SymbolTable.pm \
147+
src/NQPQ/Grammar.pm \
148+
src/NQPQ/Actions.pm \
149+
src/NQPQ/Compiler.pm \
150+
145151
NQP_MO_SOURCES = src/how/Archetypes.pm src/how/RoleToRoleApplier.pm \
146152
src/how/NQPConcreteRoleHOW.pm src/how/RoleToClassApplier.pm \
147153
src/how/NQPParametricRoleHOW.pm src/how/NQPClassHOW.pm \
@@ -493,7 +499,7 @@ CLEANUPS = \
493499
3rdparty/libtommath/*$(O) \
494500
$(DYNEXT_DIR)/*$(LOAD_EXT) \
495501

496-
all: $(NQP_EXE) qregex
502+
all: $(NQP_EXE)
497503

498504
install: all
499505
$(MKPATH) $(DESTDIR)$(PARROT_LIBRARY_DIR)
@@ -613,7 +619,15 @@ $(STAGE2)/$(CORE_SETTING_PBC): $(STAGE1_PBCS) $(STAGE2)/$(NQP_MO_PBC) $(STAGE2)/
613619
--target=pir --output=$(STAGE2)/$(CORE_SETTING_PIR) \
614620
--module-path=$(STAGE2) --setting=NULL $(STAGE2)/$(CORE_SETTING_NQP)
615621
$(PARROT) -o $(STAGE2)/$(CORE_SETTING_PBC) $(STAGE2)/$(CORE_SETTING_PIR)
616-
622+
623+
$(STAGE2)/$(QREGEX_PBC): $(STAGE1_PBCS) $(STAGE2)/$(CORE_SETTING_PBC) $(QREGEX_SOURCES)
624+
$(MKPATH) $(STAGE2)/gen
625+
$(PERL) tools/build/gen-cat.pl $(QREGEX_SOURCES) > $(STAGE2)/$(QREGEX_COMBINED)
626+
$(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
627+
--target=pir --output=$(STAGE2)/$(QREGEX_PIR) \
628+
--module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(QREGEX_COMBINED)
629+
$(PARROT) -o $(STAGE2)/$(QREGEX_PBC) $(STAGE2)/$(QREGEX_PIR)
630+
617631
$(STAGE2)/$(REGEX_PBC): $(DYNEXT_TARGET) $(REGEX_SOURCES) $(STAGE2)/$(CORE_SETTING_PBC)
618632
$(PARROT) -o $(STAGE2)/$(REGEX_PBC) $(REGEX_SOURCES)
619633

@@ -635,10 +649,10 @@ $(STAGE2)/$(P6REGEX_PBC): $(STAGE1_PBCS) $(STAGE2)/$(HLL_PBC) $(P6REGEX_SOURCES)
635649
$(PARROT) --include=$(STAGE2) -o $(STAGE2)/$(P6REGEX_PBC) \
636650
$(STAGE2)/$(P6REGEX_COMBINED_PIR)
637651

638-
$(STAGE2)/$(NQP_PBC): $(STAGE0_PBCS) $(STAGE2)/$(P6REGEX_PBC) $(NQP_SOURCES)
639-
$(MKPATH) $(STAGE1)/gen
652+
$(STAGE2)/$(NQP_PBC): $(STAGE1_PBCS) $(STAGE2)/$(P6REGEX_PBC) $(STAGE2)/$(QREGEX_PBC) $(NQP_SOURCES)
653+
$(MKPATH) $(STAGE2)/gen
640654
$(PERL) tools/build/gen-version.pl >src/gen/nqp-config.pm
641-
$(PERL) tools/build/gen-cat.pl $(NQP_SOURCES) src/gen/nqp-config.pm > $(STAGE2)/$(NQP_COMBINED)
655+
$(PERL) tools/build/gen-cat.pl $(NQPQ_SOURCES) src/gen/nqp-config.pm > $(STAGE2)/$(NQP_COMBINED)
642656
$(PARROT) --library=$(STAGE1) $(STAGE1)/$(NQP_PBC) \
643657
--target=pir --output=$(STAGE2)/$(NQP_COMBINED_PIR) \
644658
--module-path=$(STAGE2) --setting-path=$(STAGE2) $(STAGE2)/$(NQP_COMBINED)
@@ -649,6 +663,7 @@ $(ALL_PBCS): $(STAGE2_PBCS)
649663
$(CP) $(STAGE2)/$(NQP_MO_PBC) .
650664
$(CP) $(STAGE2)/$(MODULE_LOADER_PBC) .
651665
$(CP) $(STAGE2)/$(CORE_SETTING_PBC) .
666+
$(CP) $(STAGE2)/$(QREGEX_PBC) .
652667
$(CP) $(STAGE2)/$(REGEX_PBC) .
653668
$(CP) $(STAGE2)/$(HLL_PBC) .
654669
$(CP) $(STAGE2)/$(P6REGEX_PBC) .
@@ -1002,33 +1017,3 @@ testclean:
10021017

10031018
# nqp::makefile <-- tells Configure.pm to convert / to \ in the above
10041019
# template for Win32 systems
1005-
1006-
nqpq: $(NQPQ_EXE)
1007-
qregex: $(QREGEX_PBC)
1008-
1009-
$(QREGEX_PBC): $(NQP_EXE) $(QREGEX_SOURCES)
1010-
$(MKPATH) $(STAGE2)/gen
1011-
$(PERL) tools/build/gen-cat.pl $(QREGEX_SOURCES) > $(STAGE2)/$(QREGEX_COMBINED)
1012-
./$(NQP_EXE) --target=pir --output=$(STAGE2)/$(QREGEX_PIR) $(STAGE2)/$(QREGEX_COMBINED)
1013-
$(PARROT) -o $(QREGEX_PBC) $(STAGE2)/$(QREGEX_PIR)
1014-
1015-
NQPQ_COMBINED = NQPQ.pm
1016-
NQPQ_COMBINED_PIR = NQPQ.pir
1017-
NQPQ_PBC = nqpq.pbc
1018-
NQPQ_EXE = nqpq$(EXE)
1019-
1020-
NQPQ_SOURCES = \
1021-
src/NQPQ/SymbolTable.pm \
1022-
src/NQPQ/Grammar.pm \
1023-
src/NQPQ/Actions.pm \
1024-
src/NQPQ/Compiler.pm \
1025-
1026-
$(NQPQ_EXE): $(NQPQ_PBC)
1027-
$(PBC_TO_EXE) $(NQPQ_PBC)
1028-
1029-
$(NQPQ_PBC): $(QREGEX_PBC) $(NQPQ_SOURCES)
1030-
$(PERL) tools/build/gen-version.pl >src/gen/nqp-config.pm
1031-
$(PERL) tools/build/gen-cat.pl $(NQPQ_SOURCES) src/gen/nqp-config.pm > $(NQPQ_COMBINED)
1032-
./$(NQP_EXE) --target=pir --output=$(NQPQ_COMBINED_PIR) $(NQPQ_COMBINED)
1033-
$(PARROT) -o $(NQPQ_PBC) $(NQPQ_COMBINED_PIR)
1034-

0 commit comments

Comments
 (0)