[Python-checkins] CVS: distutils/distutils sysconfig.py,1.20,1.21

Greg Ward python-dev@python.org
Mon, 26 Jun 2000 18:59:09 -0700


Update of /cvsroot/python/distutils/distutils
In directory slayer.i.sourceforge.net:/tmp/cvs-serv3347

Modified Files:
	sysconfig.py 
Log Message:
Fixed LDSHARED for AIX, based on a patch by Rene Liebscher.
Ditched my old code that fixed relative paths in the Makefile -- didn't work, 
  doomed to failure, etc.

Index: sysconfig.py
===================================================================
RCS file: /cvsroot/python/distutils/distutils/sysconfig.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -r1.20 -r1.21
*** sysconfig.py	2000/06/25 02:09:14	1.20
--- sysconfig.py	2000/06/27 01:59:06	1.21
***************
*** 223,241 ****
                  del notdone[name]
  
-     # "Fix" all pathnames in the Makefile that are explicitly relative,
-     # ie. that start with "./".  This is a kludge to fix the "./ld_so_aix"
-     # problem, the nature of which is that Python's installed Makefile
-     # refers to "./ld_so_aix", but when we are building extensions we are
-     # far from the directory where Python's Makefile (and ld_so_aix, for
-     # that matter) is installed.  Unfortunately, there are several other
-     # relative pathnames in the Makefile, and this fix doesn't fix them,
-     # because the layout of Python's source tree -- which is what the
-     # Makefile refers to -- is not fully preserved in the Python
-     # installation.  Grumble.
-     from os.path import normpath, join, dirname
-     for (name, value) in done.items():
-         if value[0:2] == "./":
-             done[name] = normpath(join(dirname(fp.name), value))
- 
      # save the results in the global dictionary
      g.update(done)
--- 223,226 ----
***************
*** 258,261 ****
--- 243,258 ----
                
      parse_makefile(file, g)
+     
+     # On AIX, there are wrong paths to the linker scripts in the Makefile
+     # -- these paths are relative to the Python source, but when installed
+     # the scripts are in another directory.
+     if sys.platform: # == 'aix4':          # what about AIX 3.x ?
+         # Linker script is in the config directory, not in Modules as the
+         # Makefile says.
+         python_lib = get_python_lib(standard_lib=1)
+         ld_so_aix = os.path.join(python_lib, 'config', 'ld_so_aix')
+         python_exp = os.path.join(python_lib, 'config', 'python.exp')
+ 
+         g['LDSHARED'] = "%s %s -bI:%s" % (ld_so_aix, g['CC'], python_exp)