# HG changeset patch # User John W. Eaton # Date 1701209811 18000 # Node ID 23b20195a0a49ef05f28eefaf0e94904d0cb8f80 # Parent c823e7c9772b890e38e2268edf0bc6c0d5f14497 restore option to disable bytecode evaluator removed in cset 6efda6ed0d17 * configure.ac: Restore --disable-bytecode-evaluator option and associated variables, renamed from --disable-vm-evaluator. * Makefile.am, test/Makefile.am (check-bytecode-evaluator): Rename target from check-vm. Now conditional on AMCOND_ENABLE_BYTECODE_EVALUATOR. * mk-octave-config-h.sh: Copy OCTAVE_ENABLE_BYTECODE_EVALUATOR macro. * toplev.cc (F__octave_config_info__): Include ENABLE_BYTECODE_EVALUATOR in the struct. diff -r c823e7c9772b -r 23b20195a0a4 Makefile.am --- a/Makefile.am Mon Dec 04 09:48:51 2023 +0100 +++ b/Makefile.am Tue Nov 28 17:16:51 2023 -0500 @@ -349,8 +349,10 @@ $(AM_V_GEN)$(call simple-filter-rule,build-aux/subst-script-vals.sh) && \ chmod a+rx $@ -check-vm: - $(MAKE) -C test check-vm +if AMCOND_ENABLE_BYTECODE_EVALUATOR +check-bytecode-evaluator: + $(MAKE) -C test check-bytecode-evaluator +endif octave-config.h: config.h build-aux/mk-octave-config-h.sh $(AM_V_GEN)$(SHELL) $(srcdir)/build-aux/mk-octave-config-h.sh $< > $@-t && \ diff -r c823e7c9772b -r 23b20195a0a4 build-aux/mk-octave-config-h.sh --- a/build-aux/mk-octave-config-h.sh Mon Dec 04 09:48:51 2023 +0100 +++ b/build-aux/mk-octave-config-h.sh Tue Nov 28 17:16:51 2023 -0500 @@ -104,6 +104,7 @@ $SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_64.*$\)/# \1/p' $config_h_file $SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_BOUNDS_CHECK.*$\)/# \1/p' $config_h_file +$SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_BYTECODE_EVALUATOR.*$\)/# \1/p' $config_h_file $SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_FLOAT_TRUNCATE.*$\)/# \1/p' $config_h_file $SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_INTERNAL_CHECKS.*$\)/# \1/p' $config_h_file $SED -n 's/#\(\(undef\|define\) OCTAVE_ENABLE_LIB_VISIBILITY_FLAGS.*$\)/# \1/p' $config_h_file diff -r c823e7c9772b -r 23b20195a0a4 configure.ac --- a/configure.ac Mon Dec 04 09:48:51 2023 +0100 +++ b/configure.ac Tue Nov 28 17:16:51 2023 -0500 @@ -1408,9 +1408,21 @@ [Define to 1 to use Bison's push parser interface in the command line REPL.]) fi -## FIXME: The next line is needed for VM-related ifdefs in pt-bytecode-vm.cc. +### Configure compilation of *experimental* Virtual Machine evaluator. + AC_C_BIGENDIAN() +ENABLE_BYTECODE_EVALUATOR=yes +AC_ARG_ENABLE([bytecode-evaluator], + [AS_HELP_STRING([--disable-bytecode-evaluator], + [don't compile *experimental* bytecode evaluator])], + [if test "$enableval" = no; then ENABLE_BYTECODE_EVALUATOR=no; fi], []) +if test $ENABLE_BYTECODE_EVALUATOR = yes; then + AC_DEFINE(OCTAVE_ENABLE_BYTECODE_EVALUATOR, 1, + [Define to 1 to build experimental Virtual Machine evaluator.]) +fi +AM_CONDITIONAL([AMCOND_ENABLE_BYTECODE_EVALUATOR], [test $ENABLE_BYTECODE_EVALUATOR = yes]) + ### Check for PCRE2 or PCRE regex library, requiring one to exist. have_pcre2=no diff -r c823e7c9772b -r 23b20195a0a4 libinterp/corefcn/toplev.cc --- a/libinterp/corefcn/toplev.cc Mon Dec 04 09:48:51 2023 +0100 +++ b/libinterp/corefcn/toplev.cc Tue Nov 28 17:16:51 2023 -0500 @@ -368,6 +368,12 @@ { "ENABLE_64", false }, #endif +#if defined (OCTAVE_ENABLE_BYTECODE_EVALUATOR) + { "ENABLE_BYTECODE_EVALUATOR", true }, +#else + { "ENABLE_BYTECODE_EVALUATOR", false }, +#endif + #if defined (OCTAVE_ENABLE_COMMAND_LINE_PUSH_PARSER) { "ENABLE_COMMAND_LINE_PUSH_PARSER", true }, #else diff -r c823e7c9772b -r 23b20195a0a4 test/Makefile.am --- a/test/Makefile.am Mon Dec 04 09:48:51 2023 +0100 +++ b/test/Makefile.am Tue Nov 28 17:16:51 2023 -0500 @@ -150,8 +150,10 @@ check-local: $(GENERATED_TEST_FILES) $(MEX_TEST_FUNCTIONS) | $(OCTAVE_INTERPRETER_TARGETS) $(octave_dirstamp) $(AM_V_at)$(call run-octave-tests) -check-vm: $(BUILT_SOURCES) $(GENERATED_TEST_FILES) $(MEX_TEST_FUNCTIONS) | $(OCTAVE_INTERPRETER_TARGETS) $(octave_dirstamp) +if AMCOND_ENABLE_BYTECODE_EVALUATOR +check-bytecode-evaluator: $(BUILT_SOURCES) $(GENERATED_TEST_FILES) $(MEX_TEST_FUNCTIONS) | $(OCTAVE_INTERPRETER_TARGETS) $(octave_dirstamp) $(AM_V_at)$(call run-octave-tests,__vm_enable__ (1)) +endif COVERAGE_DIR = coverage COVERAGE_INFO = $(COVERAGE_DIR)/$(PACKAGE).info