./configure.sh will now fail if Python3 is not installed on the system. Since Python2 is now deprecated the user has to explicitly enable it via --python2. This commit also removes the --python3 configure flag.
- name: Configure
run: |
${{ matrix.env }} ./configure.sh ${{ matrix.config }} \
- --python3 \
--prefix=$(pwd)/build/install \
--unit-testing
option(USE_LFSC "Use LFSC proof checker")
option(USE_POLY "Use LibPoly for polynomial arithmetic")
option(USE_SYMFPU "Use SymFPU for floating point support")
-option(USE_PYTHON2 "Prefer using Python 2 (for Python bindings)")
-option(USE_PYTHON3 "Prefer using Python 3 (for Python bindings)")
+option(USE_PYTHON2 "Force Python 2 (deprecated)")
# Custom install directories for dependencies
# If no directory is provided by the user, we first check if the dependency was
if(USE_PYTHON2)
find_package(PythonInterp 2.7 REQUIRED)
-elseif(USE_PYTHON3)
- find_package(PythonInterp 3 REQUIRED)
else()
- find_package(PythonInterp REQUIRED)
+ find_package(PythonInterp 3 REQUIRED)
endif()
find_package(GMP REQUIRED)
print_config("Python bindings :" BUILD_BINDINGS_PYTHON)
print_config("Java bindings :" BUILD_BINDINGS_JAVA)
print_config("Python2 :" USE_PYTHON2)
-print_config("Python3 :" USE_PYTHON3)
message("")
print_config("ABC :" USE_ABC)
print_config("CaDiCaL :" USE_CADICAL)
or [Clang](https://clang.llvm.org) (reasonably recent versions)
- [CMake >= 3.9](https://cmake.org)
- [GNU Bash](https://www.gnu.org/software/bash/)
-- [Python >= 2.7](https://www.python.org)
+- [Python 3.x](https://www.python.org)
+ module [toml](https://pypi.org/project/toml/)
- [GMP v4.2 (GNU Multi-Precision arithmetic library)](https://gmplib.org)
- [libantlr3c v3.2 or v3.4 (ANTLR parser generator C support library)](http://www.antlr3.org/)
* SMT-LIB output for `get-model` command now conforms with the standard,
and does *not* begin with the keyword `model`. The output
is the same as before, only with this word removed from the beginning.
+* Building with Python 2 is now deprecated.
Changes since 1.7
--coverage support for gcov coverage testing
--profiling support for gprof profiling
--unit-testing support for unit testing
- --python2 prefer using Python 2 (also for Python bindings)
- --python3 prefer using Python 3 (also for Python bindings)
+ --python2 force Python 2 (deprecated)
--python-bindings build Python bindings based on new C++ API
--java-bindings build Java bindings based on new C++ API
--all-bindings build bindings for all supported languages
profiling=default
proofs=default
python2=default
-python3=default
python_bindings=default
java_bindings=default
editline=default
--python2) python2=ON;;
--no-python2) python2=OFF;;
- --python3) python3=ON;;
- --no-python3) python3=OFF;;
-
--python-bindings) python_bindings=ON;;
--no-python-bindings) python_bindings=OFF;;
&& cmake_opts="$cmake_opts -DENABLE_UNIT_TESTING=$unit_testing"
[ $python2 != default ] \
&& cmake_opts="$cmake_opts -DUSE_PYTHON2=$python2"
-[ $python3 != default ] \
- && cmake_opts="$cmake_opts -DUSE_PYTHON3=$python3"
[ $python_bindings != default ] \
&& cmake_opts="$cmake_opts -DBUILD_BINDINGS_PYTHON=$python_bindings"
[ $java_bindings != default ] \
)
if(RET_TOML)
- message(FATAL_ERROR
- "Could not find Python module toml. Install via `pip install toml'.")
+ message(FATAL_ERROR
+ "Could not find toml for Python "
+ "version ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}. "
+ "Make sure to install toml for this Python version "
+ "via \n`${PYTHON_EXECUTABLE} -m pip install toml'.\nNote: You need to "
+ "have pip installed for this Python version.")
endif()
libcvc4_add_sources(