Merge remote-tracking branch 'base/master'
This commit is contained in:
		
						commit
						30823ca314
					
				
					 4 changed files with 44 additions and 7 deletions
				
			
		|  | @ -1,10 +1,11 @@ | |||
| # vim: set ft=python: | ||||
| # | ||||
| # Toplevel Scons build script. This should be mostly complete and generic enough | ||||
| # for most builds. | ||||
| # | ||||
| # Eryn Wells <eryn@erynwells.me> | ||||
| 
 | ||||
| ''' | ||||
| Toplevel Scons build script. This should be mostly complete and generic enough | ||||
| for most builds. | ||||
| ''' | ||||
| 
 | ||||
| import logging | ||||
| 
 | ||||
| setup_logging() | ||||
|  |  | |||
|  | @ -184,7 +184,7 @@ class Environment(SCons.Environment.Environment): | |||
|     def _append_custom_tools(self, kwargs): | ||||
|         '''Add custom tools to the `kwargs`.''' | ||||
|         tools = kwargs.setdefault('tools', ['default']) | ||||
|         for tool in ['lib', 'test', 'program', 'sconscript']: | ||||
|         for tool in ['lib', 'test', 'program', 'sconscript', 'swiftc']: | ||||
|             if tool in tools: | ||||
|                 continue | ||||
|             tools.append(tool) | ||||
|  |  | |||
|  | @ -14,7 +14,10 @@ def _do_sconscript(env): | |||
|         exports = {'Library': env.Library, | ||||
|                    'StaticLibrary': env.StaticLibrary, | ||||
|                    'SharedLibrary': env.SharedLibrary, | ||||
|                    'Program': env.Program} | ||||
|                    'Program': env.Program, | ||||
| 
 | ||||
|                    'Append': env.Append, | ||||
|                    'Replace': env.Replace} | ||||
|         SCons.Script._SConscript.GlobalDict.update(exports) | ||||
|         env.log('Reading {}'.format(sconscript)) | ||||
|         return original_sconscript(sconscript, | ||||
|  |  | |||
							
								
								
									
										33
									
								
								site_scons/site_tools/swiftc.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								site_scons/site_tools/swiftc.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | |||
| # swiftc.py | ||||
| # vim: set ft=python: | ||||
| # Eryn Wells <eryn@erynwells.me> | ||||
| 
 | ||||
| ''' | ||||
| SCons plugin for building Swift files with swiftc. | ||||
| ''' | ||||
| 
 | ||||
| import SCons.Action | ||||
| import SCons.Tool | ||||
| import SCons.Util | ||||
| 
 | ||||
| SwiftSuffix = '.swift' | ||||
| SwiftAction = SCons.Action.Action("$SWIFTCCOM", "$SWIFTCCOMSTR") | ||||
| 
 | ||||
| compilers = ['swiftc'] | ||||
| 
 | ||||
| def generate(env): | ||||
|     static_obj, shared_obj = SCons.Tool.createObjBuilders(env) | ||||
|     static_obj.add_action(SwiftSuffix, SwiftAction) | ||||
|     static_obj.add_emitter(SwiftSuffix, SCons.Defaults.SharedObjectEmitter) | ||||
|     shared_obj.add_action(SwiftSuffix, SwiftAction) | ||||
|     shared_obj.add_emitter(SwiftSuffix, SCons.Defaults.SharedObjectEmitter) | ||||
| 
 | ||||
|     if 'SWIFTC' not in env: | ||||
|         compiler = env.Detect(compilers) | ||||
|         env['SWIFTC'] = compiler if compiler else compilers[0] | ||||
|     env['SWIFTFLAGS'] = SCons.Util.CLVar('') | ||||
|     env['SWIFTCCOM']   = '$SWIFTC -o $TARGET -c $SWIFTFLAGS $SOURCES' | ||||
|     env['SWIFTFILESUFFIX'] = SwiftSuffix | ||||
| 
 | ||||
| def exists(env): | ||||
|     return env.Detect(compilers) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue