Skip to content

Commit

Permalink
Add workaround for the issue #4571 in setuptools
Browse files Browse the repository at this point in the history
setuptools version 72.2.0 contains the change that does not allow to
build C++ native extension for PyPy, because it does not provide the
LDCXXSHARED configuration variable:
https://github.com/pypa/setuptools/issues/4571
  • Loading branch information
esuldin committed Aug 18, 2024
1 parent 8db0907 commit 19930f7
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"""
import os
import sys
import sysconfig

from setuptools import setup, Extension
from setuptools.command.build_ext import build_ext
Expand Down Expand Up @@ -78,6 +79,17 @@ def get_environment_flag(name):
pyitt_native_compiler_args.append('--coverage')
pyitt_native_link_args.append('--coverage')

# Workaround for issue #4571 in setuptools
if sys.platform != 'win32':
LDSHARED_VAR_NAME = 'LDSHARED'
LDCXXSHARED_VAR_NAME = 'LDCXXSHARED'

if LDCXXSHARED_VAR_NAME not in sysconfig.get_config_vars() and LDCXXSHARED_VAR_NAME not in os.environ:
if LDSHARED_VAR_NAME in os.environ:
os.environ[LDCXXSHARED_VAR_NAME] = os.environ[LDSHARED_VAR_NAME]
else:
os.environ[LDCXXSHARED_VAR_NAME] = sysconfig.get_config_vars().get(LDSHARED_VAR_NAME, None)

pyitt_native = Extension('pyitt.native',
sources=itt_source + pyitt_native_sources,
include_dirs=itt_include_dirs,
Expand Down

0 comments on commit 19930f7

Please sign in to comment.