Complete rewrite of the trace system (now a stream).
* Change: In Hurricane, in Flags add operator overload for "int" type and not only "unsigned int". Otherwise the compiler complaints about ambiguous overload when using enum values which are considered as "int". Simpler code for the BaseFlags::contains() method. Added implicit conversion from BaseFlags toward bool type. * Change: In Hurricane, in Commons, complete replacement of the previous two trace systems (trace & ltrace) by a stream-based one. As it is a true object it is much less fragile than the one based on defines (but maybe a little slower). Define a reservation table for the trace levels for all the Coriolis & Chams components. * Change: All tools, use the new trace system.
This commit is contained in:
parent
1c7cbbe6f7
commit
82cff69d9f
|
@ -84,6 +84,7 @@ stylesTable = \
|
||||||
, (Drawing, 'gmetalh' , { 'color':'128,255,200', 'pattern':'light_antihash0.8', 'border':1 })
|
, (Drawing, 'gmetalh' , { 'color':'128,255,200', 'pattern':'light_antihash0.8', 'border':1 })
|
||||||
, (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8', 'border':1 })
|
, (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8', 'border':1 })
|
||||||
, (Drawing, 'gcut' , { 'color':'255,255,190', 'border':1 })
|
, (Drawing, 'gcut' , { 'color':'255,255,190', 'border':1 })
|
||||||
|
, (Drawing, 'gcell' , { 'color':'255,255,190', 'pattern':'0000000000000000', 'border':4 })
|
||||||
)
|
)
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
@ -189,6 +190,7 @@ stylesTable = \
|
||||||
, (Drawing, 'gmetalh' , { 'color':'128,255,200', 'pattern':'antislash2.32' , 'border':1 })
|
, (Drawing, 'gmetalh' , { 'color':'128,255,200', 'pattern':'antislash2.32' , 'border':1 })
|
||||||
, (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8', 'border':1 })
|
, (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8', 'border':1 })
|
||||||
, (Drawing, 'gcut' , { 'color':'255,255,190', 'border':1 })
|
, (Drawing, 'gcut' , { 'color':'255,255,190', 'border':1 })
|
||||||
|
, (Drawing, 'gcell' , { 'color':'255,255,190', 'pattern':'0000000000000000', 'border':4 })
|
||||||
)
|
)
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
@ -361,5 +363,6 @@ stylesTable = \
|
||||||
, (Drawing, 'gmetalh' , { 'color':'128,255,200', 'pattern':'light_antihash0.8' , 'border':1 })
|
, (Drawing, 'gmetalh' , { 'color':'128,255,200', 'pattern':'light_antihash0.8' , 'border':1 })
|
||||||
, (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8' , 'border':1 })
|
, (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8' , 'border':1 })
|
||||||
, (Drawing, 'gcut' , { 'color':'255,255,190', 'border':1 })
|
, (Drawing, 'gcut' , { 'color':'255,255,190', 'border':1 })
|
||||||
|
, (Drawing, 'gcell' , { 'color':'255,255,190', 'pattern':'0000000000000000', 'border':4 })
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -7,7 +7,8 @@ parametersTable = \
|
||||||
, ('misc.logMode' , TypeBool, False)
|
, ('misc.logMode' , TypeBool, False)
|
||||||
, ('misc.verboseLevel1', TypeBool, True )
|
, ('misc.verboseLevel1', TypeBool, True )
|
||||||
, ('misc.verboseLevel2', TypeBool, False)
|
, ('misc.verboseLevel2', TypeBool, False)
|
||||||
, ('misc.traceLevel' , TypeInt , 1000, {'min':0} )
|
, ('misc.minTraceLevel', TypeInt , 0, {'min':0} )
|
||||||
|
, ('misc.maxTraceLevel', TypeInt , 0, {'min':0} )
|
||||||
|
|
||||||
, ("viewer.printer.mode", TypeEnumerate ,1
|
, ("viewer.printer.mode", TypeEnumerate ,1
|
||||||
, { 'values':( ("Cell Mode" , 1)
|
, { 'values':( ("Cell Mode" , 1)
|
||||||
|
@ -58,7 +59,8 @@ layoutTable = \
|
||||||
, (TypeOption, 'misc.verboseLevel2' , 'Very Verbose' , 0)
|
, (TypeOption, 'misc.verboseLevel2' , 'Very Verbose' , 0)
|
||||||
, (TypeOption, 'misc.info' , 'Show Info' , 0)
|
, (TypeOption, 'misc.info' , 'Show Info' , 0)
|
||||||
, (TypeOption, 'misc.logMode' , 'Output is a TTY' , 0)
|
, (TypeOption, 'misc.logMode' , 'Output is a TTY' , 0)
|
||||||
, (TypeOption, 'misc.traceLevel' , 'Trace Level' , 1)
|
, (TypeOption, 'misc.minTraceLevel' , 'Min. Trace Level' , 1)
|
||||||
|
, (TypeOption, 'misc.maxTraceLevel' , 'Max. Trace Level' , 1)
|
||||||
, (TypeTitle , 'Print/Snapshot Parameters')
|
, (TypeTitle , 'Print/Snapshot Parameters')
|
||||||
, (TypeOption, 'viewer.printer.mode' , 'Printer/Snapshot Mode', 1)
|
, (TypeOption, 'viewer.printer.mode' , 'Printer/Snapshot Mode', 1)
|
||||||
, (TypeOption, 'viewer.printer.paper', 'Paper Size' , 0)
|
, (TypeOption, 'viewer.printer.paper', 'Paper Size' , 0)
|
||||||
|
|
|
@ -11,9 +11,12 @@ Cfg.getParamBool("misc.bug" ).setBool(False)
|
||||||
Cfg.getParamBool("misc.logMode" ).setBool(True )
|
Cfg.getParamBool("misc.logMode" ).setBool(True )
|
||||||
Cfg.getParamBool("misc.verboseLevel1").setBool(True )
|
Cfg.getParamBool("misc.verboseLevel1").setBool(True )
|
||||||
Cfg.getParamBool("misc.verboseLevel2").setBool(False)
|
Cfg.getParamBool("misc.verboseLevel2").setBool(False)
|
||||||
Cfg.getParamInt ("misc.traceLevel" ).setInt (1000 )
|
Cfg.getParamInt ("misc.minTraceLevel").setInt (0 )
|
||||||
param = Cfg.getParamInt ("misc.traceLevel")
|
Cfg.getParamInt ("misc.maxTraceLevel").setInt (0 )
|
||||||
|
param = Cfg.getParamInt ("misc.minTraceLevel")
|
||||||
param.setMin(0)
|
param.setMin(0)
|
||||||
|
param = Cfg.getParamInt ("misc.maxTraceLevel")
|
||||||
|
param.setMax(0)
|
||||||
|
|
||||||
# Misc. tab layout.
|
# Misc. tab layout.
|
||||||
layout = Cfg.Configuration.get().getLayout()
|
layout = Cfg.Configuration.get().getLayout()
|
||||||
|
@ -26,4 +29,5 @@ layout.addParameter ( "Misc.", "misc.info" , "Show Infos" , 0 )
|
||||||
layout.addParameter ( "Misc.", "misc.paranoid" , "Show Everything" , 0 )
|
layout.addParameter ( "Misc.", "misc.paranoid" , "Show Everything" , 0 )
|
||||||
layout.addParameter ( "Misc.", "misc.bug" , "Show Bugs" , 0 )
|
layout.addParameter ( "Misc.", "misc.bug" , "Show Bugs" , 0 )
|
||||||
layout.addParameter ( "Misc.", "misc.logMode" , "Output is a TTY" , 0 )
|
layout.addParameter ( "Misc.", "misc.logMode" , "Output is a TTY" , 0 )
|
||||||
layout.addParameter ( "Misc.", "misc.traceLevel" , "Trace Level" , 1 )
|
layout.addParameter ( "Misc.", "misc.minTraceLevel", "Min. Trace Level", 1 )
|
||||||
|
layout.addParameter ( "Misc.", "misc.maxTraceLevel", "Max. Trace Level", 1 )
|
||||||
|
|
|
@ -27,7 +27,6 @@ namespace CRL {
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::inltrace;
|
|
||||||
using Hurricane::Initializer;
|
using Hurricane::Initializer;
|
||||||
using Hurricane::JsonTypes;
|
using Hurricane::JsonTypes;
|
||||||
using Hurricane::Warning;
|
using Hurricane::Warning;
|
||||||
|
@ -133,7 +132,7 @@ namespace CRL {
|
||||||
, DataBase::CreateLib|DataBase::WarnCreateLib );
|
, DataBase::CreateLib|DataBase::WarnCreateLib );
|
||||||
AllianceLibrary* aLibrary = NULL;
|
AllianceLibrary* aLibrary = NULL;
|
||||||
|
|
||||||
ltrace(51) << "| " << libDbPath << " : " << library << endl;
|
cdebug.log(19) << "| " << libDbPath << " : " << library << endl;
|
||||||
|
|
||||||
if (library) {
|
if (library) {
|
||||||
aLibrary = af->getAllianceLibrary( library );
|
aLibrary = af->getAllianceLibrary( library );
|
||||||
|
@ -152,7 +151,7 @@ namespace CRL {
|
||||||
if (not library) library = aLibrary->getLibrary();
|
if (not library) library = aLibrary->getLibrary();
|
||||||
}
|
}
|
||||||
|
|
||||||
ltrace(51) << "| Associates to: " << aLibrary << endl;
|
cdebug.log(19) << "| Associates to: " << aLibrary << endl;
|
||||||
|
|
||||||
if (aLibrary->getLibrary() != library) {
|
if (aLibrary->getLibrary() != library) {
|
||||||
cerr << Warning( "JsonAllianceLibrary::toData(): Underlying Hurricane Library discrepency for \"%s\".\n"
|
cerr << Warning( "JsonAllianceLibrary::toData(): Underlying Hurricane Library discrepency for \"%s\".\n"
|
||||||
|
|
|
@ -30,7 +30,6 @@ using namespace std;
|
||||||
|
|
||||||
namespace CRL {
|
namespace CRL {
|
||||||
|
|
||||||
using Hurricane::inltrace;
|
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::Initializer;
|
using Hurricane::Initializer;
|
||||||
using Hurricane::JsonTypes;
|
using Hurricane::JsonTypes;
|
||||||
|
@ -437,7 +436,7 @@ namespace CRL {
|
||||||
Catalog::State* state = get<Catalog::State*>( stack, "_state" );
|
Catalog::State* state = get<Catalog::State*>( stack, "_state" );
|
||||||
CatalogProperty* property = NULL;
|
CatalogProperty* property = NULL;
|
||||||
|
|
||||||
ltrace(51) << "topDBo:" << dbo << endl;
|
cdebug.log(19) << "topDBo:" << dbo << endl;
|
||||||
|
|
||||||
Cell* cell = dynamic_cast<Cell*>( dbo );
|
Cell* cell = dynamic_cast<Cell*>( dbo );
|
||||||
if (cell) {
|
if (cell) {
|
||||||
|
|
|
@ -90,9 +90,6 @@ namespace CRL {
|
||||||
using Hurricane::JsonTypes;
|
using Hurricane::JsonTypes;
|
||||||
using Hurricane::Tabulation;
|
using Hurricane::Tabulation;
|
||||||
using Hurricane::BasicLayer;
|
using Hurricane::BasicLayer;
|
||||||
using Hurricane::trace_in;
|
|
||||||
using Hurricane::trace_out;
|
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::DataBase;
|
using Hurricane::DataBase;
|
||||||
using Hurricane::Technology;
|
using Hurricane::Technology;
|
||||||
|
@ -210,18 +207,17 @@ namespace CRL {
|
||||||
|
|
||||||
unsigned RoutingLayerGauge::getTrackIndex ( DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode ) const
|
unsigned RoutingLayerGauge::getTrackIndex ( DbU::Unit start, DbU::Unit stop, DbU::Unit position, unsigned mode ) const
|
||||||
{
|
{
|
||||||
trace << "RoutingLayerGauge::getTrackIndex ( " << position << " )" << endl;
|
cdebug.log(100,1) << "RoutingLayerGauge::getTrackIndex ( " << position << " )" << endl;
|
||||||
trace_in ();
|
|
||||||
|
|
||||||
long modulo;
|
long modulo;
|
||||||
long depth;
|
long depth;
|
||||||
|
|
||||||
divide ( position-start, depth, modulo );
|
divide ( position-start, depth, modulo );
|
||||||
|
|
||||||
trace << "depth := " << depth << endl;
|
cdebug.log(100) << "depth := " << depth << endl;
|
||||||
|
|
||||||
if ( depth < 0 ) {
|
if ( depth < 0 ) {
|
||||||
trace_out ();
|
cdebug.tabw(100,-1);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
// throw Error ( negativeIndex
|
// throw Error ( negativeIndex
|
||||||
|
@ -243,7 +239,7 @@ namespace CRL {
|
||||||
|
|
||||||
unsigned int tracksNumber = getTrackNumber(start,stop);
|
unsigned int tracksNumber = getTrackNumber(start,stop);
|
||||||
if ( (unsigned)depth >= tracksNumber ) {
|
if ( (unsigned)depth >= tracksNumber ) {
|
||||||
trace_out ();
|
cdebug.tabw(100,-1);
|
||||||
return (tracksNumber > 0) ? tracksNumber-1 : 0;
|
return (tracksNumber > 0) ? tracksNumber-1 : 0;
|
||||||
// throw Error ( overflowIndex
|
// throw Error ( overflowIndex
|
||||||
// , getString(this).c_str()
|
// , getString(this).c_str()
|
||||||
|
@ -253,7 +249,7 @@ namespace CRL {
|
||||||
// );
|
// );
|
||||||
}
|
}
|
||||||
|
|
||||||
trace_out ();
|
cdebug.tabw(100,-1);
|
||||||
|
|
||||||
return depth;
|
return depth;
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,9 +88,17 @@ namespace {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void traceLevelChanged ( Cfg::Parameter* p )
|
void minTraceLevelChanged ( Cfg::Parameter* p )
|
||||||
{
|
{
|
||||||
ltracelevel ( p->asInt() );
|
//cerr << "minTraceLevelChanged:" << p->asInt() << endl;
|
||||||
|
cdebug.setMinLevel( p->asInt() );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void maxTraceLevelChanged ( Cfg::Parameter* p )
|
||||||
|
{
|
||||||
|
//cerr << "maxTraceLevelChanged:" << p->asInt() << endl;
|
||||||
|
cdebug.setMaxLevel( p->asInt() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -329,7 +337,8 @@ namespace CRL {
|
||||||
Cfg::getParamBool ("misc.paranoid" ,false)->registerCb ( this, paranoidChanged );
|
Cfg::getParamBool ("misc.paranoid" ,false)->registerCb ( this, paranoidChanged );
|
||||||
Cfg::getParamBool ("misc.bug" ,false)->registerCb ( this, bugChanged );
|
Cfg::getParamBool ("misc.bug" ,false)->registerCb ( this, bugChanged );
|
||||||
Cfg::getParamBool ("misc.logMode" ,false)->registerCb ( this, logModeChanged );
|
Cfg::getParamBool ("misc.logMode" ,false)->registerCb ( this, logModeChanged );
|
||||||
Cfg::getParamInt ("misc.traceLevel" ,1000 )->registerCb ( this, traceLevelChanged );
|
Cfg::getParamInt ("misc.minTraceLevel" ,0 )->registerCb ( this, minTraceLevelChanged );
|
||||||
|
Cfg::getParamInt ("misc.maxTraceLevel" ,0 )->registerCb ( this, maxTraceLevelChanged );
|
||||||
Cfg::getParamString("stratus1.mappingName","not_set")->registerCb ( this, stratus1MappingNameChanged );
|
Cfg::getParamString("stratus1.mappingName","not_set")->registerCb ( this, stratus1MappingNameChanged );
|
||||||
|
|
||||||
// Immediate update from the configuration.
|
// Immediate update from the configuration.
|
||||||
|
|
|
@ -318,7 +318,7 @@ Name BKParser::getNewNetName()
|
||||||
|
|
||||||
|
|
||||||
bool BKParser::isNumber ( char* token ) {
|
bool BKParser::isNumber ( char* token ) {
|
||||||
trace << "isNumber = " << token;
|
cdebug.log(100) << "isNumber = " << token;
|
||||||
|
|
||||||
unsigned i = 0;
|
unsigned i = 0;
|
||||||
char tok;
|
char tok;
|
||||||
|
@ -330,7 +330,7 @@ bool BKParser::isNumber ( char* token ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BKParser::isFloat ( char* token ) {
|
bool BKParser::isFloat ( char* token ) {
|
||||||
trace << "isFloat = " << token;
|
cdebug.log(100) << "isFloat = " << token;
|
||||||
|
|
||||||
unsigned i = 0;
|
unsigned i = 0;
|
||||||
char tok;
|
char tok;
|
||||||
|
@ -343,7 +343,7 @@ bool BKParser::isFloat ( char* token ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BKParser::isName ( char* token ) {
|
bool BKParser::isName ( char* token ) {
|
||||||
trace << "isName = " << token;
|
cdebug.log(100) << "isName = " << token;
|
||||||
|
|
||||||
unsigned i = 0;
|
unsigned i = 0;
|
||||||
char tok;
|
char tok;
|
||||||
|
@ -358,7 +358,7 @@ bool BKParser::isName ( char* token ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BKParser::isSymetry ( char* token ) {
|
bool BKParser::isSymetry ( char* token ) {
|
||||||
trace << "isSymetry = " << token;
|
cdebug.log(100) << "isSymetry = " << token;
|
||||||
if ( ( ( token[0] == 'X' ) && ( token[1] == char(0) ) )
|
if ( ( ( token[0] == 'X' ) && ( token[1] == char(0) ) )
|
||||||
|| ( ( token[0] == 'Y' ) && ( token[1] == char(0) ) )
|
|| ( ( token[0] == 'Y' ) && ( token[1] == char(0) ) )
|
||||||
|| ( ( token[0] == 'R' ) && ( token[1] == '9' ) && ( token[2] == '0' ) && ( token[3] == char(0) ) ) )
|
|| ( ( token[0] == 'R' ) && ( token[1] == '9' ) && ( token[2] == '0' ) && ( token[3] == char(0) ) ) )
|
||||||
|
@ -366,7 +366,7 @@ bool BKParser::isSymetry ( char* token ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
bool BKParser::isDirection ( char* token ) {
|
bool BKParser::isDirection ( char* token ) {
|
||||||
trace << "isDirection = " << token;
|
cdebug.log(100) << "isDirection = " << token;
|
||||||
|
|
||||||
if ( ( ( token[0] == 'I' ) || ( token[0] == 'O' ) || ( token[0] == 'B' ) ) && ( token[1] == char(0) ) )
|
if ( ( ( token[0] == 'I' ) || ( token[0] == 'O' ) || ( token[0] == 'B' ) ) && ( token[1] == char(0) ) )
|
||||||
return true;
|
return true;
|
||||||
|
@ -381,7 +381,7 @@ bool BKParser::ScanAux ()
|
||||||
// The Aux record looks like :
|
// The Aux record looks like :
|
||||||
// RowBasedPlacement : <cell_name>.nodes <cell_name>.nets <cell_name>.wts <cell_name>.pl <cell_name>.scl
|
// RowBasedPlacement : <cell_name>.nodes <cell_name>.nets <cell_name>.wts <cell_name>.pl <cell_name>.scl
|
||||||
// **********************************************************************************************************
|
// **********************************************************************************************************
|
||||||
trace << "ScanAux = " << _buffer;
|
cdebug.log(100) << "ScanAux = " << _buffer;
|
||||||
|
|
||||||
// ***********************
|
// ***********************
|
||||||
// Patterns initialization
|
// Patterns initialization
|
||||||
|
@ -441,7 +441,7 @@ bool BKParser::ScanNum ( unsigned& num )
|
||||||
// The NodeNum record looks like :
|
// The NodeNum record looks like :
|
||||||
// NumNodes : <num>
|
// NumNodes : <num>
|
||||||
// *******************************
|
// *******************************
|
||||||
trace << "ScanNum = " << _buffer;
|
cdebug.log(100) << "ScanNum = " << _buffer;
|
||||||
|
|
||||||
char *p_type, *p_num;
|
char *p_type, *p_num;
|
||||||
if ( ( ( p_type = strtok ( _buffer, "\t \n:" ) ) != NULL ) &&
|
if ( ( ( p_type = strtok ( _buffer, "\t \n:" ) ) != NULL ) &&
|
||||||
|
@ -460,7 +460,7 @@ bool BKParser::ScanDegree ( unsigned& degree, Name& netName )
|
||||||
// The NetDregree record looks like :
|
// The NetDregree record looks like :
|
||||||
// NetDegree : <degree> [netName]
|
// NetDegree : <degree> [netName]
|
||||||
// **********************************
|
// **********************************
|
||||||
trace << "ScanDegree = " << _buffer;
|
cdebug.log(100) << "ScanDegree = " << _buffer;
|
||||||
|
|
||||||
bool mDegree = false;
|
bool mDegree = false;
|
||||||
bool mName = false;
|
bool mName = false;
|
||||||
|
@ -502,7 +502,7 @@ bool BKParser::ScanNodes ( Name& name, DbU::Unit& width, DbU::Unit& height, bool
|
||||||
// The Node record looks like :
|
// The Node record looks like :
|
||||||
// <ins_name> <width> <height> [terminal]
|
// <ins_name> <width> <height> [terminal]
|
||||||
// **************************************
|
// **************************************
|
||||||
trace << "ScanNodes = " << _buffer;
|
cdebug.log(100) << "ScanNodes = " << _buffer;
|
||||||
|
|
||||||
char *p_name, *p_width, *p_height, *p_term;
|
char *p_name, *p_width, *p_height, *p_term;
|
||||||
if ( ( ( p_name = strtok ( _buffer, "\t \n" ) ) != NULL ) &&
|
if ( ( ( p_name = strtok ( _buffer, "\t \n" ) ) != NULL ) &&
|
||||||
|
@ -528,7 +528,7 @@ bool BKParser::ScanNets ( Name& insName, Net::Direction& dir, DbU::Unit& dx, DbU
|
||||||
// The Net record looks like :
|
// The Net record looks like :
|
||||||
// NetDegree : <degree> <net_name>
|
// NetDegree : <degree> <net_name>
|
||||||
// *********************************
|
// *********************************
|
||||||
trace << "ScanNets = " << _buffer;
|
cdebug.log(100) << "ScanNets = " << _buffer;
|
||||||
|
|
||||||
bool mName = false;
|
bool mName = false;
|
||||||
bool mDirection = false;
|
bool mDirection = false;
|
||||||
|
@ -580,7 +580,7 @@ bool BKParser::ScanWts ( Name& name, unsigned& weight )
|
||||||
// The Weight record looks like :
|
// The Weight record looks like :
|
||||||
// <ins_name> <weight>
|
// <ins_name> <weight>
|
||||||
// ******************************
|
// ******************************
|
||||||
trace << "ScanWts = " << _buffer;
|
cdebug.log(100) << "ScanWts = " << _buffer;
|
||||||
|
|
||||||
//char *p_x, *p_y, *p_model, *p_name, *p_transf;
|
//char *p_x, *p_y, *p_model, *p_name, *p_transf;
|
||||||
|
|
||||||
|
@ -622,7 +622,7 @@ bool BKParser::ScanPl ( Name& name, DbU::Unit& x, DbU::Unit& y, Transformation::
|
||||||
// The Placement record looks like :
|
// The Placement record looks like :
|
||||||
// <ins_name> <x> <y> : <orient> [FIXED]
|
// <ins_name> <x> <y> : <orient> [FIXED]
|
||||||
// *************************************
|
// *************************************
|
||||||
trace << "ScanPl = " << _buffer;
|
cdebug.log(100) << "ScanPl = " << _buffer;
|
||||||
|
|
||||||
char *p_name, *p_x, *p_y, *p_orient, *p_fixed;
|
char *p_name, *p_x, *p_y, *p_orient, *p_fixed;
|
||||||
if ( ( ( p_name = strtok ( _buffer, "\t \n" ) ) != NULL ) &&
|
if ( ( ( p_name = strtok ( _buffer, "\t \n" ) ) != NULL ) &&
|
||||||
|
|
|
@ -208,10 +208,10 @@ void createPlacedRoutingPadsAndPinsRing ( Cell* top_cell )
|
||||||
netOccurrence = Occurrence(net);
|
netOccurrence = Occurrence(net);
|
||||||
for_each_occurrence ( plugOccurrence, HyperNet(netOccurrence).getLeafPlugOccurrences() )
|
for_each_occurrence ( plugOccurrence, HyperNet(netOccurrence).getLeafPlugOccurrences() )
|
||||||
{
|
{
|
||||||
ltrace(58) << "Creating Routing Pad " << plugOccurrence << endl;ltracein(58);
|
cdebug.log(109,1) << "Creating Routing Pad " << plugOccurrence << endl;
|
||||||
cerr << RoutingPad::create ( net, plugOccurrence, RoutingPad::BiggestArea ) << endl;
|
cerr << RoutingPad::create ( net, plugOccurrence, RoutingPad::BiggestArea ) << endl;
|
||||||
//ltraceout(58);
|
//ltraceout(58);
|
||||||
end_for;
|
end_for;
|
||||||
}
|
}
|
||||||
vector<Pin*> pins;
|
vector<Pin*> pins;
|
||||||
for_each_pin ( pin, net->getPins() ) {
|
for_each_pin ( pin, net->getPins() ) {
|
||||||
|
|
|
@ -93,11 +93,10 @@ int main ( int argc, char *argv[] )
|
||||||
int returnCode = 0;
|
int returnCode = 0;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
unsigned int traceLevel;
|
bool verbose1;
|
||||||
bool verbose1;
|
bool verbose2;
|
||||||
bool verbose2;
|
bool coreDump;
|
||||||
bool coreDump;
|
bool textMode;
|
||||||
bool textMode;
|
|
||||||
|
|
||||||
boptions::options_description options ("Command line arguments & options");
|
boptions::options_description options ("Command line arguments & options");
|
||||||
options.add_options()
|
options.add_options()
|
||||||
|
@ -110,9 +109,6 @@ int main ( int argc, char *argv[] )
|
||||||
, "Enable core dumping.")
|
, "Enable core dumping.")
|
||||||
( "text,t" , boptions::bool_switch(&textMode)->default_value(false)
|
( "text,t" , boptions::bool_switch(&textMode)->default_value(false)
|
||||||
, "Run in pure text mode.")
|
, "Run in pure text mode.")
|
||||||
( "trace-level,l" , boptions::value<unsigned int>(&traceLevel)->default_value(1000)
|
|
||||||
, "Set the level of trace, trace messages with a level superior to "
|
|
||||||
"<arg> will be printed on <stderr>." )
|
|
||||||
( "cell,c" , boptions::value<string>()
|
( "cell,c" , boptions::value<string>()
|
||||||
, "The name of the cell to load, whithout extension." );
|
, "The name of the cell to load, whithout extension." );
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@ namespace CRL {
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -56,7 +55,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAcmSigda_load ( PyObject*, PyObject* args )
|
static PyObject* PyAcmSigda_load ( PyObject*, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAcmSigda_load()" << endl;
|
cdebug.log(30) << "PyAcmSigda_load()" << endl;
|
||||||
|
|
||||||
Cell* cell = NULL;
|
Cell* cell = NULL;
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@ namespace CRL {
|
||||||
using std::hex;
|
using std::hex;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -71,7 +70,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_create ( PyObject*, PyObject* args )
|
static PyObject* PyAllianceFramework_create ( PyObject*, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_create()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_create()" << endl;
|
||||||
|
|
||||||
AllianceFramework* af = NULL;
|
AllianceFramework* af = NULL;
|
||||||
PyAllianceFramework* pyAf = NULL;
|
PyAllianceFramework* pyAf = NULL;
|
||||||
|
@ -97,7 +96,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_get ( PyObject* args )
|
static PyObject* PyAllianceFramework_get ( PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_get()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_get()" << endl;
|
||||||
|
|
||||||
AllianceFramework* af = NULL;
|
AllianceFramework* af = NULL;
|
||||||
PyAllianceFramework* pyAf = NULL;
|
PyAllianceFramework* pyAf = NULL;
|
||||||
|
@ -117,7 +116,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_getEnvironment ( PyAllianceFramework* self )
|
static PyObject* PyAllianceFramework_getEnvironment ( PyAllianceFramework* self )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_getEnvironment ()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_getEnvironment ()" << endl;
|
||||||
|
|
||||||
Environment* env = NULL;
|
Environment* env = NULL;
|
||||||
|
|
||||||
|
@ -135,7 +134,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_getLibrary ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_getLibrary ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_getLibrary()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_getLibrary()" << endl;
|
||||||
|
|
||||||
Library* lib = NULL;
|
Library* lib = NULL;
|
||||||
|
|
||||||
|
@ -165,7 +164,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_getAllianceLibrary ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_getAllianceLibrary ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_getAllianceLibrary()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_getAllianceLibrary()" << endl;
|
||||||
|
|
||||||
AllianceLibrary* alib = NULL;
|
AllianceLibrary* alib = NULL;
|
||||||
|
|
||||||
|
@ -200,7 +199,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_getCell ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_getCell ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_getCell ()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_getCell ()" << endl;
|
||||||
|
|
||||||
char* name = NULL;
|
char* name = NULL;
|
||||||
Cell* cell = NULL;
|
Cell* cell = NULL;
|
||||||
|
@ -223,7 +222,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_saveCell ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_saveCell ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_saveCell ()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_saveCell ()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
|
|
||||||
|
@ -244,7 +243,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_createCell ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_createCell ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_createCell ()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_createCell ()" << endl;
|
||||||
|
|
||||||
char* name = NULL;
|
char* name = NULL;
|
||||||
Cell* cell = NULL;
|
Cell* cell = NULL;
|
||||||
|
@ -266,7 +265,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_createLibrary ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_createLibrary ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_createLibrary()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_createLibrary()" << endl;
|
||||||
|
|
||||||
AllianceLibrary* alib = NULL;
|
AllianceLibrary* alib = NULL;
|
||||||
string libName = "";
|
string libName = "";
|
||||||
|
@ -305,7 +304,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_isPad ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_isPad ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_isPad ()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_isPad ()" << endl;
|
||||||
|
|
||||||
char* name = NULL;
|
char* name = NULL;
|
||||||
|
|
||||||
|
@ -326,7 +325,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_addRoutingGauge ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_addRoutingGauge ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_addRoutingGauge ()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_addRoutingGauge ()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
METHOD_HEAD("AllianceFramework.addRoutingGauge()")
|
METHOD_HEAD("AllianceFramework.addRoutingGauge()")
|
||||||
|
@ -342,7 +341,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_getRoutingGauge ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_getRoutingGauge ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_getRoutingGauge ()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_getRoutingGauge ()" << endl;
|
||||||
|
|
||||||
RoutingGauge* rg = NULL;
|
RoutingGauge* rg = NULL;
|
||||||
|
|
||||||
|
@ -366,7 +365,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_addCellGauge ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_addCellGauge ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_addCellGauge ()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_addCellGauge ()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
METHOD_HEAD("AllianceFramework.addCellGauge()")
|
METHOD_HEAD("AllianceFramework.addCellGauge()")
|
||||||
|
@ -382,7 +381,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_getCellGauge ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_getCellGauge ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_getCellGauge ()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_getCellGauge ()" << endl;
|
||||||
|
|
||||||
CellGauge* rg = NULL;
|
CellGauge* rg = NULL;
|
||||||
|
|
||||||
|
@ -406,7 +405,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceFramework_loadLibraryCells ( PyAllianceFramework* self, PyObject* args )
|
static PyObject* PyAllianceFramework_loadLibraryCells ( PyAllianceFramework* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceFramework_loadLibraryCells()" << endl;
|
cdebug.log(30) << "PyAllianceFramework_loadLibraryCells()" << endl;
|
||||||
|
|
||||||
unsigned int count = 0;
|
unsigned int count = 0;
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@ namespace CRL {
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -60,7 +59,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceLibrary_getLibrary ( PyAllianceLibrary* self, PyObject* args )
|
static PyObject* PyAllianceLibrary_getLibrary ( PyAllianceLibrary* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceLibrary_getLibrary()" << endl;
|
cdebug.log(30) << "PyAllianceLibrary_getLibrary()" << endl;
|
||||||
|
|
||||||
Library* lib = NULL;
|
Library* lib = NULL;
|
||||||
|
|
||||||
|
@ -75,7 +74,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyAllianceLibrary_getPath ( PyAllianceLibrary* self, PyObject* args )
|
static PyObject* PyAllianceLibrary_getPath ( PyAllianceLibrary* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyAllianceLibrary_getPath()" << endl;
|
cdebug.log(30) << "PyAllianceLibrary_getPath()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
METHOD_HEAD("AllianceLibrary.getPath()")
|
METHOD_HEAD("AllianceLibrary.getPath()")
|
||||||
|
@ -115,7 +114,7 @@ extern "C" {
|
||||||
DirectHashMethod(PyAllianceLibrary_Hash, PyAllianceLibrary)
|
DirectHashMethod(PyAllianceLibrary_Hash, PyAllianceLibrary)
|
||||||
|
|
||||||
extern void PyAllianceLibrary_LinkPyType() {
|
extern void PyAllianceLibrary_LinkPyType() {
|
||||||
trace << "PyAllianceLibrary_LinkType()" << endl;
|
cdebug.log(30) << "PyAllianceLibrary_LinkType()" << endl;
|
||||||
|
|
||||||
PyTypeAllianceLibrary.tp_dealloc = (destructor) PyAllianceLibrary_DeAlloc;
|
PyTypeAllianceLibrary.tp_dealloc = (destructor) PyAllianceLibrary_DeAlloc;
|
||||||
PyTypeAllianceLibrary.tp_repr = (reprfunc) PyAllianceLibrary_Repr;
|
PyTypeAllianceLibrary.tp_repr = (reprfunc) PyAllianceLibrary_Repr;
|
||||||
|
|
|
@ -28,7 +28,6 @@ namespace CRL {
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
using Hurricane::Warning;
|
using Hurricane::Warning;
|
||||||
|
@ -58,7 +57,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyBanner_new ( PyTypeObject* type, PyObject* args, PyObject* kwArgs )
|
static PyObject* PyBanner_new ( PyTypeObject* type, PyObject* args, PyObject* kwArgs )
|
||||||
{
|
{
|
||||||
trace << "PyBanner_new()" << endl;
|
cdebug.log(30) << "PyBanner_new()" << endl;
|
||||||
|
|
||||||
Banner* banner = NULL;
|
Banner* banner = NULL;
|
||||||
PyBanner* pyBanner = (PyBanner*)type->tp_alloc(type,0);
|
PyBanner* pyBanner = (PyBanner*)type->tp_alloc(type,0);
|
||||||
|
@ -181,7 +180,7 @@ extern "C" {
|
||||||
DirectHashMethod(PyBanner_Hash, PyBanner)
|
DirectHashMethod(PyBanner_Hash, PyBanner)
|
||||||
|
|
||||||
extern void PyBanner_LinkPyType() {
|
extern void PyBanner_LinkPyType() {
|
||||||
trace << "PyBanner_LinkType()" << endl;
|
cdebug.log(30) << "PyBanner_LinkType()" << endl;
|
||||||
|
|
||||||
PyTypeBanner.tp_new = PyBanner_new;
|
PyTypeBanner.tp_new = PyBanner_new;
|
||||||
PyTypeBanner.tp_dealloc = (destructor)PyBanner_DeAlloc;
|
PyTypeBanner.tp_dealloc = (destructor)PyBanner_DeAlloc;
|
||||||
|
|
|
@ -28,7 +28,6 @@ namespace CRL {
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -56,7 +55,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyBlif_load ( PyObject*, PyObject* args )
|
static PyObject* PyBlif_load ( PyObject*, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyBlif_load()" << endl;
|
cdebug.log(30) << "PyBlif_load()" << endl;
|
||||||
|
|
||||||
Cell* cell = NULL;
|
Cell* cell = NULL;
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,6 @@ namespace CRL {
|
||||||
using std::cerr;
|
using std::cerr;
|
||||||
using std::endl;
|
using std::endl;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -74,7 +73,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyVhdl_destroyAllVHDL ( PyObject* module )
|
static PyObject* PyVhdl_destroyAllVHDL ( PyObject* module )
|
||||||
{
|
{
|
||||||
trace << "PyVhdl_destroyAllVHDL()" << endl;
|
cdebug.log(30) << "PyVhdl_destroyAllVHDL()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
EntityExtension::destroyAll();
|
EntityExtension::destroyAll();
|
||||||
|
@ -104,7 +103,7 @@ extern "C" {
|
||||||
// Module Initialization : "initCRL ()"
|
// Module Initialization : "initCRL ()"
|
||||||
|
|
||||||
DL_EXPORT(void) initCRL () {
|
DL_EXPORT(void) initCRL () {
|
||||||
trace << "initCRL()" << endl;
|
cdebug.log(30) << "initCRL()" << endl;
|
||||||
|
|
||||||
PyBanner_LinkPyType ();
|
PyBanner_LinkPyType ();
|
||||||
PyCatalogState_LinkPyType ();
|
PyCatalogState_LinkPyType ();
|
||||||
|
@ -198,7 +197,7 @@ extern "C" {
|
||||||
//PyObject* dictionnary = PyModule_GetDict ( module );
|
//PyObject* dictionnary = PyModule_GetDict ( module );
|
||||||
//DbULoadConstants ( dictionnary );
|
//DbULoadConstants ( dictionnary );
|
||||||
|
|
||||||
trace << "CRL.so loaded " << (void*)&typeid(string) << endl;
|
cdebug.log(30) << "CRL.so loaded " << (void*)&typeid(string) << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,6 @@ namespace CRL {
|
||||||
using std::hex;
|
using std::hex;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
using Hurricane::Warning;
|
using Hurricane::Warning;
|
||||||
using Isobar::ProxyProperty;
|
using Isobar::ProxyProperty;
|
||||||
|
|
|
@ -27,7 +27,6 @@ namespace CRL {
|
||||||
using std::hex;
|
using std::hex;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -115,7 +114,7 @@ extern "C" {
|
||||||
DirectHashMethod(PyCatalogState_Hash, PyCatalogState)
|
DirectHashMethod(PyCatalogState_Hash, PyCatalogState)
|
||||||
|
|
||||||
extern void PyCatalogState_LinkPyType() {
|
extern void PyCatalogState_LinkPyType() {
|
||||||
trace << "PyCatalogState_LinkType()" << endl;
|
cdebug.log(30) << "PyCatalogState_LinkType()" << endl;
|
||||||
PyTypeCatalogState.tp_dealloc = (destructor) PyCatalogState_DeAlloc;
|
PyTypeCatalogState.tp_dealloc = (destructor) PyCatalogState_DeAlloc;
|
||||||
PyTypeCatalogState.tp_compare = (cmpfunc) PyCatalogState_Cmp;
|
PyTypeCatalogState.tp_compare = (cmpfunc) PyCatalogState_Cmp;
|
||||||
PyTypeCatalogState.tp_repr = (reprfunc) PyCatalogState_Repr;
|
PyTypeCatalogState.tp_repr = (reprfunc) PyCatalogState_Repr;
|
||||||
|
|
|
@ -27,7 +27,6 @@ namespace CRL {
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -62,7 +61,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyCellGauge_create ( PyObject*, PyObject* args )
|
static PyObject* PyCellGauge_create ( PyObject*, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyCellGauge_create()" << endl;
|
cdebug.log(30) << "PyCellGauge_create()" << endl;
|
||||||
|
|
||||||
CellGauge* cg = NULL;
|
CellGauge* cg = NULL;
|
||||||
PyCellGauge* pyCg = NULL;
|
PyCellGauge* pyCg = NULL;
|
||||||
|
|
|
@ -27,7 +27,6 @@ namespace CRL {
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -68,7 +67,7 @@ extern "C" {
|
||||||
|
|
||||||
PyObject* PyEnvironment_addSYSTEM_LIBRARY ( PyEnvironment* self, PyObject* args, PyObject* kwArgs )
|
PyObject* PyEnvironment_addSYSTEM_LIBRARY ( PyEnvironment* self, PyObject* args, PyObject* kwArgs )
|
||||||
{
|
{
|
||||||
trace << "PyEnvironment_addSYSTEM_LIBRARY()" << endl;
|
cdebug.log(30) << "PyEnvironment_addSYSTEM_LIBRARY()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
METHOD_HEAD("Environment.addSYSTEM_LIBRARY()")
|
METHOD_HEAD("Environment.addSYSTEM_LIBRARY()")
|
||||||
|
@ -114,7 +113,7 @@ extern "C" {
|
||||||
|
|
||||||
PyObject* PyEnvironment_getLIBRARYPath ( PyEnvironment* self, PyObject* args )
|
PyObject* PyEnvironment_getLIBRARYPath ( PyEnvironment* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyEnvironment_getLIBRARYPath()" << endl;
|
cdebug.log(30) << "PyEnvironment_getLIBRARYPath()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
METHOD_HEAD("Environment.getLIBRARYPath()")
|
METHOD_HEAD("Environment.getLIBRARYPath()")
|
||||||
|
@ -266,7 +265,7 @@ extern "C" {
|
||||||
DirectHashMethod(PyEnvironment_Hash, PyEnvironment)
|
DirectHashMethod(PyEnvironment_Hash, PyEnvironment)
|
||||||
|
|
||||||
extern void PyEnvironment_LinkPyType() {
|
extern void PyEnvironment_LinkPyType() {
|
||||||
trace << "PyEnvironment_LinkType()" << endl;
|
cdebug.log(30) << "PyEnvironment_LinkType()" << endl;
|
||||||
|
|
||||||
PyTypeEnvironment.tp_dealloc = (destructor) PyEnvironment_DeAlloc;
|
PyTypeEnvironment.tp_dealloc = (destructor) PyEnvironment_DeAlloc;
|
||||||
PyTypeEnvironment.tp_repr = (reprfunc) PyEnvironment_Repr;
|
PyTypeEnvironment.tp_repr = (reprfunc) PyEnvironment_Repr;
|
||||||
|
|
|
@ -29,7 +29,6 @@ namespace CRL {
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -57,7 +56,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyIspd05_load ( PyObject*, PyObject* args )
|
static PyObject* PyIspd05_load ( PyObject*, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyIspd05_load()" << endl;
|
cdebug.log(30) << "PyIspd05_load()" << endl;
|
||||||
|
|
||||||
Cell* cell = NULL;
|
Cell* cell = NULL;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,6 @@ namespace CRL {
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -68,7 +67,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingGauge_create ( PyObject*, PyObject* args )
|
static PyObject* PyRoutingGauge_create ( PyObject*, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingGauge_create()" << endl;
|
cdebug.log(30) << "PyRoutingGauge_create()" << endl;
|
||||||
|
|
||||||
RoutingGauge* rg = NULL;
|
RoutingGauge* rg = NULL;
|
||||||
PyRoutingGauge* pyRg = NULL;
|
PyRoutingGauge* pyRg = NULL;
|
||||||
|
@ -97,7 +96,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingGauge_getTechnology ( PyRoutingGauge* self )
|
static PyObject* PyRoutingGauge_getTechnology ( PyRoutingGauge* self )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingGauge_getTechnology()" << endl;
|
cdebug.log(30) << "PyRoutingGauge_getTechnology()" << endl;
|
||||||
|
|
||||||
Technology* technology = NULL;
|
Technology* technology = NULL;
|
||||||
|
|
||||||
|
@ -112,7 +111,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingGauge_getDepth ( PyRoutingGauge* self )
|
static PyObject* PyRoutingGauge_getDepth ( PyRoutingGauge* self )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingGauge_getDepth()" << endl;
|
cdebug.log(30) << "PyRoutingGauge_getDepth()" << endl;
|
||||||
|
|
||||||
size_t depth = 0;
|
size_t depth = 0;
|
||||||
|
|
||||||
|
@ -127,7 +126,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingGauge_getLayerDepth ( PyRoutingGauge* self, PyObject* args )
|
static PyObject* PyRoutingGauge_getLayerDepth ( PyRoutingGauge* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingGauge_getLayerDepth()" << endl;
|
cdebug.log(30) << "PyRoutingGauge_getLayerDepth()" << endl;
|
||||||
|
|
||||||
size_t depth = 0;
|
size_t depth = 0;
|
||||||
|
|
||||||
|
@ -154,7 +153,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingGauge_getLayerGauge ( PyRoutingGauge* self, PyObject* args )
|
static PyObject* PyRoutingGauge_getLayerGauge ( PyRoutingGauge* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingGauge_getLayerGauge()" << endl;
|
cdebug.log(30) << "PyRoutingGauge_getLayerGauge()" << endl;
|
||||||
|
|
||||||
RoutingLayerGauge* rlg = NULL;
|
RoutingLayerGauge* rlg = NULL;
|
||||||
|
|
||||||
|
@ -189,7 +188,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingGauge_getLayerDirection ( PyRoutingGauge* self, PyObject* args )
|
static PyObject* PyRoutingGauge_getLayerDirection ( PyRoutingGauge* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingGauge_getLayerDirection()" << endl;
|
cdebug.log(30) << "PyRoutingGauge_getLayerDirection()" << endl;
|
||||||
|
|
||||||
unsigned int direction = 0;
|
unsigned int direction = 0;
|
||||||
|
|
||||||
|
@ -220,7 +219,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingGauge_getLayerPitch ( PyRoutingGauge* self, PyObject* args )
|
static PyObject* PyRoutingGauge_getLayerPitch ( PyRoutingGauge* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingGauge_getLayerPitch()" << endl;
|
cdebug.log(30) << "PyRoutingGauge_getLayerPitch()" << endl;
|
||||||
|
|
||||||
DbU::Unit pitch = 0;
|
DbU::Unit pitch = 0;
|
||||||
|
|
||||||
|
@ -251,7 +250,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingGauge_getRoutingLayer ( PyRoutingGauge* self, PyObject* args )
|
static PyObject* PyRoutingGauge_getRoutingLayer ( PyRoutingGauge* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingGauge_getRoutingLayer()" << endl;
|
cdebug.log(30) << "PyRoutingGauge_getRoutingLayer()" << endl;
|
||||||
|
|
||||||
Layer* layer = NULL;
|
Layer* layer = NULL;
|
||||||
|
|
||||||
|
@ -278,7 +277,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingGauge_getContactLayer ( PyRoutingGauge* self, PyObject* args )
|
static PyObject* PyRoutingGauge_getContactLayer ( PyRoutingGauge* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingGauge_getContactLayer()" << endl;
|
cdebug.log(30) << "PyRoutingGauge_getContactLayer()" << endl;
|
||||||
|
|
||||||
Layer* layer = NULL;
|
Layer* layer = NULL;
|
||||||
|
|
||||||
|
@ -305,7 +304,7 @@ extern "C" {
|
||||||
|
|
||||||
PyObject* PyRoutingGauge_addLayerGauge ( PyRoutingGauge* self, PyObject* args )
|
PyObject* PyRoutingGauge_addLayerGauge ( PyRoutingGauge* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingGauge_addLayerGauge()" << endl;
|
cdebug.log(30) << "PyRoutingGauge_addLayerGauge()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
METHOD_HEAD("RoutingGauge.addLayerGauge()")
|
METHOD_HEAD("RoutingGauge.addLayerGauge()")
|
||||||
|
|
|
@ -28,7 +28,6 @@ namespace CRL {
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -61,7 +60,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingLayerGauge_create ( PyObject*, PyObject* args )
|
static PyObject* PyRoutingLayerGauge_create ( PyObject*, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingLayerGauge_create()" << endl;
|
cdebug.log(30) << "PyRoutingLayerGauge_create()" << endl;
|
||||||
|
|
||||||
RoutingLayerGauge* rlg = NULL;
|
RoutingLayerGauge* rlg = NULL;
|
||||||
PyRoutingLayerGauge* pyRlg = NULL;
|
PyRoutingLayerGauge* pyRlg = NULL;
|
||||||
|
@ -141,7 +140,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingLayerGauge_getLayer ( PyRoutingLayerGauge* self )
|
static PyObject* PyRoutingLayerGauge_getLayer ( PyRoutingLayerGauge* self )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingLayerGauge_getLayer()" << endl;
|
cdebug.log(30) << "PyRoutingLayerGauge_getLayer()" << endl;
|
||||||
|
|
||||||
Layer* layer = NULL;
|
Layer* layer = NULL;
|
||||||
|
|
||||||
|
@ -156,7 +155,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingLayerGauge_getBlockageLayer ( PyRoutingLayerGauge* self )
|
static PyObject* PyRoutingLayerGauge_getBlockageLayer ( PyRoutingLayerGauge* self )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingLayerGauge_getBlockageLayer()" << endl;
|
cdebug.log(30) << "PyRoutingLayerGauge_getBlockageLayer()" << endl;
|
||||||
|
|
||||||
Layer* layer = NULL;
|
Layer* layer = NULL;
|
||||||
|
|
||||||
|
@ -171,7 +170,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingLayerGauge_getTrackNumber ( PyRoutingLayerGauge* self, PyObject* args )
|
static PyObject* PyRoutingLayerGauge_getTrackNumber ( PyRoutingLayerGauge* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingLayerGauge_getTrackNumber()" << endl;
|
cdebug.log(30) << "PyRoutingLayerGauge_getTrackNumber()" << endl;
|
||||||
|
|
||||||
unsigned int trackNumber = 0;
|
unsigned int trackNumber = 0;
|
||||||
|
|
||||||
|
@ -195,7 +194,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingLayerGauge_getTrackIndex ( PyRoutingLayerGauge* self, PyObject* args )
|
static PyObject* PyRoutingLayerGauge_getTrackIndex ( PyRoutingLayerGauge* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingLayerGauge_getTrackIndex()" << endl;
|
cdebug.log(30) << "PyRoutingLayerGauge_getTrackIndex()" << endl;
|
||||||
|
|
||||||
unsigned int trackIndex = 0;
|
unsigned int trackIndex = 0;
|
||||||
|
|
||||||
|
@ -233,7 +232,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyRoutingLayerGauge_getTrackPosition ( PyRoutingLayerGauge* self, PyObject* args )
|
static PyObject* PyRoutingLayerGauge_getTrackPosition ( PyRoutingLayerGauge* self, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyRoutingLayerGauge_getTrackPosition()" << endl;
|
cdebug.log(30) << "PyRoutingLayerGauge_getTrackPosition()" << endl;
|
||||||
|
|
||||||
DbU::Unit trackPosition = 0;
|
DbU::Unit trackPosition = 0;
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@ namespace CRL {
|
||||||
using std::hex;
|
using std::hex;
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using Hurricane::tab;
|
using Hurricane::tab;
|
||||||
using Hurricane::in_trace;
|
|
||||||
using Hurricane::Exception;
|
using Hurricane::Exception;
|
||||||
using Hurricane::Bug;
|
using Hurricane::Bug;
|
||||||
using Hurricane::Error;
|
using Hurricane::Error;
|
||||||
|
@ -71,7 +70,7 @@ extern "C" {
|
||||||
|
|
||||||
extern PyObject* PyToolBox_createPartRing ( PyObject* module, PyObject* args )
|
extern PyObject* PyToolBox_createPartRing ( PyObject* module, PyObject* args )
|
||||||
{
|
{
|
||||||
trace << "PyToolBox_createPartRing ()" << endl;
|
cdebug.log(30) << "PyToolBox_createPartRing ()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
PyObject* arg0;
|
PyObject* arg0;
|
||||||
|
|
|
@ -46,7 +46,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyToolEngine_get ( PyObject*, PyObject* args, PyObject* kwArgs )
|
static PyObject* PyToolEngine_get ( PyObject*, PyObject* args, PyObject* kwArgs )
|
||||||
{
|
{
|
||||||
trace << "PyToolEngine_get()" << endl;
|
cdebug.log(30) << "PyToolEngine_get()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
PyObject* pyCell = NULL;
|
PyObject* pyCell = NULL;
|
||||||
|
@ -98,7 +98,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyToolEngine_destroyAll ( PyObject* )
|
static PyObject* PyToolEngine_destroyAll ( PyObject* )
|
||||||
{
|
{
|
||||||
trace << "PyToolEngine_destroyAll()" << endl;
|
cdebug.log(30) << "PyToolEngine_destroyAll()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
ToolEngine::destroyAll();
|
ToolEngine::destroyAll();
|
||||||
|
@ -110,7 +110,7 @@ extern "C" {
|
||||||
|
|
||||||
static PyObject* PyToolEngine_getCell ( PyToolEngine* self )
|
static PyObject* PyToolEngine_getCell ( PyToolEngine* self )
|
||||||
{
|
{
|
||||||
trace << "PyToolEngine_getCell ()" << endl;
|
cdebug.log(30) << "PyToolEngine_getCell ()" << endl;
|
||||||
|
|
||||||
Cell* cell = NULL;
|
Cell* cell = NULL;
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,6 @@ using namespace CRL;
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
unsigned int traceLevel;
|
|
||||||
bool verbose1;
|
bool verbose1;
|
||||||
bool verbose2;
|
bool verbose2;
|
||||||
bool coreDump;
|
bool coreDump;
|
||||||
|
@ -30,9 +29,6 @@ int main(int argc, char *argv[]) {
|
||||||
, "Second level of verbosity.")
|
, "Second level of verbosity.")
|
||||||
( "core-dump,D" , poptions::bool_switch(&coreDump)->default_value(false)
|
( "core-dump,D" , poptions::bool_switch(&coreDump)->default_value(false)
|
||||||
, "Enable core dumping.")
|
, "Enable core dumping.")
|
||||||
( "trace-level,l" , poptions::value<unsigned int>(&traceLevel)->default_value(1000)
|
|
||||||
, "Set the level of trace, trace messages with a level superior to "
|
|
||||||
"<arg> will be printed on <stderr>." )
|
|
||||||
( "cell,c" , poptions::value<string>()
|
( "cell,c" , poptions::value<string>()
|
||||||
, "The name of the cell to load, whithout extension." );
|
, "The name of the cell to load, whithout extension." );
|
||||||
|
|
||||||
|
|
|
@ -395,7 +395,7 @@ dummy@lepka:~$ git clone https://www-soc.lip6.fr/git/coriolis.git
|
||||||
</pre>
|
</pre>
|
||||||
<p>Third and final step, build & install:</p>
|
<p>Third and final step, build & install:</p>
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=support \
|
dummy@lepka:src$ ./bootstrap/ccb.py --project=support \
|
||||||
--project=coriolis \
|
--project=coriolis \
|
||||||
--make="-j4 install"
|
--make="-j4 install"
|
||||||
dummy@lepka:src$ ./bootstrap/ccb.py --project=support \
|
dummy@lepka:src$ ./bootstrap/ccb.py --project=support \
|
||||||
|
@ -407,7 +407,7 @@ do not support to be generated with a parallel build. So we compile & instal
|
||||||
stage in <tt class="docutils literal"><span class="pre">-j4</span></tt> (or whatever) then we generate the documentation in <tt class="docutils literal"><span class="pre">-j1</span></tt></p>
|
stage in <tt class="docutils literal"><span class="pre">-j4</span></tt> (or whatever) then we generate the documentation in <tt class="docutils literal"><span class="pre">-j1</span></tt></p>
|
||||||
<p>Under <span class="sc">rhel6</span> or clones, you must build using the <span class="cb">devtoolset2</span>:</p>
|
<p>Under <span class="sc">rhel6</span> or clones, you must build using the <span class="cb">devtoolset2</span>:</p>
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=coriolis \
|
dummy@lepka:src$ ./bootstrap/ccb.py --project=coriolis \
|
||||||
--devtoolset-2 --make="-j4 install"
|
--devtoolset-2 --make="-j4 install"
|
||||||
</pre>
|
</pre>
|
||||||
<p>If you want to uses Qt 5 instead of Qt 4, you may add the <tt class="docutils literal"><span class="pre">--qt5</span></tt> argument.</p>
|
<p>If you want to uses Qt 5 instead of Qt 4, you may add the <tt class="docutils literal"><span class="pre">--qt5</span></tt> argument.</p>
|
||||||
|
@ -425,7 +425,7 @@ development team. To use it instead of the <span class="cb">master</span> one, d
|
||||||
command just after the first step:</p>
|
command just after the first step:</p>
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
dummy@lepka:~$ git checkout devel
|
dummy@lepka:~$ git checkout devel
|
||||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=coriolis \
|
dummy@lepka:src$ ./bootstrap/ccb.py --project=coriolis \
|
||||||
--make="-j4 install" --debug
|
--make="-j4 install" --debug
|
||||||
</pre>
|
</pre>
|
||||||
<p>Be aware that it may requires newer versions of the dependencies and may introduce
|
<p>Be aware that it may requires newer versions of the dependencies and may introduce
|
||||||
|
|
|
@ -121,20 +121,16 @@ p\
|
||||||
endstream
|
endstream
|
||||||
endobj
|
endobj
|
||||||
99 0 obj
|
99 0 obj
|
||||||
<</Filter/FlateDecode/Length 2409>>
|
<</Filter/FlateDecode/Length 2406>>
|
||||||
stream
|
stream
|
||||||
xÚµY[sÛ¸~ï¯`ã´Cï”ðº3;SJ¢lniRÉx=ulI±<49>È‘"Ëuó²¿}p |