From 1a0de753e9840c262b50c6c6f3ef52fb1819284f Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Thu, 17 Sep 2009 21:31:03 -0400 Subject: [PATCH] Don't require SYSTEMPERL_INCLUDE if SYSTEMPERL/src exists. --- Changes | 2 ++ src/V3Options.cpp | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/Changes b/Changes index 6ec992dba..64959209c 100644 --- a/Changes +++ b/Changes @@ -11,6 +11,8 @@ indicates the contributor was also the author of the fix; Thanks! *** Improved warning when "do" used as identifier. +**** Don't require SYSTEMPERL_INCLUDE if SYSTEMPERL/src exists. [Gary Thomas] + **** Fix tracing escaped dotted identifiers, bug107. **** Fix $display with uppercase %M. diff --git a/src/V3Options.cpp b/src/V3Options.cpp index ccd33a849..fc20a4440 100644 --- a/src/V3Options.cpp +++ b/src/V3Options.cpp @@ -374,27 +374,27 @@ string V3Options::getenvSYSTEMPERLGuts() { string V3Options::getenvSYSTEMPERL_INCLUDE() { string var = getenvStr("SYSTEMPERL_INCLUDE",""); - if (var == "" && string(DEFENV_SYSTEMPERL_INCLUDE) != "") { - // Note if SYSTEMPERL is DEFENVed, then SYSTEMPERL_INCLUDE is also DEFENVed - // So we don't need to sweat testing SYSTEMPERL also - var = DEFENV_SYSTEMPERL_INCLUDE; - setenvStr("SYSTEMPERL_INCLUDE", var, "Hardcoded at build time"); + if (var == "") { + string sp_src = V3Options::getenvSYSTEMPERLGuts()+"/src"; + if (V3Options::fileStatNormal(sp_src+"/systemperl.h")) { + var = sp_src; + setenvStr ("SYSTEMPERL_INCLUDE", var, "From $SYSTEMPERL/src"); + } else if (string(DEFENV_SYSTEMPERL_INCLUDE) != "") { + // Note if SYSTEMPERL is DEFENVed, then SYSTEMPERL_INCLUDE is also DEFENVed + // So we don't need to sweat testing DEFENV_SYSTEMPERL also + var = DEFENV_SYSTEMPERL_INCLUDE; + setenvStr("SYSTEMPERL_INCLUDE", var, "Hardcoded at build time"); + } } // Only correct or check it if we really need the value if (v3Global.opt.usingSystemPerlLibs()) { - if (var == "") { - string sp = V3Options::getenvSYSTEMPERLGuts(); - var = sp+"/src"; - setenvStr ("SYSTEMPERL_INCLUDE", var, "From $SYSTEMPERL/src"); - } // We warn about $SYSTEMPERL instead of _INCLUDE since that's more likely // what users will want to set. if (var == "") { - v3fatal("Need $SYSTEMPERL in environment for --sp or --trace\n" + v3fatal("Need $SYSTEMPERL and $SYSTEMPERL_INCLUDE in environment for --sp or --trace\n" "Probably System-Perl isn't installed, see http://www.veripool.org/systemperl\n"); } - if (var != "" - && !V3Options::fileStatNormal(var+"/systemperl.h")) { + else if (var != "" && !V3Options::fileStatNormal(var+"/systemperl.h")) { v3fatal("Neither $SYSTEMPERL nor $SYSTEMPERL_INCLUDE environment vars to point to System-Perl kit: "<