Corrected an issue with "drc catchup" that causes it not to work
because commands issued during initialization set the DRC status in a way that causes DRCContinuous() to return immediately. Also: Implemented a slightly different method when automatically finding the tech file from the input .mag file that loads a technology .magicrc file if one exists. If not, just the .tech file is loaded. This replaces the method of a previous commit that loads the technology .tcl script. The .magicrc file will include the .tcl script but does other things as well.
This commit is contained in:
parent
cb25afc5ff
commit
a54a20ee58
|
|
@ -621,19 +621,19 @@ dbCellReadDef(f, cellDef, ignoreTech, dereference)
|
||||||
found = DBSearchForTech(techfullname, tech, string, 0);
|
found = DBSearchForTech(techfullname, tech, string, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Experimental---check for a ".tcl" file in the same */
|
/* Experimental---check for a ".magicrc" file in */
|
||||||
/* directory as ".tech" and source it instead of */
|
/* the same directory as ".tech" and source it */
|
||||||
/* loading the tech file. */
|
/* first. */
|
||||||
|
|
||||||
if (found)
|
if (found)
|
||||||
{
|
{
|
||||||
char *tclpath;
|
char *rcpath;
|
||||||
|
|
||||||
tclpath = (char *)mallocMagic(strlen(found) + strlen(tech)
|
rcpath = (char *)mallocMagic(strlen(found) + strlen(tech)
|
||||||
+ 6);
|
+ 10);
|
||||||
sprintf(tclpath, "%s/%s.tcl", found, tech);
|
sprintf(rcpath, "%s/%s.magicrc", found, tech);
|
||||||
Tcl_EvalFile(magicinterp, tclpath);
|
Tcl_EvalFile(magicinterp, rcpath);
|
||||||
freeMagic(tclpath);
|
freeMagic(rcpath);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -909,6 +909,10 @@ DRCCatchUp()
|
||||||
|
|
||||||
background = DRCBackGround;
|
background = DRCBackGround;
|
||||||
DRCBackGround = DRC_SET_ON;
|
DRCBackGround = DRC_SET_ON;
|
||||||
|
/* Always reset DRC status to "not running" before calling DRCContinous()
|
||||||
|
* directly.
|
||||||
|
*/
|
||||||
|
DRCStatus = DRC_NOT_RUNNING;
|
||||||
DRCContinuous();
|
DRCContinuous();
|
||||||
DRCBackGround = background;
|
DRCBackGround = background;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue