#!/bin/bash echo "PYTHON_VARIANT: ${PYTHON_VARIANT}" if [[ "${PYTHON_VARIANT}" == "freethreading" ]]; then CONFIGURE_EXTRA="--disable-gil" elif [[ "${PYTHON_VARIANT}" == "asan" ]]; then CONFIGURE_EXTRA="--with-address-sanitizer" export ASAN_OPTIONS="strict_init_order=true" elif [[ "${PYTHON_VARIANT}" == "tsan-freethreading" ]]; then CONFIGURE_EXTRA="--disable-gil --with-thread-sanitizer" export TSAN_OPTIONS="suppressions=${SRC_DIR}/Tools/tsan/suppressions_free_threading.txt" elif [[ "${PYTHON_VARIANT}" == "default" ]]; then CONFIGURE_EXTRA="" else echo "Unknown PYTHON_VARIANT: ${PYTHON_VARIANT}" exit 1 fi # rattler-build by default set a target of 10.9 # override it to at least 10.12 case ${MACOSX_DEPLOYMENT_TARGET:-10.12} in 10.12|10.13|10.14|10.15|10.16) ;; 10.*) export CPPFLAGS=${CPPFLAGS/-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}/-mmacosx-version-min=10.12} export MACOSX_DEPLOYMENT_TARGET=10.12 ;; *) ;; esac BUILD_DIR="../build_${PYTHON_VARIANT}" mkdir -p "${BUILD_DIR}" cd "${BUILD_DIR}" if [[ -f configure-done ]]; then echo "Skipping configure step, already done." else "${SRC_DIR}/configure" \ --prefix="${PREFIX}" \ --oldincludedir="${BUILD_PREFIX}/${HOST}/sysroot/usr/include" \ --enable-shared \ --srcdir="${SRC_DIR}" \ --with-system-expat \ ${CONFIGURE_EXTRA} fi touch configure-done make -j"${CPU_COUNT}" install ln -sf "${PREFIX}/bin/python3" "${PREFIX}/bin/python"