From dfac8971202c246c8b90947a173d30a2ce979916 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 29 Jul 2024 11:05:24 +0000 Subject: [PATCH 01/15] Don't hardcode python version in pyo3 --- pyodide_build/config.py | 2 ++ pyodide_build/tools/pyo3_config.ini | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyodide_build/config.py b/pyodide_build/config.py index b4b7176..260bc45 100644 --- a/pyodide_build/config.py +++ b/pyodide_build/config.py @@ -143,6 +143,7 @@ def to_env(self) -> dict[str, str]: "pyminor": "PYMINOR", "pyo3_cross_include_dir": "PYO3_CROSS_INCLUDE_DIR", "pyo3_cross_lib_dir": "PYO3_CROSS_LIB_DIR", + "pyo3_cross_python_version": "PYO3_CROSS_PYTHON_VERSION", "pyodide_emscripten_version": "PYODIDE_EMSCRIPTEN_VERSION", "pyodide_jobs": "PYODIDE_JOBS", "pyodide_root": "PYODIDE_ROOT", @@ -215,6 +216,7 @@ def to_env(self) -> dict[str, str]: # Rust-specific configuration "pyo3_cross_lib_dir": "$(CPYTHONINSTALL)/lib", "pyo3_cross_include_dir": "$(PYTHONINCLUDE)", + "pyo3_cross_python_version": "$(PYMAJOR).$(PYMINOR)", # Misc "stdlib_module_cflags": "$(CFLAGS_BASE) -I$(PYTHONINCLUDE) -I Include/ -I. -IInclude/internal/", # TODO: remove this # Paths to build dependencies diff --git a/pyodide_build/tools/pyo3_config.ini b/pyodide_build/tools/pyo3_config.ini index 473858b..c840757 100644 --- a/pyodide_build/tools/pyo3_config.ini +++ b/pyodide_build/tools/pyo3_config.ini @@ -1,7 +1,5 @@ implementation=CPython -version=3.12 shared=true abi3=false -lib_name=python3.12 pointer_width=32 suppress_build_script_link_lines=false From b19d54a127ae2706b591e20627ac468463074517 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Wed, 14 Aug 2024 09:05:03 +0000 Subject: [PATCH 02/15] [integration] From 98ba8290c56b088e7d3623b41648087af834ce16 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 19 Aug 2024 08:57:43 +0000 Subject: [PATCH 03/15] set version --- pyodide_build/tools/pyo3_config.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/pyodide_build/tools/pyo3_config.ini b/pyodide_build/tools/pyo3_config.ini index c840757..74ab709 100644 --- a/pyodide_build/tools/pyo3_config.ini +++ b/pyodide_build/tools/pyo3_config.ini @@ -1,4 +1,5 @@ implementation=CPython +version=3.10 # this value will be overridden by PYO3_CROSS_PYTHON_VERSION shared=true abi3=false pointer_width=32 From b47617a9b715a609a42c79710942a4416ff382d6 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 19 Aug 2024 09:01:39 +0000 Subject: [PATCH 04/15] [integration] From 00846b67206e147bd55340a6137864ae5ca6c11d Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 19 Aug 2024 09:10:50 +0000 Subject: [PATCH 05/15] Fix commnet --- pyodide_build/tools/pyo3_config.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyodide_build/tools/pyo3_config.ini b/pyodide_build/tools/pyo3_config.ini index 74ab709..c18a2ee 100644 --- a/pyodide_build/tools/pyo3_config.ini +++ b/pyodide_build/tools/pyo3_config.ini @@ -1,5 +1,6 @@ implementation=CPython -version=3.10 # this value will be overridden by PYO3_CROSS_PYTHON_VERSION +# this value will be overridden by PYO3_CROSS_PYTHON_VERSION +version=3.10 shared=true abi3=false pointer_width=32 From 074a52a105864c7ac5aa00471c28bea81108fd4f Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 19 Aug 2024 09:17:43 +0000 Subject: [PATCH 06/15] [integration] From bebed717e8738d5fa37b61452001d93f09acc65f Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 19 Aug 2024 09:41:55 +0000 Subject: [PATCH 07/15] comment [integration] --- pyodide_build/tools/pyo3_config.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyodide_build/tools/pyo3_config.ini b/pyodide_build/tools/pyo3_config.ini index c18a2ee..f8eebe5 100644 --- a/pyodide_build/tools/pyo3_config.ini +++ b/pyodide_build/tools/pyo3_config.ini @@ -1,5 +1,5 @@ implementation=CPython -# this value will be overridden by PYO3_CROSS_PYTHON_VERSION +; this value will be overridden by PYO3_CROSS_PYTHON_VERSION version=3.10 shared=true abi3=false From 6d592555a87976ddeddb8fdb80e03205abbc8d78 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 19 Aug 2024 10:02:23 +0000 Subject: [PATCH 08/15] Remove comment --- pyodide_build/tools/pyo3_config.ini | 1 - 1 file changed, 1 deletion(-) diff --git a/pyodide_build/tools/pyo3_config.ini b/pyodide_build/tools/pyo3_config.ini index f8eebe5..749ef04 100644 --- a/pyodide_build/tools/pyo3_config.ini +++ b/pyodide_build/tools/pyo3_config.ini @@ -1,5 +1,4 @@ implementation=CPython -; this value will be overridden by PYO3_CROSS_PYTHON_VERSION version=3.10 shared=true abi3=false From 04194aad1d18dedb4d2db18c1500b30825a8eb89 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 19 Aug 2024 11:03:38 +0000 Subject: [PATCH 09/15] [integration] From 2753b0398704158f66013f0565c7f04c4dc5dce1 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 19 Aug 2024 12:57:25 +0000 Subject: [PATCH 10/15] remove config file [integration] --- pyodide_build/cli/config.py | 1 - pyodide_build/config.py | 2 -- pyodide_build/tools/pyo3_config.ini | 6 ------ 3 files changed, 9 deletions(-) delete mode 100644 pyodide_build/tools/pyo3_config.ini diff --git a/pyodide_build/cli/config.py b/pyodide_build/cli/config.py index fa48138..c7300bd 100644 --- a/pyodide_build/cli/config.py +++ b/pyodide_build/cli/config.py @@ -11,7 +11,6 @@ "python_version": "PYVERSION", "rustflags": "RUSTFLAGS", "cmake_toolchain_file": "CMAKE_TOOLCHAIN_FILE", - "pyo3_config_file": "PYO3_CONFIG_FILE", "rust_toolchain": "RUST_TOOLCHAIN", "cflags": "SIDE_MODULE_CFLAGS", "cxxflags": "SIDE_MODULE_CXXFLAGS", diff --git a/pyodide_build/config.py b/pyodide_build/config.py index 260bc45..7b8ce3b 100644 --- a/pyodide_build/config.py +++ b/pyodide_build/config.py @@ -162,7 +162,6 @@ def to_env(self) -> dict[str, str]: "sysconfig_name": "SYSCONFIG_NAME", "targetinstalldir": "TARGETINSTALLDIR", "cmake_toolchain_file": "CMAKE_TOOLCHAIN_FILE", - "pyo3_config_file": "PYO3_CONFIG_FILE", "meson_cross_file": "MESON_CROSS_FILE", "cflags_base": "CFLAGS_BASE", "cxxflags_base": "CXXFLAGS_BASE", @@ -193,7 +192,6 @@ def to_env(self) -> dict[str, str]: DEFAULT_CONFIG: dict[str, str] = { # Paths to toolchain configuration files "cmake_toolchain_file": str(TOOLS_DIR / "cmake/Modules/Platform/Emscripten.cmake"), - "pyo3_config_file": str(TOOLS_DIR / "pyo3_config.ini"), "meson_cross_file": str(TOOLS_DIR / "emscripten.meson.cross"), # Rust-specific configuration "rustflags": "-C link-arg=-sSIDE_MODULE=2 -C link-arg=-sWASM_BIGINT -Z link-native-libraries=no", diff --git a/pyodide_build/tools/pyo3_config.ini b/pyodide_build/tools/pyo3_config.ini deleted file mode 100644 index 749ef04..0000000 --- a/pyodide_build/tools/pyo3_config.ini +++ /dev/null @@ -1,6 +0,0 @@ -implementation=CPython -version=3.10 -shared=true -abi3=false -pointer_width=32 -suppress_build_script_link_lines=false From 45df8e7de1aeccc331005c41f7cc7c57338fae86 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 19 Aug 2024 13:02:40 +0000 Subject: [PATCH 11/15] Fix pyo3_cross_lib_dir --- pyodide_build/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyodide_build/config.py b/pyodide_build/config.py index 7b8ce3b..46ae1d2 100644 --- a/pyodide_build/config.py +++ b/pyodide_build/config.py @@ -212,7 +212,7 @@ def to_env(self) -> dict[str, str]: "cxxflags": "$(CXXFLAGS_BASE)", "ldflags": "$(LDFLAGS_BASE) -s SIDE_MODULE=1", # Rust-specific configuration - "pyo3_cross_lib_dir": "$(CPYTHONINSTALL)/lib", + "pyo3_cross_lib_dir": "$(CPYTHONINSTALL)/sysconfigdata", # FIXME: pyodide xbuildenv stores sysconfigdata here "pyo3_cross_include_dir": "$(PYTHONINCLUDE)", "pyo3_cross_python_version": "$(PYMAJOR).$(PYMINOR)", # Misc From 23292c4769e8c4e2e940c572119e05ad5587450b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 13:04:52 +0000 Subject: [PATCH 12/15] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pyodide_build/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyodide_build/config.py b/pyodide_build/config.py index 46ae1d2..9083a9b 100644 --- a/pyodide_build/config.py +++ b/pyodide_build/config.py @@ -212,7 +212,7 @@ def to_env(self) -> dict[str, str]: "cxxflags": "$(CXXFLAGS_BASE)", "ldflags": "$(LDFLAGS_BASE) -s SIDE_MODULE=1", # Rust-specific configuration - "pyo3_cross_lib_dir": "$(CPYTHONINSTALL)/sysconfigdata", # FIXME: pyodide xbuildenv stores sysconfigdata here + "pyo3_cross_lib_dir": "$(CPYTHONINSTALL)/sysconfigdata", # FIXME: pyodide xbuildenv stores sysconfigdata here "pyo3_cross_include_dir": "$(PYTHONINCLUDE)", "pyo3_cross_python_version": "$(PYMAJOR).$(PYMINOR)", # Misc From 0e281d7c4cb7474430868b4d835c3f9d742a474c Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Mon, 19 Aug 2024 13:05:49 +0000 Subject: [PATCH 13/15] [integration] From 6d867c47488c6d35f322278da075c8be410ffe61 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Tue, 20 Aug 2024 10:39:11 +0000 Subject: [PATCH 14/15] changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e5ba44..5a82422 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Changed + +- `pyo3_config_file` is no longer available in `pyodide config` command. + Pyodide now sets `PYO3_CROSS_PYTHON_VERSION`, `PYO3_CROSS_LIB_DIR` to specify the cross compilation environment + for PyO3. + [#19](https://github.com/pyodide/pyodide-build/pull/19) + ## [0.28.0] - 2024/08/14 - `pyodide xbuildenv` subcommand is now publicly available. From 72d2e2ce482ebed8fd9dd2ef45e4f1234323e591 Mon Sep 17 00:00:00 2001 From: Gyeongjae Choi Date: Tue, 20 Aug 2024 10:40:28 +0000 Subject: [PATCH 15/15] [integration]