mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	Sync 2.7.x, 3.3.x, and 3.4.x versions of OS X build-installer.py.
This commit is contained in:
		
							parent
							
								
									4b7a023149
								
							
						
					
					
						commit
						a4f6b006e1
					
				
					 1 changed files with 48 additions and 8 deletions
				
			
		|  | @ -1058,22 +1058,62 @@ def buildPython(): | |||
|     # the end-users system. Also remove the directories from _sysconfigdata.py | ||||
|     # (added in 3.3) if it exists. | ||||
| 
 | ||||
|     include_path = '-I%s/libraries/usr/local/include' % (WORKDIR,) | ||||
|     lib_path = '-L%s/libraries/usr/local/lib' % (WORKDIR,) | ||||
| 
 | ||||
|     path_to_lib = os.path.join(rootDir, 'Library', 'Frameworks', | ||||
|                                 'Python.framework', 'Versions', | ||||
|                                 version, 'lib', 'python%s'%(version,)) | ||||
|     paths = [os.path.join(path_to_lib, 'config' + config_suffix, 'Makefile'), | ||||
|              os.path.join(path_to_lib, '_sysconfigdata.py')] | ||||
|     for path in paths: | ||||
|         if not os.path.exists(path): | ||||
|             continue | ||||
| 
 | ||||
|     # fix Makefile | ||||
|     path = os.path.join(path_to_lib, 'config' + config_suffix, 'Makefile') | ||||
|     fp = open(path, 'r') | ||||
|     data = fp.read() | ||||
|     fp.close() | ||||
| 
 | ||||
|     for p in (include_path, lib_path): | ||||
|         data = data.replace(" " + p, '') | ||||
|         data = data.replace(p + " ", '') | ||||
| 
 | ||||
|     fp = open(path, 'w') | ||||
|     fp.write(data) | ||||
|     fp.close() | ||||
| 
 | ||||
|     # fix _sysconfigdata if it exists | ||||
|     # | ||||
|     # TODO: make this more robust!  test_sysconfig_module of | ||||
|     # distutils.tests.test_sysconfig.SysconfigTestCase tests that | ||||
|     # the output from get_config_var in both sysconfig and | ||||
|     # distutils.sysconfig is exactly the same for both CFLAGS and | ||||
|     # LDFLAGS.  The fixing up is now complicated by the pretty | ||||
|     # printing in _sysconfigdata.py.  Also, we are using the | ||||
|     # pprint from the Python running the installer build which | ||||
|     # may not cosmetically format the same as the pprint in the Python | ||||
|     # being built (and which is used to originally generate | ||||
|     # _sysconfigdata.py). | ||||
| 
 | ||||
|     import pprint | ||||
|     path = os.path.join(path_to_lib, '_sysconfigdata.py') | ||||
|     if os.path.exists(path): | ||||
|         fp = open(path, 'r') | ||||
|         data = fp.read() | ||||
|         fp.close() | ||||
|         # create build_time_vars dict | ||||
|         exec(data) | ||||
|         vars = {} | ||||
|         for k, v in build_time_vars.items(): | ||||
|             if type(v) == type(''): | ||||
|                 for p in (include_path, lib_path): | ||||
|                     v = v.replace(' ' + p, '') | ||||
|                     v = v.replace(p + ' ', '') | ||||
|             vars[k] = v | ||||
| 
 | ||||
|         data = data.replace(' -L%s/libraries/usr/local/lib'%(WORKDIR,), '') | ||||
|         data = data.replace(' -I%s/libraries/usr/local/include'%(WORKDIR,), '') | ||||
|         fp = open(path, 'w') | ||||
|         fp.write(data) | ||||
|         # duplicated from sysconfig._generate_posix_vars() | ||||
|         fp.write('# system configuration generated and used by' | ||||
|                     ' the sysconfig module\n') | ||||
|         fp.write('build_time_vars = ') | ||||
|         pprint.pprint(vars, stream=fp) | ||||
|         fp.close() | ||||
| 
 | ||||
|     # Add symlinks in /usr/local/bin, using relative links | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ned Deily
						Ned Deily