. "${GRIMOIRE}/FUNCTIONS" &&
OPTS="--enable-shared  $PYTHON3_OPTS $OPTS" &&
OPTS="--with-ensurepip=no $OPTS"            &&

# Optimizations build fails for 3.13 and 3.14
if ! [[ "${PYTHON3_BRANCH}" =~ devel|stable|3\.1[34] ]]; then
  OPTS+=" --enable-optimizations"
fi                                          &&
OPTS+=" --with-computed-gotos"              &&

# fix to build with LibreSSL >= 4.3.0
if [[ "$(get_spell_provider ${SPELL} SSL)" == "libressl" ]] &&
      ! is_version_less "$(installed_version libressl)" "4.3.0"; then
      LDFLAGS="-Wl,-z,execstack ${LDFLAGS}"
fi                                          &&

OPTS="$OPTS --build=${BUILD}"

[[ $CROSS_INSTALL == on ]] && OPTS="$OPTS --host=${HOST}"

EXTRA_CFLAGS="$CFLAGS" ./configure --prefix=${INSTALL_ROOT}/usr  \
        --sysconfdir=${INSTALL_ROOT}/etc  \
     --localstatedir=${INSTALL_ROOT}/var  \
            --mandir=${INSTALL_ROOT}/usr/share/man   \
           --infodir=${INSTALL_ROOT}/usr/share/info  \
                     $OPTS                 &&

if ! is_depends_enabled $SPELL libxcrypt; then
  sed -i -e 's/MODULE__CRYPT_STATE=.*/MODULE__CRYPT_STATE=disabled/' \
         -e 's/MODULE__CRYPT_CFLAGS=.*/MODULE__CRYPT_CFLAGS=/' \
         -e 's/MODULE__CRYPT_LDFLAGS=.*/MODULE__CRYPT_LDFLAGS=/' \
         Makefile
fi &&

EXTRA_CFLAGS="$CFLAGS" make
