Get the native code extensions building on OS X

This commit is contained in:
Kovid Goyal 2014-06-13 12:25:46 +05:30
parent e64d92bd9a
commit 0ec4fc3caf
2 changed files with 6 additions and 17 deletions

View File

@ -14,10 +14,6 @@ import sipconfig
from setup import isosx, iswindows, is64bit, islinux from setup import isosx, iswindows, is64bit, islinux
is64bit is64bit
OSX_SDK = '/Developer/SDKs/MacOSX10.5.sdk'
os.environ['MACOSX_DEPLOYMENT_TARGET'] = '10.5'
NMAKE = RC = msvc = MT = win_inc = win_lib = None NMAKE = RC = msvc = MT = win_inc = win_lib = None
if iswindows: if iswindows:
from distutils import msvc9compiler from distutils import msvc9compiler
@ -34,7 +30,7 @@ if iswindows:
MT = os.path.join(SDK, 'Bin', 'mt.exe') MT = os.path.join(SDK, 'Bin', 'mt.exe')
os.environ['QMAKESPEC'] = 'win32-msvc2008' os.environ['QMAKESPEC'] = 'win32-msvc2008'
QMAKE = '/Volumes/sw/qt/bin/qmake' if isosx else 'qmake' QMAKE = 'qmake'
for x in ('qmake-qt5', 'qt5-qmake', 'qmake'): for x in ('qmake-qt5', 'qt5-qmake', 'qmake'):
q = find_executable(x) q = find_executable(x)
if q: if q:
@ -164,18 +160,17 @@ if iswindows:
podofo_inc = os.path.join(sw_inc_dir, 'podofo') podofo_inc = os.path.join(sw_inc_dir, 'podofo')
podofo_lib = sw_lib_dir podofo_lib = sw_lib_dir
elif isosx: elif isosx:
sw = os.environ.get('SW', '/sw') sw = os.environ.get('SW', os.path.expanduser('~/sw'))
podofo_inc = os.path.join(sw, 'podofo') podofo_inc = os.path.join(sw, 'include', 'podofo')
podofo_lib = os.path.join(sw, 'lib') podofo_lib = os.path.join(sw, 'lib')
magick_inc_dirs = consolidate('MAGICK_INC', sw + '/include/ImageMagick') magick_inc_dirs = consolidate('MAGICK_INC', sw + '/include/ImageMagick-6')
magick_lib_dirs = consolidate('MAGICK_LIB', sw + '/lib') magick_lib_dirs = consolidate('MAGICK_LIB', sw + '/lib')
magick_libs = ['MagickWand', 'MagickCore'] magick_libs = ['MagickWand-6.Q16', 'MagickCore-6.Q16']
png_inc_dirs = consolidate('PNG_INC_DIR', sw + '/include') png_inc_dirs = consolidate('PNG_INC_DIR', sw + '/include')
png_lib_dirs = consolidate('PNG_LIB_DIR', sw + '/lib') png_lib_dirs = consolidate('PNG_LIB_DIR', sw + '/lib')
png_libs = ['png12'] png_libs = ['png12']
ft_libs = ['freetype'] ft_libs = ['freetype']
ft_inc_dirs = [sw + '/include/freetype2'] ft_inc_dirs = [sw + '/include/freetype2']
bq = glob.glob(sw + '/build/qt-*/include')[-1]
icu_inc_dirs = [sw + '/include'] icu_inc_dirs = [sw + '/include']
icu_lib_dirs = [sw + '/lib'] icu_lib_dirs = [sw + '/lib']
else: else:

View File

@ -12,7 +12,7 @@ from multiprocessing import cpu_count
from setup import Command, islinux, isbsd, isosx, SRC, iswindows, __version__ from setup import Command, islinux, isbsd, isosx, SRC, iswindows, __version__
from setup.build_environment import (chmlib_inc_dirs, from setup.build_environment import (chmlib_inc_dirs,
podofo_inc, podofo_lib, podofo_error, pyqt, OSX_SDK, NMAKE, QMAKE, podofo_inc, podofo_lib, podofo_error, pyqt, NMAKE, QMAKE,
msvc, MT, win_inc, win_lib, magick_inc_dirs, magick_lib_dirs, msvc, MT, win_inc, win_lib, magick_inc_dirs, magick_lib_dirs,
magick_libs, chmlib_lib_dirs, sqlite_inc_dirs, icu_inc_dirs, magick_libs, chmlib_lib_dirs, sqlite_inc_dirs, icu_inc_dirs,
icu_lib_dirs, ft_libs, ft_lib_dirs, ft_inc_dirs, icu_lib_dirs, ft_libs, ft_lib_dirs, ft_inc_dirs,
@ -333,17 +333,11 @@ if isbsd:
if isosx: if isosx:
x, p = ('i386', 'x86_64')
archs = ['-arch', x, '-arch', p, '-isysroot',
OSX_SDK]
cflags.append('-D_OSX') cflags.append('-D_OSX')
cflags.extend(archs)
ldflags.extend(archs)
ldflags.extend('-bundle -undefined dynamic_lookup'.split()) ldflags.extend('-bundle -undefined dynamic_lookup'.split())
cflags.extend(['-fno-common', '-dynamic']) cflags.extend(['-fno-common', '-dynamic'])
cflags.append('-I'+sysconfig.get_python_inc()) cflags.append('-I'+sysconfig.get_python_inc())
if iswindows: if iswindows:
cc = cxx = msvc.cc cc = cxx = msvc.cc
cflags = '/c /nologo /MD /W3 /EHsc /DNDEBUG'.split() cflags = '/c /nologo /MD /W3 /EHsc /DNDEBUG'.split()