mirror of
				https://github.com/python/cpython.git
				synced 2025-10-27 03:34:32 +00:00 
			
		
		
		
	[Patch #441691] preprocess() method for Borland C compiler.
I have no way of testing this.
This commit is contained in:
		
							parent
							
								
									4d2dded044
								
							
						
					
					
						commit
						db7aed5219
					
				
					 1 changed files with 35 additions and 1 deletions
				
			
		|  | @ -21,7 +21,7 @@ | ||||||
| from distutils.ccompiler import \ | from distutils.ccompiler import \ | ||||||
|      CCompiler, gen_preprocess_options, gen_lib_options |      CCompiler, gen_preprocess_options, gen_lib_options | ||||||
| from distutils.file_util import write_file | from distutils.file_util import write_file | ||||||
| 
 | from distutils.dep_util import newer | ||||||
| 
 | 
 | ||||||
| class BCPPCompiler(CCompiler) : | class BCPPCompiler(CCompiler) : | ||||||
|     """Concrete class that implements an interface to the Borland C/C++ |     """Concrete class that implements an interface to the Borland C/C++ | ||||||
|  | @ -373,3 +373,37 @@ def object_filenames (self, | ||||||
|         return obj_names |         return obj_names | ||||||
| 
 | 
 | ||||||
|     # object_filenames () |     # object_filenames () | ||||||
|  | 
 | ||||||
|  |     def preprocess (self, | ||||||
|  |                     source, | ||||||
|  |                     output_file=None, | ||||||
|  |                     macros=None, | ||||||
|  |                     include_dirs=None, | ||||||
|  |                     extra_preargs=None, | ||||||
|  |                     extra_postargs=None): | ||||||
|  | 
 | ||||||
|  |         (_, macros, include_dirs) = \ | ||||||
|  |             self._fix_compile_args(None, macros, include_dirs) | ||||||
|  |         pp_opts = gen_preprocess_options(macros, include_dirs) | ||||||
|  |         pp_args = ['cpp32.exe'] + pp_opts | ||||||
|  |         if output_file is not None: | ||||||
|  |             pp_args.append('-o' + output_file) | ||||||
|  |         if extra_preargs: | ||||||
|  |             pp_args[:0] = extra_preargs | ||||||
|  |         if extra_postargs: | ||||||
|  |             pp_args.extend(extra_postargs) | ||||||
|  |         pp_args.append(source) | ||||||
|  | 
 | ||||||
|  |         # We need to preprocess: either we're being forced to, or the | ||||||
|  |         # source file is newer than the target (or the target doesn't | ||||||
|  |         # exist). | ||||||
|  |         if self.force or output_file is None or newer(source, output_file): | ||||||
|  |             if output_file: | ||||||
|  |                 self.mkpath(os.path.dirname(output_file)) | ||||||
|  |             try: | ||||||
|  |                 self.spawn(pp_args) | ||||||
|  |             except DistutilsExecError, msg: | ||||||
|  |                 print msg | ||||||
|  |                 raise CompileError, msg | ||||||
|  | 
 | ||||||
|  |     # preprocess() | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andrew M. Kuchling
						Andrew M. Kuchling