fix "v symlink" with relative paths
							parent
							
								
									8e32ef382a
								
							
						
					
					
						commit
						dcea76ff41
					
				| 
						 | 
				
			
			@ -1036,21 +1036,22 @@ pub fn vfmt(args[]string) {
 | 
			
		|||
 | 
			
		||||
pub fn create_symlink() {
 | 
			
		||||
	$if windows { return }
 | 
			
		||||
	vexe := os.executable()
 | 
			
		||||
	vexe := vexe_path()
 | 
			
		||||
	link_path := '/usr/local/bin/v'
 | 
			
		||||
	ret := os.system('ln -sf $vexe $link_path')
 | 
			
		||||
	if ret == 0 {
 | 
			
		||||
		println('symlink "$link_path" has been created')
 | 
			
		||||
		println('Symlink "$link_path" has been created')
 | 
			
		||||
	} else {
 | 
			
		||||
		println('failed to create symlink "$link_path", '+
 | 
			
		||||
			'make sure you run with sudo')
 | 
			
		||||
		println('Failed to create symlink "$link_path". Try again with sudo.')
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub fn vexe_path() string {
 | 
			
		||||
	vexe := os.getenv('VEXE')
 | 
			
		||||
	if '' != vexe {	return vexe	}
 | 
			
		||||
	return os.executable()
 | 
			
		||||
	real_vexe_path := os.realpath(os.executable())
 | 
			
		||||
	os.setenv('VEXE', real_vexe_path, true)
 | 
			
		||||
	return real_vexe_path
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub fn verror(s string) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,7 +29,7 @@ mut:
 | 
			
		|||
// `mod` == "vlib/os"
 | 
			
		||||
fn generate_vh(mod string) {
 | 
			
		||||
	println('\n\n\n\nGenerating a V header file for module `$mod`')
 | 
			
		||||
	vexe := os.executable()
 | 
			
		||||
	vexe := vexe_path()
 | 
			
		||||
	full_mod_path := filepath.join(os.dir(vexe), mod)
 | 
			
		||||
	dir := if mod.starts_with('vlib') { '$compiler.v_modules_path${os.path_separator}$mod' } else { mod }
 | 
			
		||||
	path := dir + '.vh'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue