Speed up iteration times
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	
This commit is contained in:
		
							parent
							
								
									72f887c707
								
							
						
					
					
						commit
						91a23d6976
					
				
							
								
								
									
										48
									
								
								build.zig
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								build.zig
									
									
									
									
									
								
							| @ -197,34 +197,38 @@ pub fn build(b: *std.Build) !void { | ||||
|         f.close(); | ||||
|         break :blk full_path; | ||||
|     }; | ||||
|     const llvm_components_result = try run_process_and_capture_stdout(b, &.{ llvm_config_path, "--components" }); | ||||
|     var it = std.mem.splitScalar(u8, llvm_components_result, ' '); | ||||
|     { | ||||
|         var args = std.ArrayList([]const u8).init(b.allocator); | ||||
|         try args.append(llvm_config_path); | ||||
|         try args.append("--libs"); | ||||
|         while (it.next()) |component| { | ||||
|             try args.append(std.mem.trimRight(u8, component, "\n")); | ||||
|         } | ||||
|         const llvm_libs_result = try run_process_and_capture_stdout(b, args.items); | ||||
|         it = std.mem.splitScalar(u8, llvm_libs_result, ' '); | ||||
|     } | ||||
| 
 | ||||
|     while (it.next()) |lib| { | ||||
|         const llvm_lib = std.mem.trimLeft(u8, std.mem.trimRight(u8, lib, "\n"), "-l"); | ||||
|         try llvm_libs.append(llvm_lib); | ||||
|     } | ||||
|     const llvm_config_invocation = try run_process_and_capture_stdout(b, &.{ | ||||
|         llvm_config_path, | ||||
|         "--cxxflags", | ||||
|         "--libdir", | ||||
|         "--build-mode", | ||||
|         "--libs", | ||||
|     }); | ||||
|     var it = std.mem.splitScalar(u8, llvm_config_invocation, '\n'); | ||||
| 
 | ||||
|     const llvm_cxx_flags_result = try run_process_and_capture_stdout(b, &.{ llvm_config_path, "--cxxflags" }); | ||||
|     it = std.mem.splitScalar(u8, llvm_cxx_flags_result, ' '); | ||||
|     while (it.next()) |flag| { | ||||
|         const llvm_cxx_flag = std.mem.trimRight(u8, flag, "\n"); | ||||
|     const llvm_cxx_flags_chunk = it.next() orelse unreachable; | ||||
|     var llvm_cxx_flags_it = std.mem.splitScalar(u8, llvm_cxx_flags_chunk, ' '); | ||||
|     while (llvm_cxx_flags_it.next()) |llvm_cxx_flag| { | ||||
|         try flags.append(llvm_cxx_flag); | ||||
|     } | ||||
| 
 | ||||
|     const llvm_lib_dir = std.mem.trimRight(u8, try run_process_and_capture_stdout(b, &.{ llvm_config_path, "--libdir" }), "\n"); | ||||
|     const llvm_lib_dir = it.next() orelse unreachable; | ||||
|     const llvm_build_mode_string = it.next() orelse unreachable; | ||||
|     const llvm_build_mode = inline for (@typeInfo(CmakeBuildType).@"enum".fields) |field| { | ||||
|         if (std.mem.eql(u8, llvm_build_mode_string, field.name)) { | ||||
|             break @field(CmakeBuildType, field.name); | ||||
|         } | ||||
|     } else unreachable; | ||||
| 
 | ||||
|     if (optimize != .ReleaseSmall) { | ||||
|     const llvm_lib_chunk = it.next() orelse unreachable; | ||||
|     var llvm_lib_it = std.mem.splitScalar(u8, llvm_lib_chunk, ' '); | ||||
|     while (llvm_lib_it.next()) |llvm_lib| { | ||||
|         const llvm_lib_arg = std.mem.trimLeft(u8, llvm_lib, "-l"); | ||||
|         try llvm_libs.append(llvm_lib_arg); | ||||
|     } | ||||
| 
 | ||||
|     if (llvm_build_mode == .Debug) { | ||||
|         try flags.append("-g"); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user