mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 05:01:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Install C/C++ header files to the Python include directory."""
 | |
| 
 | |
| from packaging.command.cmd import Command
 | |
| 
 | |
| 
 | |
| # XXX force is never used
 | |
| class install_headers(Command):
 | |
| 
 | |
|     description = "install C/C++ header files"
 | |
| 
 | |
|     user_options = [('install-dir=', 'd',
 | |
|                      "directory to install header files to"),
 | |
|                     ('force', 'f',
 | |
|                      "force installation (overwrite existing files)"),
 | |
|                    ]
 | |
| 
 | |
|     boolean_options = ['force']
 | |
| 
 | |
|     def initialize_options(self):
 | |
|         self.install_dir = None
 | |
|         self.force = False
 | |
|         self.outfiles = []
 | |
| 
 | |
|     def finalize_options(self):
 | |
|         self.set_undefined_options('install_dist',
 | |
|                                    ('install_headers', 'install_dir'),
 | |
|                                    'force')
 | |
| 
 | |
|     def run(self):
 | |
|         headers = self.distribution.headers
 | |
|         if not headers:
 | |
|             return
 | |
| 
 | |
|         self.mkpath(self.install_dir)
 | |
|         for header in headers:
 | |
|             out = self.copy_file(header, self.install_dir)[0]
 | |
|             self.outfiles.append(out)
 | |
| 
 | |
|     def get_inputs(self):
 | |
|         return self.distribution.headers or []
 | |
| 
 | |
|     def get_outputs(self):
 | |
|         return self.outfiles
 | 
