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') | 		compiler.launch_tool('vup') | ||||||
| 		return | 		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') | 		compiler.launch_tool('vpm') | ||||||
| 		return | 		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() { | fn (v mut V) cc() { | ||||||
| 	v.build_thirdparty_obj_files() | 	v.build_thirdparty_obj_files() | ||||||
| 	vexe := vexe_path() | 	vexe := vexe_path() | ||||||
|  | @ -57,7 +68,7 @@ fn (v mut V) cc() { | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	$if windows { | 	$if windows { | ||||||
| 		if v.pref.ccompiler == 'msvc' { | 		if v.pref.ccompiler == 'msvc' || no_mingw_installed() { | ||||||
| 			v.cc_msvc() | 			v.cc_msvc() | ||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
|  | @ -257,7 +268,20 @@ start: | ||||||
| 		println(cmd) | 		println(cmd) | ||||||
| 	} | 	} | ||||||
| 	ticks := time.ticks() | 	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 { | 	if res.exit_code != 0 { | ||||||
| 		// the command could not be found by the system
 | 		// the command could not be found by the system
 | ||||||
| 		if res.exit_code == 127 { | 		if res.exit_code == 127 { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue