mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	Patch #718551: cygwinccompiler.get_versions() patch
The cygwinccompiler.get_versions() function only handles versions numbers of the form "x.y.z". The attached patch enhances get_versions() to handle "x.y" too (i.e., the ".z" is optional). This change causes the unnecessary "--entry _DllMain@12" link option to be suppressed for recent Cygwin and Mingw toolchains. Additionally, it directs recent Mingw toolchains to use gcc instead of dllwrap during linking.
This commit is contained in:
		
							parent
							
								
									11d204ca27
								
							
						
					
					
						commit
						dcae0dc4ed
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -357,7 +357,7 @@ def get_versions():
 | 
			
		|||
        out = os.popen(gcc_exe + ' -dumpversion','r')
 | 
			
		||||
        out_string = out.read()
 | 
			
		||||
        out.close()
 | 
			
		||||
        result = re.search('(\d+\.\d+\.\d+)',out_string)
 | 
			
		||||
        result = re.search('(\d+\.\d+(\.\d+)*)',out_string)
 | 
			
		||||
        if result:
 | 
			
		||||
            gcc_version = StrictVersion(result.group(1))
 | 
			
		||||
        else:
 | 
			
		||||
| 
						 | 
				
			
			@ -369,7 +369,7 @@ def get_versions():
 | 
			
		|||
        out = os.popen(ld_exe + ' -v','r')
 | 
			
		||||
        out_string = out.read()
 | 
			
		||||
        out.close()
 | 
			
		||||
        result = re.search('(\d+\.\d+\.\d+)',out_string)
 | 
			
		||||
        result = re.search('(\d+\.\d+(\.\d+)*)',out_string)
 | 
			
		||||
        if result:
 | 
			
		||||
            ld_version = StrictVersion(result.group(1))
 | 
			
		||||
        else:
 | 
			
		||||
| 
						 | 
				
			
			@ -381,7 +381,7 @@ def get_versions():
 | 
			
		|||
        out = os.popen(dllwrap_exe + ' --version','r')
 | 
			
		||||
        out_string = out.read()
 | 
			
		||||
        out.close()
 | 
			
		||||
        result = re.search(' (\d+\.\d+\.\d+)',out_string)
 | 
			
		||||
        result = re.search(' (\d+\.\d+(\.\d+)*)',out_string)
 | 
			
		||||
        if result:
 | 
			
		||||
            dllwrap_version = StrictVersion(result.group(1))
 | 
			
		||||
        else:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue