diff --git a/build-llvm.sh b/build-llvm.sh index 67be7ba..12c6e63 100755 --- a/build-llvm.sh +++ b/build-llvm.sh @@ -54,6 +54,9 @@ while [ $# -gt 0 ]; do --host=*) HOST="${1#*=}" ;; + --with-python) + WITH_PYTHON=1 + ;; *) PREFIX="$1" ;; @@ -63,7 +66,7 @@ done BUILDDIR="$BUILDDIR$ASSERTSSUFFIX" if [ -z "$CHECKOUT_ONLY" ]; then if [ -z "$PREFIX" ]; then - echo $0 [--enable-asserts] [--stage2] [--thinlto] [--lto] [--disable-dylib] [--full-llvm] [--host=triple] dest + echo $0 [--enable-asserts] [--stage2] [--thinlto] [--lto] [--disable-dylib] [--full-llvm] [--with-python] [--host=triple] dest exit 1 fi @@ -157,6 +160,21 @@ if [ -n "$HOST" ]; then CMAKEFLAGS="$CMAKEFLAGS -DCLANG_DEFAULT_CXX_STDLIB=libc++" CMAKEFLAGS="$CMAKEFLAGS -DCLANG_DEFAULT_LINKER=lld" BUILDDIR=$BUILDDIR-$HOST + + if [ -n "$WITH_PYTHON" ]; then + PYTHON_VER="3.9" + CMAKEFLAGS="$CMAKEFLAGS -DLLDB_ENABLE_PYTHON=ON" + [ -z "$PYTHON_EXEC" ] && command -v python$PYTHON_VER && PYTHON_EXEC=python$PYTHON_VER + [ -z "$PYTHON_EXEC" ] && command -v python3 && PYTHON_EXEC=python3 + [ -z "$PYTHON_EXEC" ] && command -v python && PYTHON_EXEC=python + CMAKEFLAGS="$CMAKEFLAGS -DPYTHON_HOME=$PREFIX/python" + CMAKEFLAGS="$CMAKEFLAGS -DLLDB_PYTHON_HOME=../python" + CMAKEFLAGS="$CMAKEFLAGS -DLLDB_PYTHON_RELATIVE_PATH=python/lib/python$PYTHON_VER/site-packages" + + CMAKEFLAGS="$CMAKEFLAGS -DPython3_EXECUTABLE=$PYTHON_EXEC" + CMAKEFLAGS="$CMAKEFLAGS -DPython3_INCLUDE_DIRS=$PREFIX/python/include/python$PYTHON_VER" + CMAKEFLAGS="$CMAKEFLAGS -DPython3_LIBRARIES=$PREFIX/python/lib/libpython$PYTHON_VER.dll.a" + fi elif [ -n "$STAGE2" ]; then # Build using an earlier built and installed clang in the target directory export PATH="$PREFIX/bin:$PATH"