changeset 32530:23b20195a0a4 stable

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.
author John W. Eaton <jwe@octave.org>
date Tue, 28 Nov 2023 17:16:51 -0500
parents c823e7c9772b
children 435cfe35e3c6
files Makefile.am build-aux/mk-octave-config-h.sh configure.ac libinterp/corefcn/toplev.cc test/Makefile.am
diffstat 5 files changed, 27 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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 && \
--- 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
--- 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
--- 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
--- 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