Skip to content

Commit

Permalink
BLD: for C extension builds on mac, target macOS 10.9 where possible (p…
Browse files Browse the repository at this point in the history
  • Loading branch information
robbuckley committed Dec 27, 2018
1 parent 08c920e commit 9119cb6
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/source/whatsnew/v0.24.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1629,6 +1629,7 @@ Build Changes

- Building pandas for development now requires ``cython >= 0.28.2`` (:issue:`21688`)
- Testing pandas now requires ``hypothesis>=3.58``. You can find `the Hypothesis docs here <https://hypothesis.readthedocs.io/en/latest/index.html>`_, and a pandas-specific introduction :ref:`in the contributing guide <using-hypothesis>`. (:issue:`22280`)
- Building pandas on macOS now targets minimum macOS 10.9 if run on macOS 10.9 or above (:issue:`23424`)

Other
^^^^^
Expand Down
19 changes: 19 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
from os.path import join as pjoin

import pkg_resources
import platform
from distutils.sysconfig import get_config_var
import sys
import shutil
from distutils.version import LooseVersion
Expand All @@ -24,6 +26,10 @@ def is_platform_windows():
return sys.platform == 'win32' or sys.platform == 'cygwin'


def is_platform_mac():
return sys.platform == 'darwin'


min_numpy_ver = '1.12.0'
setuptools_kwargs = {
'install_requires': [
Expand Down Expand Up @@ -434,6 +440,19 @@ def get_tag(self):
extra_compile_args = ['-Wno-unused-function']


# For mac, ensure extensions are built for macos 10.9 when compiling on a
# 10.9 system or above, overriding distuitls behaviour which is to target
# the version that python was built for. This may be overridden by setting
# MACOSX_DEPLOYMENT_TARGET before calling setup.py
if is_platform_mac():
if 'MACOSX_DEPLOYMENT_TARGET' not in os.environ:
current_system = LooseVersion(platform.mac_ver()[0])
python_target = LooseVersion(
get_config_var('MACOSX_DEPLOYMENT_TARGET'))
if python_target < '10.9' and current_system >= '10.9':
os.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.9'


# enable coverage by building cython files by setting the environment variable
# "PANDAS_CYTHON_COVERAGE" (with a Truthy value) or by running build_ext
# with `--with-cython-coverage`enabled
Expand Down

0 comments on commit 9119cb6

Please sign in to comment.