Skip to content

Commit

Permalink
MoarVM backend currently builds
Browse files Browse the repository at this point in the history
  • Loading branch information
vrurg committed Sep 3, 2019
1 parent f9ee604 commit ae30136
Show file tree
Hide file tree
Showing 5 changed files with 189 additions and 237 deletions.
130 changes: 109 additions & 21 deletions tools/templates/Makefile-backend-common.in
Expand Up @@ -19,12 +19,14 @@
@bsv(PERL6_P)@ = @nfp(@bpm(BLIB_DIR)@/Pod.@bext@)@
@bsv(PERL6_C)@ = @nfp(@bpm(BLIB_DIR)@/Compiler.@bext@)@
@bsv(PERL6_M)@ = @nfp(@bpm(BLIB_DIR)@/Metamodel.@bext@)@
@for_specs(@bsv(PERL6_BOOTSTRAP)@ = @nfp(blib/Perl6/BOOTSTRAP/v6@lcspec@.@bext@)@
@for_specs(@bsv(PERL6_BOOTSTRAP_@ucspec@)@ = @nfp(blib/Perl6/BOOTSTRAP/v6@lcspec@.@bext@)@
@bsv(SETTING_@ucspec@)@ = CORE.@lcspec@.setting.@bext@
)@

@bsv(PERL6_ML_SRC)@ = @nfp(src/vm/@backend@/ModuleLoaderVMConfig.nqp src/Perl6/ModuleLoader.nqp)@ @bpm(ML_EXTRA)@
@bsv(PERL6_OPS_SRC)@ = @nfp(src/vm/@backend@/Perl6/Ops.nqp src/Perl6/Ops.nqp)@
@bsv(PERL6_ML_SRC)@ = @nfp(src/vm/@backend@/ModuleLoaderVMConfig.nqp src/Perl6/ModuleLoader.nqp)@ @bpm(ML_EXTRA)@
@bsv(PERL6_OPS_SRC)@ = @nfp(src/vm/@backend@/Perl6/Ops.nqp src/Perl6/Ops.nqp)@
@bsv(PERL6_A_SRC)@ = @nfpl(src/Perl6/Actions.nqp src/Perl6/PodActions.nqp)@
@bsv(PERL6_G_SRC)@ = @nfpl(src/Perl6/Grammar.nqp src/Perl6/PodGrammar.nqp)@

@bsv(METAMODEL_ALL_SOURCES)@ = $(COMMON_METAMODEL_SOURCES) \
@bsm(METAMODEL_SOURCES)@
Expand All @@ -49,18 +51,13 @@
)@
@bpv(CORE_ALL_SOURCES)@ =@for_specs( @bpm(CORE_@ucspec@_SOURCES)@)@

@for_specs(@bsv(PERL6_BOOTSTRAP)@ = @nfp(blib/Perl6/BOOTSTRAP/v6@lcspec@.@bext@)@
@bsv(SETTING)@ = CORE.@lcspec@.setting.@bext@
)@

@bpv(PERL6_PRECOMPS)@ = \
@bsm(PERL6_ML)@ @bsm(PERL6_W)@ @bsm(PERL6_G)@ @bsm(PERL6_OPS)@ \
@bsm(PERL6_A)@ @bsm(PERL6_O)@ @bsm(PERL6_P)@ @bsm(PERL6_C)@ \
@bsm(PERL6_M)@

@bpv(PERL6_BOOTSTRAP_PRECOMPS)@ =@for_specs( @bsm(PERL6_BOOTSTRAP)@)@
@bpv(PERL6_BOOTSTRAP_PRECOMPS)@ =@for_specs( @bsm(PERL6_BOOTSTRAP_@ucspec@)@)@

@bpv(DEBUG_RUNNER)@ = perl6-debug-@backend_abbr@@bpm(RUNNER_SUFFIX)@
@bpv(RUNNER)@ = perl6-@backend_abbr@@bpm(RUNNER_SUFFIX)@

@bsv(PERL6_DEBUG)@ = perl6-debug.@bext@
Expand All @@ -72,33 +69,124 @@
@bsm(SETTING_@ucspec@)@ \)@
@bsm(PERL6)@ \
@backend_prefix@-rakudo_test_run.tar.gz \
@nfp(@bpm(BUILD_DIR)@/*)@ \
@nfp(@bpm(BUILD_DIR)@/*.nqp)@ \
@nfp(@bpm(BUILD_DIR)@/*.setting)@ \
@nfp(@bpm(BUILD_DIR)@/core_sources.*)@ \
@nfp(@bpm(BUILD_DIR)@/BOOTSTRAP/*.nqp)@ \
@bsm(PERL6_DEBUG)@ \
@bpm(DEBUG_RUNNER)@ \
@bpm(RUNNER)@ \_DLL
@bpm(RUNNER)@ \
@bpm(CLEANUPS)@

@bpv(HARNESS5)@ = $(PERL5) @nfp(t/harness5)@ --@backend@
@bpv(HARNESS5_WITH_FUDGE)@ = @bpm(HARNESS5)@ --fudge --keep-exit-code

# --- Pattern rules ---

# Auto-generate gen/<backend>/<combined>.nqp from sources.
@nfp(@bpm(BUILD_DIR)@/%.nqp)@:
@bpm(NQP)@ @bpm(GEN_CAT)@ $? > $@
@echo "+++ Generating\t$@"
@noecho@@bpm(NQP)@ @bpm(GEN_CAT)@ $^ > $@

# Auto-generate pre-compiled bytecode from source in gen/<backend>/<source>.nqp

@nfp(@bpm(BLIB_DIR)@/BOOTSTRAP/v6%.@bext@)@ : @nfp(@bpm(BUILD_DIR)@/BOOTSTRAP/v6%.nqp)@
@echo "+++ Compiling\t$@"
@noecho@@bpm(NQP_RR)@ --module-path=blib --target=@btarget@ --output=$@ @bpm(COMPILER_OPTS_EXTRA)@ $<

@nfp(@bpm(BLIB_DIR)@/%.@bext@)@ : @nfp(@bpm(BUILD_DIR)@/%.nqp)@
@echo BUILDING $@
@bpm(NQP)@ --module-path=blib --target=@btarget@ --output=$@ $<
@echo "+++ Compiling\t$@"
@noecho@@bpm(NQP)@ --module-path=blib --target=@btarget@ --output=$@ $<

@backend_prefix@-all: check_@backend_prefix@_nqp_version @bsm(PERL6)@@for_specs( @bsm(SETTING_@ucspec@)@)@ @bpm(RUNNER)@ @bpm(DEBUG_RUNNER)@ @bsm(PERL6_DEBUG)@ @bpm(ALL_TARGETS)@)
@nfp(./%.@bext@)@: @nfp(@bpm(BUILD_DIR)@/%.nqp)@
@echo "+++ Compiling\t$@"
@noecho@@bpm(NQP_RR)@ --module-path=blib --target=@btarget@ --output=$@ @bpm(COMPILER_OPTS_EXTRA)@ $<

check_@backend_abbr@_nqp_version: @@script(check-nqp-version.pl)@@
$(PERL5) @shquot(@script(check-nqp-version.pl)@)@ @bpm(NQP)@
@backend_prefix@-all: check_@backend_prefix@_nqp_version @bsm(PERL6)@@for_specs( @bsm(SETTING_@ucspec@)@)@ @bpm(RUNNER)@ @bpm(DEBUG_RUNNER)@ @bsm(PERL6_DEBUG)@ @bpm(ALL_TARGETS)@

@backend_prefix@-test: @backend_prefix@-coretest

@backend_prefix@-test5: @backend_prefix@-coretest5

@backend_prefix@fulltest: @backend_prefix@coretest @backend_prefix@stresstest

@backend_prefix@coretest: @backend_prefix@all @backend_prefix@coretest@bpm(HARNESS_TYPE)@

@nfp(@bpm(BUILD_DIR)@/ModuleLoader.nqp)@: @bsm(PERL6_ML_SRC)@
@backend_prefix@spectest: @backend_prefix@spectest@bpm(HARNESS_TYPE)@

@nfp(@bpm(BUILD_DIR)@/Ops.nqp)@: @bsm(PERL6_OPS_SRC)@
@backend_prefix@quicktest: @backend_prefix@quicktest@bpm(HARNESS_TYPE)@

@bsm(PERL6_ML)@: @nfp(@bpm(BUILD_DIR)@/ModuleLoader.nqp)@ @nfp(gen/nqp-version)@
@backend_prefix@stresstest: @backend_prefix@stresstest@bpm(HARNESS_TYPE)@

@bsm(PERL6_OPS)@: @nfp(@bpm(BUILD_DIR)@/Ops.nqp)@ @bpm(PERL6_OPS_EXTRA)@ @nfp(gen/nqp-version)@
@backend_prefix@coretest5: @backend_prefix@all
@bpm(HARNESS5)@ @nfpl(t/01-sanity t/02-rakudo t/04-nativecall t/05-messages t/06-telemetry t/07-pod-to-text t/08-performance t/09-moar t/10-qast)@

# Run the spectests that we know work.
@backend_prefix@spectest5: @backend_prefix@testable $(SPECTEST_DATA)
@bpm(HARNESS5_WITH_FUDGE)@ --tests-from-file=$(SPECTEST_DATA)

# Run the spectests that we know work after precompiling them.
@backend_prefix@spectest5_precompile: @backend_prefix@testable $(SPECTEST_DATA)
@bpm(HARNESS5_WITH_FUDGE)@ --precompile --tests-from-file=$(SPECTEST_DATA)

@backend_prefix@spectest_full5: @backend_prefix@testable
@bpm(HARNESS5_WITH_FUDGE)@ @nfp(t/spec)@

@backend_prefix@quicktest5: @backend_prefix@testable $(SPECTEST_DATA)
@bpm(HARNESS5_WITH_FUDGE)@ --tests-from-file=$(SPECTEST_DATA) --quick

@backend_prefix@stresstest5: @backend_prefix@testable $(SPECTEST_DATA)
@bpm(HARNESS5_WITH_FUDGE)@ --tests-from-file=$(SPECTEST_DATA) --stress

@backend_prefix@testable : @backend_prefix@all spectest_checkout spectest_update

check_@backend_abbr@_nqp_version: @@script(check-nqp-version.pl)@@
@echo "+++ Checking for @backend@ NQP version"
@noecho@$(PERL5) @shquot(@script(check-nqp-version.pl)@)@ @bpm(NQP)@

# gen-cat sources into gen/<backend>
@nfp(@bpm(BUILD_DIR)@/Actions.nqp)@: @bsm(PERL6_A_SRC)@
@nfp(@bpm(BUILD_DIR)@/Compiler.nqp)@: @nfp(src/Perl6/Compiler.nqp)@
@nfp(@bpm(BUILD_DIR)@/Grammar.nqp)@: @bsm(PERL6_G_SRC)@
@nfp(@bpm(BUILD_DIR)@/Metamodel.nqp)@: @bsm(METAMODEL_ALL_SOURCES)@
@nfp(@bpm(BUILD_DIR)@/ModuleLoader.nqp)@: @bsm(PERL6_ML_SRC)@
@nfp(@bpm(BUILD_DIR)@/Ops.nqp)@: @bsm(PERL6_OPS_SRC)@
@nfp(@bpm(BUILD_DIR)@/Optimizer.nqp)@: @nfp(src/Perl6/Optimizer.nqp)@
@nfp(@bpm(BUILD_DIR)@/Pod.nqp)@: @nfp(src/Perl6/Pod.nqp)@
@nfp(@bpm(BUILD_DIR)@/World.nqp)@: @nfp(src/Perl6/World.nqp)@
@nfp(@bpm(BUILD_DIR)@/perl6.nqp)@: @nfp(@bpm(BUILD_DIR)@/main-version.nqp)@ @nfp(src/main.nqp)@
@nfp(@bpm(BUILD_DIR)@/perl6-debug.nqp)@: @nfp(src/perl6-debug.nqp)@ @nfp(@bpm(BUILD_DIR)@/main-version.nqp)@

# Generate precompilations
@bsm(PERL6_A)@: @nfp(@bpm(BUILD_DIR)@/Actions.nqp)@ @bsm(PERL6_P)@ @bsm(PERL6_OPS)@
@bsm(PERL6_C)@: @nfp(@bpm(BUILD_DIR)@/Compiler.nqp)@ @bsm(PERL6_O)@
@bsm(PERL6_G)@: @nfp(@bpm(BUILD_DIR)@/Grammar.nqp)@ @bsm(PERL6_W)@ @bsm(PERL6_A)@ @bsm(PERL6_P)@
@bsm(PERL6_M)@: @nfp(@bpm(BUILD_DIR)@/Metamodel.nqp)@ @bsm(PERL6_OPS)@
@bsm(PERL6_ML)@: @nfp(@bpm(BUILD_DIR)@/ModuleLoader.nqp)@ @nfp(gen/nqp-version)@
@bsm(PERL6_OPS)@: @nfp(@bpm(BUILD_DIR)@/Ops.nqp)@ @bpm(PERL6_OPS_EXTRA)@ @nfp(gen/nqp-version)@
@bsm(PERL6_O)@: @nfp(@bpm(BUILD_DIR)@/Optimizer.nqp)@ @bsm(PERL6_OPS)@
@bsm(PERL6_P)@: @nfp(@bpm(BUILD_DIR)@/Pod.nqp)@ @nfp(gen/nqp-version)@
@bsm(PERL6_W)@: @nfp(@bpm(BUILD_DIR)@/World.nqp)@ @bsm(PERL6_ML)@ @bsm(PERL6_OPS)@ @bsm(PERL6_P)@

@nfp(@bpm(BUILD_DIR)@/main-version.nqp)@: @@template(main-version)@@ $(CONFIGURE_SOURCES) @bsm(METAMODEL_ALL_SOURCES)@@for_specs( @bpm(BOOTSTRAP_@ucspec_SOURCES)@ @bpm(CORE_@ucspec@_SOURCES)@)@
@echo "+++ Expanding\t$@"
@noecho@$(CONFIGURE) --expand main-version --out @nfpq(@bpm(BUILD_DIR)@/main-version.nqp)@

@bsm(PERL6)@: @nfp(@bpm(BUILD_DIR)@/perl6.nqp)@ @bsm(PERL6_G)@ @bsm(PERL6_A)@ @bsm(PERL6_C)@ @bsm(PERL6_P)@ @bpm(PERL6_DEPS_EXTRA)@

@bsm(PERL6_DEBUG)@: @nfp(@bpm(BUILD_DIR)@/perl6-debug.nqp)@ @bsm(PERL6)@

@for_specs(@nfp(@bpm(BUILD_DIR)@/BOOTSTRAP/v6@lcspec@.nqp)@: @bpm(BOOTSTRAP_@ucspec@_SOURCES)@

@bsm(PERL6_BOOTSTRAP_@ucspec@)@: @nfp(@bpm(BUILD_DIR)@/BOOTSTRAP/v6@lcspec@.nqp)@ @bsm(PERL6_M)@

@bsm(SETTING_@ucspec@)@: @bsm(PERL6)@ @bsm(PERL6_BOOTSTRAP_@ucspec@)@ @bpm(CORE_ALL_SOURCES)@
@echo "+++ Compiling\t$@"
@noecho@$(CONFIGURE) --expand @shquot(@ctx_template(core_sources)@)@ \
--out @nfpq(@bpm(BUILD_DIR)@/core_sources.@lcspec@)@ \
--set-var=backend=@backend@
@noecho@@bpm(NQP)@ @bpm(GEN_CAT)@ -f @nfpq(@bpm(BUILD_DIR)@/core_sources.@lcspec@)@ > @nfpq(@bpm(BUILD_DIR)@/CORE.@lcspec@.setting)@
@echo "The following step can take a long time, please be patient."
@noecho@@bpm(SET_NQP_LIB)@@bpm(RUN_PERL6)@ --setting=NULL.@lcspec@ --ll-exception --optimize=3 --target=@btarget@ --stagestats --output=@bsm(SETTING_@ucspec@)@ @nfpq(@bpm(BUILD_DIR)@/CORE.@lcspec@.setting)@

)@
111 changes: 30 additions & 81 deletions tools/templates/jvm/Makefile.in
Expand Up @@ -9,20 +9,20 @@ NQP_PREFIX = @nqp_prefix@

@bpv(RUNNER_SUFFX)@ = @runner_suffix@

@bpv(DEBUG_RUNNER)@ = perl6-debug-@backend_abbr@@bpm(RUNNER_SUFFIX)@

NQP_JARS = @nqp_jars@
BLD_NQP_JARS = @bld_nqp_jars@

RUNTIME_JAVAS = @nfp(src/vm/jvm/runtime/org/perl6/rakudo/*.java)@
RUNTIME_JAR = rakudo-runtime.jar

@include(Makefile-backend-common)@

@bpv(BAT)@ = @runner_suffix@

# This is addition to J_ALL_METAMODEL_SOURCES
@bsv(METAMODEL_SOURCES)@ = @nfp(src/vm/jvm/Perl6/Metamodel/JavaHOW.nqp)@

@bpv(ALL_TARGETS)@ = eval-client.pl
@bpv(ALL_TARGETS)@ = eval-client.pl @bpm(DEBUG_RUNNER)@

@bpv(CLEANUPS)@ = \
$(RUNTIME_JAR) \
Expand All @@ -31,66 +31,36 @@ RUNTIME_JAR = rakudo-runtime.jar
eval-client.pl

@bpv(ML_EXTRA)@ = @nfp(src/vm/jvm/Perl6/JavaModuleLoader.nqp)@
@bpv(PERL6_DEPS_EXTRA)@ = $(RUNTIME_JAR)

@bpv(COMPILER_OPTS_EXTRA)@ = --javaclass=perl6

@bpv(HARNESS_TYPE)@ = 5

@include(Makefile-backend-common)@

$(RUNTIME_JAR): $(RUNTIME_JAVAS)
$(MKPATH) bin
$(JAVAC) --release 9 -cp @q($(BLD_NQP_JARS))@ -g -d bin -encoding UTF8 $(RUNTIME_JAVAS)
$(JAR) cf0 rakudo-runtime.jar -C bin@slash@ .

@bsm(PERL6_W)@: @bsm(PERL6_ML)@ @bsm(PERL6_OPS)@ @bsm(PERL6_P)@ @nfp(src/Perl6/World.nqp)@
$(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_W)@ \
@nfp(src/Perl6/World.nqp)@

@bsm(PERL6_P)@: @nfpl(src/Perl6/Pod.nqp gen/nqp-version)@
$(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_P)@ \
@nfp(src/Perl6/Pod.nqp)@

@bsm(PERL6_A)@: @nfp(src/Perl6/Actions.nqp)@ @bsm(PERL6_P)@ @bsm(PERL6_OPS)@
$(J_NQP) $(J_GEN_CAT) @nfpl(src/Perl6/Actions.nqp \
src/Perl6/PodActions.nqp)@ > @nfpq($(J_BUILD_DIR)/Perl6-Actions.nqp)@
$(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_A)@ \
@nfpq($(J_BUILD_DIR)/Perl6-Actions.nqp)@

@bsm(PERL6_G)@: @nfp(src/Perl6/Grammar.nqp)@ @bsm(PERL6_W)@ @bsm(PERL6_A)@ @bsm(PERL6_P)@
$(J_NQP) $(J_GEN_CAT) @nfpl(src/Perl6/Grammar.nqp \
src/Perl6/PodGrammar.nqp)@ > @nfpq($(J_BUILD_DIR)/Perl6-Grammar.nqp)@
$(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_G)@ \
@nfpq($(J_BUILD_DIR)/Perl6-Grammar.nqp)@

@bsm(PERL6_O)@: @nfp(src/Perl6/Optimizer.nqp)@ @bsm(PERL6_OPS)@
$(J_NQP) $(J_GEN_CAT) @nfp(src/Perl6/Optimizer.nqp)@ > @nfpq($(J_BUILD_DIR)/Perl6-Optimizer.nqp)@
$(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_O)@ \
@nfpq($(J_BUILD_DIR)/Perl6-Optimizer.nqp)@

@bsm(PERL6_C)@: @nfp(src/Perl6/Compiler.nqp)@ @bsm(PERL6_O)@
$(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_C)@ \
@nfp(src/Perl6/Compiler.nqp)@

@bsm(PERL6)@: @nfp(src/main.nqp)@ $(RUNTIME_JAR) @bsm(PERL6_G)@ @bsm(PERL6_A)@ @bsm(PERL6_C)@ @bsm(PERL6_P)@ $(J_METAMODEL_SOURCES) $(J_CORE_SOURCES)@for_specs( $(J_BOOTSTRAP_@ucspec@_SOURCES) $(J_CORE_@ucspec@_SOURCES))@
$(CONFIGURE) --expand main-version --out @nfpq($(J_BUILD_DIR)/main-version.nqp)@
$(J_NQP) $(J_GEN_CAT) @nfp(src/main.nqp)@ @nfpq($(J_BUILD_DIR)/main-version.nqp)@ > @nfpq($(J_BUILD_DIR)/main.nqp)@
$(J_NQP) --module-path=blib --target=jar --javaclass=perl6 --output=@bsm(PERL6)@ \
@nfpq($(J_BUILD_DIR)/main.nqp)@

@bsm(PERL6_M)@: $(J_METAMODEL_SOURCES) @bsm(PERL6_OPS)@
$(J_NQP) $(J_GEN_CAT) $(J_METAMODEL_SOURCES) > @nfpq($(J_BUILD_DIR)/Metamodel.nqp)@
$(J_NQP) --module-path=blib --target=jar --output=@bsm(PERL6_M)@ \
@nfpq($(J_BUILD_DIR)/Metamodel.nqp)@

@for_specs(@bsm(PERL6_BOOTSTRAP_@ucspec@)@: $(J_BOOTSTRAP_@ucspec@_SOURCES) @bsm(PERL6_M)@
$(J_NQP) $(J_GEN_CAT) $(J_BOOTSTRAP_@ucspec@_SOURCES) > @nfpq($(J_BUILD_DIR)/Perl6-BOOTSTRAP.@lcspec@.nqp)@
$(J_RUN_NQP_RR) --module-path=blib --target=jar --output=@bsm(PERL6_BOOTSTRAP_@ucspec@)@ @nfpq($(J_BUILD_DIR)/Perl6-BOOTSTRAP.@lcspec@.nqp)@

@bsm(SETTING_@ucspec@)@: @bsm(PERL6)@ @bsm(PERL6_BOOTSTRAP_@ucspec@)@ $(J_CORE_ALL_SOURCES)
$(CONFIGURE) --expand @shquot(@ctx_template(core_sources)@)@ \
--out @nfpq($(J_BUILD_DIR)/core_sources.@lcspec@)@ \
--set-var=backend=@backend@
$(J_NQP) $(J_GEN_CAT) -f @nfpq($(J_BUILD_DIR)/core_sources.@lcspec@)@ > @nfpq($(J_BUILD_DIR)/CORE.@lcspec@.setting)@
@echo "The following step can take a long time, please be patient."
$(J_SET_NQP_LIB)$(J_RUN_PERL6) --setting=NULL.@lcspec@ --ll-exception --optimize=3 --target=jar --stagestats --output=@bsm(SETTING_@ucspec@)@ --nqp-lib=blib @nfpq($(J_BUILD_DIR)/CORE.@lcspec@.setting)@
)@
@echo "+++ Generating\t$@"
@noecho@$(MKPATH) bin
@noecho@$(JAVAC) --release 9 -cp @q($(BLD_NQP_JARS))@ -g -d bin -encoding UTF8 $(RUNTIME_JAVAS)
@noecho@$(JAR) cf0 rakudo-runtime.jar -C bin@slash@ .

#@bsm(PERL6)@: @nfp(src/main.nqp)@ $(RUNTIME_JAR) @bsm(PERL6_G)@ @bsm(PERL6_A)@ @bsm(PERL6_C)@ @bsm(PERL6_P)@ $(J_METAMODEL_SOURCES) $(J_CORE_SOURCES)@for_specs( $(J_BOOTSTRAP_@ucspec@_SOURCES) $(J_CORE_@ucspec@_SOURCES))@
# $(J_NQP) --module-path=blib --target=jar --javaclass=perl6 --output=@bsm(PERL6)@ \
# @nfpq($(J_BUILD_DIR)/main.nqp)@

#@for_specs(@bsm(PERL6_BOOTSTRAP_@ucspec@)@: $(J_BOOTSTRAP_@ucspec@_SOURCES) @bsm(PERL6_M)@
# $(J_NQP) $(J_GEN_CAT) $(J_BOOTSTRAP_@ucspec@_SOURCES) > @nfpq($(J_BUILD_DIR)/Perl6-BOOTSTRAP.@lcspec@.nqp)@
# $(J_RUN_NQP_RR) --module-path=blib --target=jar --output=@bsm(PERL6_BOOTSTRAP_@ucspec@)@ @nfpq($(J_BUILD_DIR)/Perl6-BOOTSTRAP.@lcspec@.nqp)@
#
#@bsm(SETTING_@ucspec@)@: @bsm(PERL6)@ @bsm(PERL6_BOOTSTRAP_@ucspec@)@ $(J_CORE_ALL_SOURCES)
# $(CONFIGURE) --expand @shquot(@ctx_template(core_sources)@)@ \
# --out @nfpq($(J_BUILD_DIR)/core_sources.@lcspec@)@ \
# --set-var=backend=@backend@
# $(J_NQP) $(J_GEN_CAT) -f @nfpq($(J_BUILD_DIR)/core_sources.@lcspec@)@ > @nfpq($(J_BUILD_DIR)/CORE.@lcspec@.setting)@
# @echo "The following step can take a long time, please be patient."
# $(J_SET_NQP_LIB)$(J_RUN_PERL6) --setting=NULL.@lcspec@ --ll-exception --optimize=3 --target=jar --stagestats --output=@bsm(SETTING_@ucspec@)@ --nqp-lib=blib @nfpq($(J_BUILD_DIR)/CORE.@lcspec@.setting)@
#)@
$(J_RUNNER): @@script(create-jvm-runner.pl)@@
$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ dev . . @q($(NQP_PREFIX))@ --nqp-lib=blib @q($(NQP_JARS))@

Expand All @@ -103,42 +73,21 @@ j-runner-default: j-all
$(J_NQP) --module-path=blib --target=jar --javaclass=perl6-debug --output=@bsm(PERL6_DEBUG)@ \
@nfpq($(J_BUILD_DIR)/perl6-debug.nqp)@

$(J_DEBUG_RUNNER): @@script(create-jvm-runner.pl)@@ @bsm(PERL6_DEBUG)@
@bpm(DEBUG_RUNNER)@: @@script(create-jvm-runner.pl)@@ @bsm(PERL6_DEBUG)@
$(PERL5) @shquot(@script(create-jvm-runner.pl)@)@ dev-debug . . @q($(NQP_PREFIX))@ --nqp-lib=blib @q($(NQP_JARS))@

eval-client.pl:
$(CP) @nfpq($(SDKROOT)$(NQP_PREFIX)/bin/eval-client.pl)@ .

## testing targets
j-test : j-coretest

j-fulltest: j-coretest j-stresstest

j-coretest: j-all
$(J_HARNESS5) @nfpl(t/01-sanity t/02-rakudo t/03-jvm t/04-nativecall t/05-messages t/06-telemetry t/07-pod-to-text t/08-performance t/10-qast)@

# Run the spectests that we know work.
j-spectest: j-testable $(SPECTEST_DATA)
$(J_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA)

j-spectest_full: j-testable
$(J_HARNESS5_WITH_FUDGE) @nfp(t/spec)@

j-quicktest: j-testable $(SPECTEST_DATA)
$(J_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) --quick

j-stresstest: j-testable $(SPECTEST_DATA)
$(J_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) --stress

j-rakudo_test_run.tar.gz: j-testable $(SPECTEST_DATA)
- $(J_HARNESS5_WITH_FUDGE) --tests-from-file=$(SPECTEST_DATA) --archive j-rakudo_test_run.tar.gz

#spectest_smolder: rakudo_test_run.tar.gz
# ./perl6 -e "shell qqx[git log -1 --pretty=format:%H].fmt(qq[curl -F architecture=@cpuarch@ -F platform=@osname@ -F revision=%s -F report_file=@rakudo_test_run.tar.gz -F username=parrot-autobot -F password=qa_rocks http://smolder.parrot.org/app/projects/process_add_report/5])"

j-testable : j-all spectest_checkout spectest_update


# Run the tests in t/localtest.data
j-localtest: j-all spectest_checkout @nfp(t/localtest.data)@
@$(J_HARNESS5_WITH_FUDGE) --tests-from-file=@nfp(t/localtest.data)@
Expand Down
7 changes: 4 additions & 3 deletions tools/templates/moar/Makefile-gen-c-runner.in
@@ -1,5 +1,6 @@
@exec_name@: @nfp(src/vm/moar/runner/main.c)@
$(RM_F) $@
@echo "+++ Compiling\t$@"
@noecho@$(RM_F) $@
# Using only the pkgconfig moar includes does not work, because moar.h assumes all the specific includes below.
$(M_CC) @moar::ccswitch@ @exec_path_define@ @static_nqp_home_define@ @static_perl6_home_define@ @debug_flag@ $(M_CFLAGS) $(M_MOAR_INC_PATHS) @moar::ccout@@obj_file@@moar::obj@ @nfp(src/vm/moar/runner/main.c)@
$(M_LD) @moar::ldout@$@ $(M_LDFLAGS) $(M_MINGW_UNICODE) @obj_file@@moar::obj@ @moar::lddir@"@moar::libdir@" @c_runner_libs@ @moar_lib@
@noecho@@bpm(CC)@ @moar::ccswitch@ @exec_path_define@ @static_nqp_home_define@ @static_perl6_home_define@ @debug_flag@ @bpm(CFLAGS)@ @bpm(MOAR_INC_PATHS)@ @moar::ccout@@obj_file@@moar::obj@ @nfp(src/vm/moar/runner/main.c)@
@noecho@@bpm(LD)@ @moar::ldout@$@ @bpm(LDFLAGS)@ @bpm(MINGW_UNICODE)@ @obj_file@@moar::obj@ @moar::lddir@"@moar::libdir@" @c_runner_libs@ @moar_lib@
9 changes: 5 additions & 4 deletions tools/templates/moar/Makefile-gen-runner.in
@@ -1,8 +1,9 @@
$(M_@uc(@toolchain@)@_RUNNER): @@configure_script@@ $(M_C_RUNNER) $(PERL6_MOAR) $(SETTING_MOAR) @@template(perl6-@toolchain@-m)@@ @@template(perl6-debug-notice)@@ @@template(sh-prelude)@@
$(RM_F) $(M_@uc(@toolchain@)@_RUNNER)
$(CONFIGURE) --expand @nfpq(@backend_subdir@/perl6-@toolchain@-m)@ --out @nfpq(perl6-@toolchain@-m)@ \
@bpm(@uc(@toolchain@)@_RUNNER)@: @@configure_script@@ @bpm(C_RUNNER)@ @bsm(PERL6)@ @bsm(SETTING)@ @@template(perl6-@toolchain@-m)@@ @@template(perl6-debug-notice)@@ @@template(sh-prelude)@@
@echo "+++ Generating\t$@"
@noecho@$(RM_F) @bpm(@uc(@toolchain@)@_RUNNER)@
@noecho@$(CONFIGURE) --expand @nfpq(@backend_subdir@/perl6-@toolchain@-m)@ --out @nfpq(perl6-@toolchain@-m)@ \
--set-var=MOAR=$(MOAR) \
--set-var=ctx_subdir=@backend_subdir@ \
--set-var=runner_opts=@chomp(@insert(Makefile-runner_opts)@)@
-$(CHMOD) 755 $(M_@uc(@toolchain@)@_RUNNER)
-@noecho@$(CHMOD) 755 @bpm(@uc(@toolchain@)@_RUNNER)@

0 comments on commit ae30136

Please sign in to comment.