mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-29 18:52:30 +00:00 
			
		
		
		
	Added API and Makefile rules for share/ files
This commit is contained in:
		
							parent
							
								
									bd2c8ec886
								
							
						
					
					
						commit
						73e68fe323
					
				
					 4 changed files with 26 additions and 0 deletions
				
			
		|  | @ -421,6 +421,27 @@ std::string rewrite_yosys_exe(std::string exe) | |||
| 	return exe; | ||||
| } | ||||
| 
 | ||||
| std::string get_share_file_name(std::string file) | ||||
| { | ||||
| 	char buffer[1024]; | ||||
| 	ssize_t buflen = readlink("/proc/self/exe", buffer, sizeof(buffer)-1); | ||||
| 
 | ||||
| 	if (buflen < 0) | ||||
| 		log_error("Can't find file `%s': reading of /proc/self/exe failed!\n", file.c_str()); | ||||
| 
 | ||||
| 	buffer[buflen] = 0; | ||||
| 
 | ||||
| 	std::string newfile_inplace = stringf("%s/share/%s", dirname(buffer), file.c_str()); | ||||
| 	if (access(newfile_inplace.c_str(), F_OK) == 0) | ||||
| 		return newfile_inplace; | ||||
| 
 | ||||
| 	std::string newfile_system = stringf("%s/../share/yosys/%s", dirname(buffer), file.c_str()); | ||||
| 	if (access(newfile_system.c_str(), F_OK) == 0) | ||||
| 		return newfile_system; | ||||
| 
 | ||||
| 	log_error("Can't find file `%s': no `%s' and no `%s' found!\n", file.c_str(), newfile_inplace.c_str(), newfile_system.c_str()); | ||||
| } | ||||
| 
 | ||||
| int main(int argc, char **argv) | ||||
| { | ||||
| 	std::string frontend_command = "auto"; | ||||
|  |  | |||
|  | @ -34,6 +34,7 @@ extern Tcl_Interp *yosys_get_tcl_interp(); | |||
| // implemented in driver.cc
 | ||||
| extern RTLIL::Design *yosys_get_design(); | ||||
| std::string rewrite_yosys_exe(std::string exe); | ||||
| std::string get_share_file_name(std::string file); | ||||
| 
 | ||||
| struct Pass | ||||
| { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue