Add --getenv option.

This commit is contained in:
Wilson Snyder
2017-09-23 18:03:39 -04:00
parent c693e52f6c
commit 46e300b2c5
6 changed files with 64 additions and 4 deletions
+17
View File
@@ -410,6 +410,18 @@ V3LangCode V3Options::fileLanguage(const string &filename) {
//######################################################################
// Environment
string V3Options::getenvBuiltins(const string& var) {
if (var == "PERL") return getenvPERL();
else if (var == "SYSTEMC") return getenvSYSTEMC();
else if (var == "SYSTEMC_ARCH") return getenvSYSTEMC_ARCH();
else if (var == "SYSTEMC_INCLUDE") return getenvSYSTEMC_INCLUDE();
else if (var == "SYSTEMC_LIBDIR") return getenvSYSTEMC_LIBDIR();
else if (var == "VERILATOR_ROOT") return getenvVERILATOR_ROOT();
else {
return V3Os::getenvStr(var,"");
}
}
string V3Options::getenvPERL() {
return V3Os::getenvStr("PERL","perl");
}
@@ -762,6 +774,11 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc, char
else if ( !strncmp (sw, "-G", strlen("-G"))) {
addParameter(string (sw+strlen("-G")), false);
}
else if ( !strcmp (sw, "-getenv") && (i+1)<argc ) {
shift;
cout<<V3Options::getenvBuiltins(argv[i])<<endl;
exit(0);
}
else if ( !strncmp (sw, "-I", 2)) {
addIncDirUser(parseFileArg(optdir, string (sw+strlen("-I"))));
}