cc.v: use msvc on Windows by default if gcc is not installed
							parent
							
								
									c4ff0d565b
								
							
						
					
					
						commit
						6f95be60a1
					
				
							
								
								
									
										2
									
								
								v.v
								
								
								
								
							
							
						
						
									
										2
									
								
								v.v
								
								
								
								
							|  | @ -42,7 +42,7 @@ fn main() { | |||
| 		compiler.launch_tool('vup') | ||||
| 		return | ||||
| 	} | ||||
| 	else if ('search' in commands) || ('install' in commands) || ('update' in commands) || ('remove' in commands){ | ||||
| 	else if 'search' in commands || 'install' in commands || 'update' in commands || 'remove' in commands { | ||||
| 		compiler.launch_tool('vpm') | ||||
| 		return | ||||
| 	} | ||||
|  |  | |||
|  | @ -14,6 +14,17 @@ fn todo() { | |||
| 	 | ||||
| }	 | ||||
| 
 | ||||
| fn no_mingw_installed() bool { | ||||
| 	$if !windows { | ||||
| 		panic('no_mingw_installed() can only run on Windows') | ||||
| 	} | ||||
| 	os.exec('gcc -v') or { | ||||
| 		println('mingw not found, trying to build with msvc...') | ||||
| 		return true | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
| 
 | ||||
| fn (v mut V) cc() { | ||||
| 	v.build_thirdparty_obj_files() | ||||
| 	vexe := vexe_path() | ||||
|  | @ -57,7 +68,7 @@ fn (v mut V) cc() { | |||
| 		} | ||||
| 	} | ||||
| 	$if windows { | ||||
| 		if v.pref.ccompiler == 'msvc' { | ||||
| 		if v.pref.ccompiler == 'msvc' || no_mingw_installed() { | ||||
| 			v.cc_msvc() | ||||
| 			return | ||||
| 		} | ||||
|  | @ -257,7 +268,20 @@ start: | |||
| 		println(cmd) | ||||
| 	} | ||||
| 	ticks := time.ticks() | ||||
| 	res := os.exec(cmd) or { verror(err) return } | ||||
| 	res := os.exec(cmd) or { | ||||
| 		// C compilation failed.
 | ||||
| 		// If we are on Windows, try msvc
 | ||||
| 		println('C compilation failed.') | ||||
| 		/* | ||||
| 		if os.user_os() == 'windows' && v.pref.ccompiler != 'msvc' { | ||||
| 			println('Trying to build with MSVC') | ||||
| 			v.cc_msvc() | ||||
| 			return | ||||
| 		} | ||||
| 		*/ | ||||
| 		verror(err)  | ||||
| 		return | ||||
| 	} | ||||
| 	if res.exit_code != 0 { | ||||
| 		// the command could not be found by the system
 | ||||
| 		if res.exit_code == 127 { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue