djm 413ba2dc4a port of Python-2.6, with 100% fewer build knobs!
Thanks to Ian Darwin, Will Maier and Aleksander Piotrowski for feedback
2008-10-18 12:03:56 +00:00

149 lines
6.9 KiB
Plaintext

$OpenBSD: patch-setup_py,v 1.1 2008/10/18 12:03:56 djm Exp $
--- setup.py.orig Sat Jun 28 11:04:31 2008
+++ setup.py Tue Sep 30 14:14:11 2008
@@ -310,8 +310,8 @@ class PyBuildExt(build_ext):
def detect_modules(self):
# Ensure that /usr/local is always used
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+ add_dir_to_list(self.compiler.library_dirs, '!!LOCALBASE!!/lib')
+ add_dir_to_list(self.compiler.include_dirs, '!!LOCALBASE!!/include')
# Add paths specified in the environment variables LDFLAGS and
# CPPFLAGS for header and library files.
@@ -612,8 +612,6 @@ class PyBuildExt(build_ext):
depends = ['socketmodule.h']) )
# Detect SSL support for the socket module (via _ssl)
search_for_ssl_incs_in = [
- '/usr/local/ssl/include',
- '/usr/contrib/ssl/include/'
]
ssl_incs = find_file('openssl/ssl.h', inc_dirs,
search_for_ssl_incs_in
@@ -624,9 +622,7 @@ class PyBuildExt(build_ext):
if krb5_h:
ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
- ['/usr/local/ssl/lib',
- '/usr/contrib/ssl/lib/'
- ] )
+ [ ] )
if (ssl_incs is not None and
ssl_libs is not None):
@@ -720,7 +716,7 @@ class PyBuildExt(build_ext):
# BerkeleyDB 4.6.x is not stable on many architectures.
arch = platform_machine()
if arch not in ('i386', 'i486', 'i586', 'i686',
- 'x86_64', 'ia64'):
+ 'x86_64', 'amd64', 'ia64'):
return False
return True
@@ -783,6 +779,7 @@ class PyBuildExt(build_ext):
std_variants.append(os.path.join(dn, "db3.%d"%x))
db_inc_paths = std_variants + db_inc_paths
+ db_inc_paths = [ '!!LOCALBASE!!/include/db4' ]
db_inc_paths = [p for p in db_inc_paths if os.path.exists(p)]
db_ver_inc_map = {}
@@ -839,6 +836,7 @@ class PyBuildExt(build_ext):
db_incdir.replace("include", 'lib64'),
db_incdir.replace("include", 'lib'),
]
+ db_dirs_to_check = ['!!LOCALBASE!!/lib/db4']
db_dirs_to_check = filter(os.path.isdir, db_dirs_to_check)
# Look for a version specific db-X.Y before an ambiguoius dbX
@@ -847,6 +845,7 @@ class PyBuildExt(build_ext):
# symlink to more general names?
for dblib in (('db-%d.%d' % db_ver),
('db%d%d' % db_ver),
+ ('db'),
('db%d' % db_ver[0])):
dblib_file = self.compiler.find_library_file(
db_dirs_to_check + lib_dirs, dblib )
@@ -894,6 +893,7 @@ class PyBuildExt(build_ext):
'/usr/local/include/sqlite',
'/usr/local/include/sqlite3',
]
+ sqlite_inc_paths = [ '!!LOCALBASE!!/include' ]
MIN_SQLITE_VERSION_NUMBER = (3, 0, 8)
MIN_SQLITE_VERSION = ".".join([str(x)
for x in MIN_SQLITE_VERSION_NUMBER])
@@ -932,6 +932,7 @@ class PyBuildExt(build_ext):
os.path.join(sqlite_incdir, '..', '..', 'lib64'),
os.path.join(sqlite_incdir, '..', '..', 'lib'),
]
+ sqlite_dirs_to_check = [ '!!LOCALBASE!!/lib' ]
sqlite_libfile = self.compiler.find_library_file(
sqlite_dirs_to_check + lib_dirs, 'sqlite3')
sqlite_libdir = [os.path.abspath(os.path.dirname(sqlite_libfile))]
@@ -987,7 +988,7 @@ class PyBuildExt(build_ext):
# the more recent berkeleydb's db.h file first in the include path
# when attempting to compile and it will fail.
f = "/usr/include/db.h"
- if os.path.exists(f) and not db_incs:
+ if os.path.exists(f):
data = open(f).read()
m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
if m is not None:
@@ -1191,10 +1192,8 @@ class PyBuildExt(build_ext):
define_macros = define_macros,
include_dirs = [expatinc],
sources = ['pyexpat.c',
- 'expat/xmlparse.c',
- 'expat/xmlrole.c',
- 'expat/xmltok.c',
],
+ libraries = ['expat'],
))
# Fredrik Lundh's cElementTree module. Note that this also
@@ -1269,6 +1268,14 @@ class PyBuildExt(build_ext):
)
libraries = []
+ elif platform.startswith('openbsd'):
+ macros = dict( # OpenBSD
+ HAVE_SEM_OPEN=0, # Not implemented
+ HAVE_SEM_TIMEDWAIT=0,
+ HAVE_FD_TRANSFER=1,
+ )
+ libraries = []
+
else: # Linux and other unices
macros = dict(
HAVE_SEM_OPEN=1,
@@ -1309,6 +1316,9 @@ class PyBuildExt(build_ext):
if platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
'freebsd7', 'freebsd8'):
exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
+ if platform in ('openbsd4'):
+ exts.append( Extension('ossaudiodev', ['ossaudiodev.c'],
+ libraries = ['ossaudio'],) )
else:
missing.append('ossaudiodev')
@@ -1510,8 +1520,7 @@ class PyBuildExt(build_ext):
# The versions with dots are used on Unix, and the versions without
# dots on Windows, for detection by cygwin.
tcllib = tklib = tcl_includes = tk_includes = None
- for version in ['8.5', '85', '8.4', '84', '8.3', '83', '8.2',
- '82', '8.1', '81', '8.0', '80']:
+ for version in ['84']:
tklib = self.compiler.find_library_file(lib_dirs, 'tk' + version)
tcllib = self.compiler.find_library_file(lib_dirs, 'tcl' + version)
if tklib and tcllib:
@@ -1863,7 +1872,7 @@ def main():
# Scripts to install
scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
'Tools/scripts/2to3',
- 'Lib/smtpd.py']
+ ]
)
# --install-platlib