Skip to content

Commit f4848dc

Browse files
committed
[parrot] generate nqp in gen/parrot/
currently that nqp is only invocable from gen/parrot/; need to fix that before the build can succeed
1 parent e222b61 commit f4848dc

File tree

1 file changed

+32
-31
lines changed

1 file changed

+32
-31
lines changed

tools/build/Makefile-Parrot.in

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ PARROT_LIBRARY_DIR = $(PARROT_LIB_DIR)/library
1515
NQP_LANG_DIR = $(PARROT_LIB_DIR)/languages/nqp
1616
HAS_ICU = @has_icu@
1717

18+
PARROT_BUILD_DIR = gen/parrot
19+
1820
CC = @cc@
1921
CFLAGS = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @gc_flag@ @optimize@
2022
EXE = @exe@
@@ -137,8 +139,8 @@ STAGE0_SOURCES = \
137139
src/vm/parrot/stage0/NQP-s0.pir
138140

139141
STAGE0 = src/vm/parrot/stage0
140-
STAGE1 = gen/parrot/stage1
141-
STAGE2 = gen/parrot/stage2
142+
STAGE1 = $(PARROT_BUILD_DIR)/stage1
143+
STAGE2 = $(PARROT_BUILD_DIR)/stage2
142144

143145
MODULE_LOADER_PBC = ModuleLoader.pbc
144146

@@ -156,9 +158,9 @@ P6QREGEX_PBC = NQPP6QRegex.pbc
156158
P6QREGEX_COMBINED = gen/NQPP6QRegex.nqp
157159
P6QREGEX_COMBINED_PIR = gen/NQPP6QRegex.pir
158160

159-
P5QREGEX_PBC = NQPP5QRegex.pbc
160-
P5QREGEX_COMBINED = gen/NQPP5QRegex.nqp
161-
P5QREGEX_COMBINED_PIR = gen/NQPP5QRegex.pir
161+
P5QREGEX_PBC = $(PARROT_BUILD_DIR)/NQPP5QRegex.pbc
162+
P5QREGEX_COMBINED = $(PARROT_BUILD_DIR)/NQPP5QRegex.nqp
163+
P5QREGEX_COMBINED_PIR = $(PARROT_BUILD_DIR)/NQPP5QRegex.pir
162164

163165
NQP_COMBINED = gen/NQP.nqp
164166
NQP_COMBINED_PIR = gen/NQP.pir
@@ -190,7 +192,7 @@ CORE_SETTING_PIR = gen/NQPCORE.setting.pir
190192
STAGE0_PBCS = $(STAGE0)/$(NQP_MO_PBC) $(STAGE0)/$(MODULE_LOADER_PBC) $(STAGE0)/$(CORE_SETTING_PBC) $(STAGE0)/$(QASTNODE_PBC) $(STAGE0)/$(QREGEX_PBC) $(STAGE0)/$(HLL_PBC) $(STAGE0)/$(QAST_PBC) $(STAGE0)/$(P6QREGEX_PBC) $(STAGE0)/$(NQP_PBC)
191193
STAGE1_PBCS = $(STAGE1)/$(NQP_MO_PBC) $(STAGE1)/$(MODULE_LOADER_PBC) $(STAGE1)/$(CORE_SETTING_PBC) $(STAGE1)/$(QASTNODE_PBC) $(STAGE1)/$(QREGEX_PBC) $(STAGE1)/$(HLL_PBC) $(STAGE1)/$(QAST_PBC) $(STAGE1)/$(P6QREGEX_PBC) $(STAGE1)/$(NQP_PBC)
192194
STAGE2_PBCS = $(STAGE2)/$(NQP_MO_PBC) $(STAGE2)/$(MODULE_LOADER_PBC) $(STAGE2)/$(CORE_SETTING_PBC) $(STAGE2)/$(QASTNODE_PBC) $(STAGE2)/$(QREGEX_PBC) $(STAGE2)/$(HLL_PBC) $(STAGE2)/$(QAST_PBC) $(STAGE2)/$(P6QREGEX_PBC) $(STAGE2)/$(NQP_PBC)
193-
ALL_PBCS = $(NQP_MO_PBC) $(MODULE_LOADER_PBC) $(CORE_SETTING_PBC) $(QASTNODE_PBC) $(QREGEX_PBC) $(HLL_PBC) $(QAST_PBC) $(P6QREGEX_PBC) $(NQP_PBC)
195+
ALL_PBCS = $(PARROT_BUILD_DIR)/$(NQP_MO_PBC) $(PARROT_BUILD_DIR)/$(MODULE_LOADER_PBC) $(PARROT_BUILD_DIR)/$(CORE_SETTING_PBC) $(PARROT_BUILD_DIR)/$(QASTNODE_PBC) $(PARROT_BUILD_DIR)/$(QREGEX_PBC) $(PARROT_BUILD_DIR)/$(HLL_PBC) $(PARROT_BUILD_DIR)/$(QAST_PBC) $(PARROT_BUILD_DIR)/$(P6QREGEX_PBC) $(PARROT_BUILD_DIR)/$(NQP_PBC)
194196

195197
GROUP = nqp_group
196198
OPS = nqp_ops
@@ -553,7 +555,7 @@ CLEANUPS = \
553555
src/vm/parrot/6model/reprs/*$(O) \
554556
src/vm/parrot/6model/reprs/*.pdb \
555557

556-
all: $(NQP_EXE) $(P5QREGEX_PBC)
558+
all: $(PARROT_BUILD_DIR)/$(NQP_EXE) $(P5QREGEX_PBC)
557559

558560
install: all
559561
$(MKPATH) $(DESTDIR)$(PARROT_LIBRARY_DIR)
@@ -565,11 +567,11 @@ install: all
565567
$(CP) $(QASTNODE_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(QASTNODE_PBC)
566568
$(CP) $(P6QREGEX_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(P6QREGEX_PBC)
567569
$(CP) $(P5QREGEX_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(P5QREGEX_PBC)
568-
$(CP) $(HLL_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(HLL_PBC)
569-
$(CP) $(CORE_SETTING_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(CORE_SETTING_PBC)
570-
$(CP) $(NQP_MO_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(NQP_MO_PBC)
571-
$(CP) $(NQP_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(NQP_PBC)
572-
$(CP) $(QREGEX_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(QREGEX_PBC)
570+
$(CP) $(PARROT_BIN_DIR)/$(HLL_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(HLL_PBC)
571+
$(CP) $(PARROT_BIN_DIR)/$(CORE_SETTING_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(CORE_SETTING_PBC)
572+
$(CP) $(PARROT_BIN_DIR)/$(NQP_MO_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(NQP_MO_PBC)
573+
$(CP) $(PARROT_BIN_DIR)/$(NQP_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(NQP_PBC)
574+
$(CP) $(PARROT_BIN_DIR)/$(QREGEX_PBC) $(DESTDIR)$(NQP_LANG_DIR)/lib/$(QREGEX_PBC)
573575
$(MKPATH) $(DESTDIR)$(PARROT_BIN_DIR)
574576
$(CP) $(NQP_EXE) $(DESTDIR)$(PARROT_BIN_DIR)/nqp$(EXE)
575577
$(CHMOD) 755 $(DESTDIR)$(PARROT_BIN_DIR)/nqp$(EXE)
@@ -758,25 +760,24 @@ $(STAGE2)/$(NQP_PBC): $(STAGE1_PBCS) $(STAGE2)/$(P6QREGEX_PBC) $(NQP_SOURCES)
758760
$(STAGE2)/$(NQP_COMBINED_PIR)
759761

760762
$(ALL_PBCS): $(STAGE2_PBCS)
761-
$(CP) $(STAGE2)/$(NQP_MO_PBC) .
762-
$(CP) $(STAGE2)/$(MODULE_LOADER_PBC) .
763-
$(CP) $(STAGE2)/$(CORE_SETTING_PBC) .
764-
$(CP) $(STAGE2)/$(QASTNODE_PBC) .
765-
$(CP) $(STAGE2)/$(QREGEX_PBC) .
766-
$(CP) $(STAGE2)/$(HLL_PBC) .
767-
$(CP) $(STAGE2)/$(QAST_PBC) .
768-
$(CP) $(STAGE2)/$(P6QREGEX_PBC) .
769-
$(CP) $(STAGE2)/$(NQP_PBC) .
770-
771-
$(NQP_EXE): $(NQP_PBC) $(PARROT_DLL_COPY)
772-
$(PBC_TO_EXE) $(NQP_PBC)
773-
774-
$(P5QREGEX_PBC): $(NQP_EXE) $(P5QREGEX_SOURCES)
775-
$(MKPATH) $(STAGE2)/gen
776-
$(PERL) tools/build/gen-cat.pl parrot $(P5QREGEX_SOURCES) > $(STAGE2)/$(P5QREGEX_COMBINED)
777-
./$(NQP_EXE) --target=pir --output=$(STAGE2)/$(P5QREGEX_COMBINED_PIR) \
778-
$(STAGE2)/$(P5QREGEX_COMBINED)
779-
$(PARROT) -o $(P5QREGEX_PBC) $(STAGE2)/$(P5QREGEX_COMBINED_PIR)
763+
$(CP) $(STAGE2)/$(NQP_MO_PBC) $(PARROT_BUILD_DIR)
764+
$(CP) $(STAGE2)/$(MODULE_LOADER_PBC) $(PARROT_BUILD_DIR)
765+
$(CP) $(STAGE2)/$(CORE_SETTING_PBC) $(PARROT_BUILD_DIR)
766+
$(CP) $(STAGE2)/$(QASTNODE_PBC) $(PARROT_BUILD_DIR)
767+
$(CP) $(STAGE2)/$(QREGEX_PBC) $(PARROT_BUILD_DIR)
768+
$(CP) $(STAGE2)/$(HLL_PBC) $(PARROT_BUILD_DIR)
769+
$(CP) $(STAGE2)/$(QAST_PBC) $(PARROT_BUILD_DIR)
770+
$(CP) $(STAGE2)/$(P6QREGEX_PBC) $(PARROT_BUILD_DIR)
771+
$(CP) $(STAGE2)/$(NQP_PBC) $(PARROT_BUILD_DIR)
772+
773+
$(PARROT_BUILD_DIR)/$(NQP_EXE): $(PARROT_BUILD_DIR)/$(NQP_PBC) $(PARROT_DLL_COPY)
774+
cd $(PARROT_BUILD_DIR) && $(PBC_TO_EXE) $(NQP_PBC)
775+
776+
$(P5QREGEX_PBC): $(PARROT_BUILD_DIR)/$(NQP_EXE) $(P5QREGEX_SOURCES)
777+
$(PERL) tools/build/gen-cat.pl parrot $(P5QREGEX_SOURCES) > $(P5QREGEX_COMBINED)
778+
$(PARROT_BUILD_DIR)/$(NQP_EXE) --library=$(PARROT_BUILD_DIR) --target=pir --output=$(P5QREGEX_COMBINED_PIR) \
779+
$(P5QREGEX_COMBINED)
780+
$(PARROT) --library=$(PARROT_BUILD_DIR) -o $(P5QREGEX_PBC) $(P5QREGEX_COMBINED_PIR)
780781

781782
@make_dllcopy@
782783

0 commit comments

Comments
 (0)