BLD Add CPYTHON_DEBUG environment variable to request a debug Python (#3966)

This commit is contained in:
Hood Chatham 2023-06-28 17:01:15 -07:00 committed by GitHub
parent fb0dc034d4
commit b67660ff9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 4 deletions

View File

@ -1,8 +1,12 @@
export PYVERSION ?= 3.11.3
export PYODIDE_EMSCRIPTEN_VERSION ?= 3.1.39
ifdef CPYTHON_DEBUG
export CPYTHON_ABI_FLAGS=d
endif
export PLATFORM_TRIPLET=wasm32-emscripten
export SYSCONFIG_NAME=_sysconfigdata__emscripten_$(PLATFORM_TRIPLET)
export SYSCONFIG_NAME=_sysconfigdata_$(CPYTHON_ABI_FLAGS)_emscripten_$(PLATFORM_TRIPLET)
# BASH_ENV tells bash to run pyodide_env.sh on startup, which sets various
# environment variables. The next line instructs make to use bash to run each
@ -39,7 +43,7 @@ export HOSTSITEPACKAGES=$(PYODIDE_ROOT)/packages/.artifacts/lib/python$(PYMAJOR)
export WASM_LIBRARY_DIR=$(PYODIDE_ROOT)/packages/.libs
export PKG_CONFIG_PATH=$(PYODIDE_ROOT)/packages/.libs/lib/pkgconfig
export PYTHONINCLUDE=$(PYODIDE_ROOT)/cpython/installs/python-$(PYVERSION)/include/python$(PYMAJOR).$(PYMINOR)
export PYTHONINCLUDE=$(PYODIDE_ROOT)/cpython/installs/python-$(PYVERSION)/include/python$(PYMAJOR).$(PYMINOR)$(CPYTHON_ABI_FLAGS)
# Use env variable if defined, otherwise fallback to './'
export PYODIDE_BASE_URL?=./
@ -132,7 +136,7 @@ export MAIN_MODULE_LDFLAGS= $(LDFLAGS_BASE) \
-s NODEJS_CATCH_EXIT=0 \
-s NODEJS_CATCH_REJECTION=0 \
\
-lpython$(PYMAJOR).$(PYMINOR) \
-lpython$(PYMAJOR).$(PYMINOR)$(CPYTHON_ABI_FLAGS) \
-lffi \
-lstdc++ \
-lidbfs.js \

View File

@ -8,12 +8,16 @@ PYTHON_CFLAGS=$(CFLAGS_BASE) -DPY_CALL_TRAMPOLINE
BUILD=$(CPYTHONROOT)/build/Python-$(PYVERSION)
INSTALL=$(CPYTHONINSTALL)
TARBALL=$(ROOT)/downloads/Python-$(PYVERSION).tgz
LIB=libpython$(PYMAJOR).$(PYMINOR).a
LIB=libpython$(PYMAJOR).$(PYMINOR)$(CPYTHON_ABI_FLAGS).a
FFIBUILD=$(ROOT)/build/libffi
LIBFFIREPO=https://github.com/libffi/libffi
LIBFFI_COMMIT=f08493d249d2067c8b3207ba46693dd858f95db3
ifdef CPYTHON_DEBUG
MAYBE_WITH_PYDEBUG=--with-pydebug
endif
all: $(INSTALL)/lib/$(LIB) $(INSTALL)/lib/libffi.a
@ -98,6 +102,7 @@ $(BUILD)/Makefile: $(BUILD)/.patched
--build=$(shell $(BUILD)/config.guess) \
--prefix=$(INSTALL) \
--with-build-python=$$(which python3.11) \
$(MAYBE_WITH_PYDEBUG) \
)