components/python/python27/patches/02-setup.patch
author John Beck <John.Beck@Oracle.COM>
Thu, 18 Dec 2014 16:14:01 -0800
branchs11u2-sru
changeset 3611 e09fa6c4472b
parent 3379 e99da14b537a
child 3978 adf3ab1a234a
permissions -rw-r--r--
20230129 update Python 2.7 line to version 2.7.9 20207552 problem in UTILITY/PYTHON

This patch modifies the setup script to support Solaris.
As it is Solaris-specific, it is not suitable for upstream.

--- Python-2.7.9/setup.py.~1~	2014-12-10 08:00:01.000000000 -0800
+++ Python-2.7.9/setup.py	2014-12-17 11:39:50.963351605 -0800
@@ -439,9 +439,9 @@
 
     def detect_modules(self):
         # Ensure that /usr/local is always used
-        if not cross_compiling:
-            add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
-            add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+        # if not cross_compiling:
+        #   add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+        #   add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
         if cross_compiling:
             self.add_gcc_paths()
         self.add_multiarch_paths()
@@ -765,6 +765,13 @@
                                                      ['/usr/lib/termcap'],
                                                      'termcap'):
                 readline_libs.append('termcap')
+
+	    if host_platform == 'sunos5':
+		# insert '-zrecord' before the readline libraries that we
+		# want to link with to avoid rl_insert() elimination
+		readline_extra_link_args = ('-Wl,-zrecord','-lreadline','-lncurses')
+		readline_libs = ()
+
             exts.append( Extension('readline', ['readline.c'],
                                    library_dirs=['/usr/lib/termcap'],
                                    extra_link_args=readline_extra_link_args,
@@ -786,7 +793,7 @@
         # socket(2)
         exts.append( Extension('_socket', ['socketmodule.c', 'timemodule.c'],
                                depends=['socketmodule.h'],
-                               libraries=math_libs) )
+                               libraries=math_libs + ['socket', 'nsl']) )
         # Detect SSL support for the socket module (via _ssl)
         search_for_ssl_incs_in = [
                               '/usr/local/ssl/include',
@@ -1587,9 +1594,14 @@
                 sysconfig.get_config_var('POSIX_SEMAPHORES_NOT_ENABLED')):
                 multiprocessing_srcs.append('_multiprocessing/semaphore.c')
 
+	multiproc_libs = []
+	if host_platform == 'sunos5':
+	    multiproc_libs = [ "xnet" ]
+
         if sysconfig.get_config_var('WITH_THREAD'):
             exts.append ( Extension('_multiprocessing', multiprocessing_srcs,
                                     define_macros=macros.items(),
+                                    libraries=multiproc_libs,
                                     include_dirs=["Modules/_multiprocessing"]))
         else:
             missing.append('_multiprocessing')
@@ -2083,7 +2095,8 @@
             # this option. If you want to compile ctypes with the Sun
             # compiler, please research a proper solution, instead of
             # finding some -z option for the Sun compiler.
-            extra_link_args.append('-mimpure-text')
+            #extra_link_args.append('-mimpure-text')
+            pass
 
         elif host_platform.startswith('hp-ux'):
             extra_link_args.append('-fPIC')