diff --git a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml index 162993526..b38434dc5 100644 --- a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml +++ b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml @@ -28,6 +28,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml index 753dc9e3a..cb255581d 100644 --- a/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml +++ b/.ci_support/linux_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml @@ -28,6 +28,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml index 8a1d8fba1..f35f88606 100644 --- a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml +++ b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml @@ -28,6 +28,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml index 4dece0f30..151a2924f 100644 --- a/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml +++ b/.ci_support/linux_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml @@ -28,6 +28,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml index ed3105513..2754c8921 100644 --- a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml +++ b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml @@ -28,6 +28,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml index 0b8451817..871e48636 100644 --- a/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml +++ b/.ci_support/linux_aarch64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml @@ -28,6 +28,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml index 35710848b..1cecd3c00 100644 --- a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml +++ b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml @@ -28,6 +28,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml index 5ca583176..017faa51f 100644 --- a/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml +++ b/.ci_support/linux_aarch64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml @@ -28,6 +28,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml index f2bb216c8..529d57f70 100644 --- a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml +++ b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml @@ -28,6 +28,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml index 5f68761fd..6a74b2a20 100644 --- a/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml +++ b/.ci_support/linux_ppc64le_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml @@ -28,6 +28,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml index e427a9043..af0ace4f2 100644 --- a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml +++ b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml @@ -28,6 +28,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml index 67e960171..ba82b05c0 100644 --- a/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml +++ b/.ci_support/linux_ppc64le_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml @@ -28,6 +28,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' libuuid: - '2' ncurses: diff --git a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml index 9f1a40666..307ed5068 100644 --- a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml +++ b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml @@ -28,6 +28,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' macos_machine: - x86_64-apple-darwin13.4.0 ncurses: diff --git a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml index 41112e788..9a3636cbe 100644 --- a/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml +++ b/.ci_support/osx_64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml @@ -28,6 +28,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' macos_machine: - x86_64-apple-darwin13.4.0 ncurses: diff --git a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml index 42e26eb3e..9450acee4 100644 --- a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml +++ b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml @@ -28,6 +28,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' macos_machine: - x86_64-apple-darwin13.4.0 ncurses: diff --git a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml index e67db238a..6b9ca5f67 100644 --- a/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml +++ b/.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml @@ -28,6 +28,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' macos_machine: - x86_64-apple-darwin13.4.0 ncurses: diff --git a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml index 15795fcb9..e9b6d9346 100644 --- a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml +++ b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingno.yaml @@ -28,6 +28,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' macos_machine: - arm64-apple-darwin20.0.0 ncurses: diff --git a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml index 599c97fbc..5b81ee22c 100644 --- a/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml +++ b/.ci_support/osx_arm64_build_typedebugchannel_targetsconda-forge_python_debugfreethreadingyes.yaml @@ -28,6 +28,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' macos_machine: - arm64-apple-darwin20.0.0 ncurses: diff --git a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml index 181ce421b..9dceb3282 100644 --- a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml +++ b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingno.yaml @@ -28,6 +28,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' macos_machine: - arm64-apple-darwin20.0.0 ncurses: diff --git a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml index dd594339d..75d62e050 100644 --- a/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml +++ b/.ci_support/osx_arm64_build_typereleasechannel_targetsconda-forge_mainfreethreadingyes.yaml @@ -28,6 +28,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' macos_machine: - arm64-apple-darwin20.0.0 ncurses: diff --git a/.ci_support/win_64_freethreadingno.yaml b/.ci_support/win_64_freethreadingno.yaml index 6f13023d9..e64410b93 100644 --- a/.ci_support/win_64_freethreadingno.yaml +++ b/.ci_support/win_64_freethreadingno.yaml @@ -18,6 +18,8 @@ freethreading: - 'no' libffi: - '3.4' +liblzma_devel: +- '5' openssl: - '3' pin_run_as_build: diff --git a/.ci_support/win_64_freethreadingyes.yaml b/.ci_support/win_64_freethreadingyes.yaml index 84ac75f71..074668793 100644 --- a/.ci_support/win_64_freethreadingyes.yaml +++ b/.ci_support/win_64_freethreadingyes.yaml @@ -18,6 +18,8 @@ freethreading: - 'yes' libffi: - '3.4' +liblzma_devel: +- '5' openssl: - '3' pin_run_as_build: diff --git a/recipe/build_base.sh b/recipe/build_base.sh index 5aa6b87f9..99d4ff577 100644 --- a/recipe/build_base.sh +++ b/recipe/build_base.sh @@ -96,6 +96,15 @@ if [[ ${HOST} =~ .*darwin.* ]] && [[ -n ${CONDA_BUILD_SYSROOT} ]]; then CPPFLAGS="-isysroot ${CONDA_BUILD_SYSROOT} "${CPPFLAGS} fi +if [[ "$target_platform" == linux-* ]]; then + # For https://docs.python.org/3/howto/perf_profiling.html#how-to-obtain-the-best-results + CFLAGS+=" -fno-omit-frame-pointer" + if [[ "$target_platform" != linux-ppc64le ]]; then + # -mno-omit-leaf-frame-pointer is not supported on ppc64le + CFLAGS+=" -mno-omit-leaf-frame-pointer" + fi +fi + # Debian uses -O3 then resets it at the end to -O2 in _sysconfigdata.py if [[ ${_OPTIMIZED} = yes ]]; then CPPFLAGS=$(echo "${CPPFLAGS}" | sed "s/-O2/-O3/g") diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f01d2de26..3e78d57e7 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -4,7 +4,7 @@ {% set ver2 = '.'.join(version.split('.')[0:2]) %} {% set ver2nd = ''.join(version.split('.')[0:2]) %} {% set ver3nd = ''.join(version.split('.')[0:3]) %} -{% set build_number = 2 %} +{% set build_number = 3 %} # this makes the linter happy {% set channel_targets = channel_targets or 'conda-forge main' %} @@ -264,6 +264,8 @@ outputs: - python -c "from ctypes import CFUNCTYPE; CFUNCTYPE(None)(id)" # Test for wide character supported via ncursesw - TERM=xterm >/dev/null python -c "import curses; scr = curses.initscr(); curses.unget_wch('x'); assert 'x' == scr.get_wch()" # [unix] + # Test for https://docs.python.org/3/howto/perf_profiling.html#how-to-obtain-the-best-results + - python -m sysconfig | grep 'no-omit-frame-pointer' # [linux] - name: libpython-static script: build_static.sh # [unix]