driver: use base path for modules if in default install location
Otherwise use the value from -the -BM command line option
This commit is contained in:
parent
8782d915ea
commit
8977c4902b
|
|
@ -1403,10 +1403,20 @@ int main(int argc, char **argv)
|
|||
/* Write values to the iconfig file. */
|
||||
fprintf(iconfig_file, "basedir:%s\n", base);
|
||||
|
||||
/* Tell the core where to find the system VPI modules. */
|
||||
fprintf(iconfig_file, "module:%s%csystem.vpi\n", vpi_dir, sep);
|
||||
fprintf(iconfig_file, "module:%s%cvhdl_sys.vpi\n", vpi_dir, sep);
|
||||
fprintf(iconfig_file, "module:%s%cvhdl_textio.vpi\n", vpi_dir, sep);
|
||||
char module_prefix[1024];
|
||||
const char *module_suffix;
|
||||
if (strcmp(vpi_dir, base) != 0) {
|
||||
snprintf(module_prefix, sizeof(module_prefix), "module:%s%c", vpi_dir, sep);
|
||||
module_suffix = ".vpi";
|
||||
} else {
|
||||
snprintf(module_prefix, sizeof(module_prefix), "module:");
|
||||
module_suffix = "";
|
||||
}
|
||||
|
||||
/* Tell the core where to find the built-in VPI modules. */
|
||||
fprintf(iconfig_file, "%ssystem%s\n", module_prefix, module_suffix);
|
||||
fprintf(iconfig_file, "%svhdl_sys%s\n", module_prefix, module_suffix);
|
||||
fprintf(iconfig_file, "%svhdl_textio%s\n", module_prefix, module_suffix);
|
||||
|
||||
/* If verilog-2005/09/12/17/23 is enabled or icarus-misc or verilog-ams,
|
||||
* then include the v2005_math library. */
|
||||
|
|
@ -1417,13 +1427,13 @@ int main(int argc, char **argv)
|
|||
strcmp(generation, "2023") == 0 ||
|
||||
strcmp(gen_icarus, "icarus-misc") == 0 ||
|
||||
strcmp(gen_verilog_ams, "verilog-ams") == 0) {
|
||||
fprintf(iconfig_file, "module:%s%cv2005_math.vpi\n", vpi_dir, sep);
|
||||
fprintf(iconfig_file, "%sv2005_math%s\n", module_prefix, module_suffix);
|
||||
}
|
||||
/* If verilog-ams or icarus_misc is enabled, then include the
|
||||
* va_math module as well. */
|
||||
if (strcmp(gen_verilog_ams,"verilog-ams") == 0 ||
|
||||
strcmp(gen_icarus, "icarus-misc") == 0) {
|
||||
fprintf(iconfig_file, "module:%s%cva_math.vpi\n", vpi_dir, sep);
|
||||
fprintf(iconfig_file, "%sva_math%s\n", module_prefix, module_suffix);
|
||||
}
|
||||
/* If verilog-2009 (SystemVerilog) is enabled, then include the
|
||||
v2009 module. */
|
||||
|
|
@ -1432,7 +1442,7 @@ int main(int argc, char **argv)
|
|||
strcmp(generation, "2012") == 0 ||
|
||||
strcmp(generation, "2017") == 0 ||
|
||||
strcmp(generation, "2023") == 0) {
|
||||
fprintf(iconfig_file, "module:%s%cv2009.vpi\n", vpi_dir, sep);
|
||||
fprintf(iconfig_file, "%sv2009%s\n", module_prefix, module_suffix);
|
||||
}
|
||||
|
||||
if (mtm != 0) fprintf(iconfig_file, "-T:%s\n", mtm);
|
||||
|
|
|
|||
Loading…
Reference in New Issue