Compliance with g++ 4.8.1, support for devtoolset-2

Details:
* New: in <bootstrap>: add support for devtoolset-2 in ccb. Run the
    cmake commands through 'scl', set shell environment variables
    BOOST_INCLUDEDIR & BOOST_LIBRARYDIR and disable the default
    system path search.
* Change: In various flex scanners add the %nounput to suppress
    compiler warnings.
* Change: Little cleanup for g++ 4.8.1 as it's more strict.
* Change: In various top CMakeLists.txt, suppress extraneous '/'
    after DESTDIR.
This commit is contained in:
Jean-Paul Chaput 2014-03-15 10:47:37 +01:00
parent 39b6479457
commit f6ab7b87f0
49 changed files with 175 additions and 133 deletions

View File

@ -5,7 +5,11 @@
projectdir = 'coriolis-2.x'
projects = [ { 'name' : "coriolis"
projects = [ { 'name' : "axep"
, 'tools' : [ "AXE_Placer" ]
, 'repository': 'https://github.com/alnurn/AXE_Placer' }
, { 'name' : "coriolis"
, 'tools' : [ "bootstrap"
, "vlsisapd"
, "hurricane"

View File

@ -34,6 +34,7 @@ class Builder:
self._rmBuild = False
self._doBuild = True
self._noCache = False
self._devtoolset2 = False
self._enableShared = "ON"
self._enableDoc = "OFF"
self._checkDatabase = "OFF"
@ -55,6 +56,7 @@ class Builder:
elif attribute == "rmBuild": self._rmBuild = value
elif attribute == "doBuild": self._doBuild = value
elif attribute == "noCache": self._noCache = value
elif attribute == "devtoolset2": self._devtoolset2 = value
elif attribute == "enableDoc": self._enableDoc = value
elif attribute == "enableShared": self._enableShared = value
elif attribute == "checkDatabase": self._checkDatabase = value
@ -127,6 +129,13 @@ class Builder:
def _execute ( self, command, error ):
if self._devtoolset2 == True:
commandAsString = ''
for i in range(len(command)):
if i: commandAsString += ' '
commandAsString += command[i]
command = [ 'scl', 'enable', 'devtoolset-2', commandAsString ]
sys.stdout.flush ()
sys.stderr.flush ()
child = subprocess.Popen ( command, env=self._environment, stdout=None )
@ -151,6 +160,10 @@ class Builder:
print ErrorMessage( 0, "Missing tool source directory: \"%s\" (skipped)."%toolSourceDir )
return
boostNoSystemPaths = 'FALSE'
if self._devtoolset2 == True:
boostNoSystemPaths = 'TRUE'
if self._rmBuild:
print "Removing tool build directory: \"%s\"." % toolBuildDir
command = [ "/bin/rm", "-rf", toolBuildDir ]
@ -161,9 +174,10 @@ class Builder:
os.makedirs ( toolBuildDir )
os.chdir ( toolBuildDir )
command = ["cmake", "-D", "CMAKE_BUILD_TYPE:STRING=%s" % self.buildMode
, "-D", "BUILD_SHARED_LIBS:STRING=%s" % self.enableShared
#, "-D", "CMAKE_MODULE_PATH:STRING=%s" % cmakeModules
command = ["cmake", "-D", "Boost_NO_SYSTEM_PATHS:STRING=%s" % boostNoSystemPaths
, "-D", "CMAKE_BUILD_TYPE:STRING=%s" % self.buildMode
, "-D", "BUILD_SHARED_LIBS:STRING=%s" % self.enableShared
#, "-D", "CMAKE_MODULE_PATH:STRING=%s" % cmakeModules
, toolSourceDir ]
self._execute ( command, "First CMake failed" )
@ -172,7 +186,8 @@ class Builder:
cmakeCache = os.path.join(toolBuildDir,"CMakeCache.txt")
if os.path.isfile ( cmakeCache ): os.unlink ( cmakeCache )
command = ["cmake", "-D", "CMAKE_BUILD_TYPE:STRING=%s" % self.buildMode
command = ["cmake", "-D", "Boost_NO_SYSTEM_PATHS:STRING=%s" % boostNoSystemPaths
, "-D", "CMAKE_BUILD_TYPE:STRING=%s" % self.buildMode
, "-D", "BUILD_SHARED_LIBS:STRING=%s" % self.enableShared
, "-D", "BUILD_DOC:STRING=%s" % self._enableDoc
, "-D", "CHECK_DATABASE:STRING=%s" % self._checkDatabase
@ -183,6 +198,7 @@ class Builder:
if self.libSuffix:
command += [ "-D", "LIB_SUFFIX:STRING=%s" % self.libSuffix ]
command += [ toolSourceDir ]
self._execute ( command, "Second CMake failed" )
if self._doBuild:
@ -321,6 +337,10 @@ class Builder:
def _commandTemplate ( self, tools, projects, command ):
if self._devtoolset2:
self._environment[ 'BOOST_INCLUDEDIR' ] = '/opt/rh/devtoolset-2/root/usr/include'
self._environment[ 'BOOST_LIBRARYDIR' ] = '/opt/rh/devtoolset-2/root/usr/lib'
# Set or guess the various projects TOP environment variables.
for project in self.projects:
topVariable = "%s_TOP" % project.getName().upper()

View File

@ -155,39 +155,40 @@ def autoLocate ():
autoLocate()
parser = optparse.OptionParser ()
parser.add_option ( "-g", "--gui" , action="store_true" , dest="gui" , help="Lauch the graphical interface." )
# Build relateds.
parser.add_option ( "-c", "--conf", type="string", dest="conf" , help="Fichier de configuration." )
parser.add_option ( "--show-conf" , action="store_true" , dest="showConf" , help="Display the Project/Tools configuration, then exit." )
parser.add_option ( "-q", "--quiet" , action="store_true" , dest="quiet" , help="Do not print all the informative messages." )
parser.add_option ( "-r", "--release" , action="store_true" , dest="release" , help="Build a <Release> aka optimized version." )
parser.add_option ( "-d", "--debug" , action="store_true" , dest="debug" , help="Build a <Debug> aka (-g) version." )
parser.add_option ( "-s", "--static" , action="store_true" , dest="static" , help="Try to link statically, as much as possible." )
parser.add_option ( "--doc" , action="store_true" , dest="doc" , help="Enable the documentation building (uses with -j1)." )
parser.add_option ( "-v", "--verbose" , action="store_true" , dest="verboseMakefile" , help="Tells CMake to print all compilation commands." )
parser.add_option ( "--root" , action="store" , type="string", dest="rootDir" , help="The root directory (default: <~/coriolis-2.x/>)." )
parser.add_option ( "--no-build" , action="store_true" , dest="noBuild" , help="Do *not* build anything (by default: build)." )
parser.add_option ( "--no-cache" , action="store_true" , dest="noCache" , help="Remove previous CMake cache before building." )
parser.add_option ( "--rm-build" , action="store_true" , dest="rmBuild" , help="Remove previous build directoty before building." )
parser.add_option ( "--make" , action="store" , type="string", dest="makeArguments", help="Arguments to pass to make (ex: \"-j4 install\")." )
parser.add_option ( "--project" , action="append" , type="string", dest="projects" , help="The name of a project to build (may appears any number of time)." )
parser.add_option ( "-t", "--tool" , action="append" , type="string", dest="tools" , help="The name of a tool to build (may appears any number of time)." )
# SVN repository relateds.
# Have to be ported to Git.
#parser.add_option ( "--svn-tag" , action="store" , type="string", dest="svnTag" , help="Explicitly select a SVN tag (for SVN related commands)." )
#parser.add_option ( "--svn-method" , action="store" , type="string", dest="svnMethod" , help="Allows to sets the svn checkout method (svn+ssh://coriolis.soc.lip6.fr)." )
#parser.add_option ( "--svn-status" , action="store_true" , dest="svnStatus" , help="Check status against the SVN repository." )
#parser.add_option ( "--svn-diff" , action="store_true" , dest="svnDiff" , help="Perform a diff against the SVN repository." )
#parser.add_option ( "--svn-update" , action="store_true" , dest="svnUpdate" , help="Update to the latest SVN version *or* the one given by svn-tag." )
#parser.add_option ( "--svn-checkout" , action="store_true" , dest="svnCheckout", help="Checkout the latest SVN version *or* the one given by svn-tag." )
# Miscellaneous.
parser.add_option ( "--user-tarball" , action="store_true" , dest="userTarball", help="Regenerate a tarball from checked out sources (in <root>/tarball/." )
parser.add_option ( "--tarball" , action="store_true" , dest="tarball" , help="Regenerate a tarball (in <root>/tarball/." )
parser.add_option ( "--rpm" , action="store_true" , dest="doRpm" , help="Regenerate RPM packages." )
parser.add_option ( "--deb" , action="store_true" , dest="doDeb" , help="Regenerate Debian/Ubuntu packages." )
# Katabatic/Kite specific options.
parser.add_option ( "-D", "--check-db" , action="store_true" , dest="checkDb" , help="Enable Katabatic/Kite data-base checking (*very* slow)." )
parser.add_option ( "-u", "--check-deter", action="store_true" , dest="checkDeterminism", help="Enable Katabatic/Kite determinism checking (*very* slow)." )
parser.add_option ( "-g", "--gui" , action="store_true" , dest="gui" , help="Lauch the graphical interface." )
# Build relateds.
parser.add_option ( "-c", "--conf" , type="string", dest="conf" , help="Fichier de configuration." )
parser.add_option ( "--show-conf" , action="store_true" , dest="showConf" , help="Display the Project/Tools configuration, then exit." )
parser.add_option ( "-q", "--quiet" , action="store_true" , dest="quiet" , help="Do not print all the informative messages." )
parser.add_option ( "-r", "--release" , action="store_true" , dest="release" , help="Build a <Release> aka optimized version." )
parser.add_option ( "-d", "--debug" , action="store_true" , dest="debug" , help="Build a <Debug> aka (-g) version." )
parser.add_option ( "-s", "--static" , action="store_true" , dest="static" , help="Try to link statically, as much as possible." )
parser.add_option ( "--doc" , action="store_true" , dest="doc" , help="Enable the documentation building (uses with -j1)." )
parser.add_option ( "-v", "--verbose" , action="store_true" , dest="verboseMakefile" , help="Tells CMake to print all compilation commands." )
parser.add_option ( "--root" , action="store" , type="string", dest="rootDir" , help="The root directory (default: <~/coriolis-2.x/>)." )
parser.add_option ( "--no-build" , action="store_true" , dest="noBuild" , help="Do *not* build anything (by default: build)." )
parser.add_option ( "--no-cache" , action="store_true" , dest="noCache" , help="Remove previous CMake cache before building." )
parser.add_option ( "--rm-build" , action="store_true" , dest="rmBuild" , help="Remove previous build directoty before building." )
parser.add_option ( "--devtoolset-2", action="store_true" , dest="devtoolset2" , help="Build against TUV Dev Toolset 2." )
parser.add_option ( "--make" , action="store" , type="string", dest="makeArguments", help="Arguments to pass to make (ex: \"-j4 install\")." )
parser.add_option ( "--project" , action="append" , type="string", dest="projects" , help="The name of a project to build (may appears any number of time)." )
parser.add_option ( "-t", "--tool" , action="append" , type="string", dest="tools" , help="The name of a tool to build (may appears any number of time)." )
# SVN repository relateds.
# Have to be ported to Git.
#parser.add_option ( "--svn-tag" , action="store" , type="string", dest="svnTag" , help="Explicitly select a SVN tag (for SVN related commands)." )
#parser.add_option ( "--svn-method" , action="store" , type="string", dest="svnMethod" , help="Allows to sets the svn checkout method (svn+ssh://coriolis.soc.lip6.fr)." )
#parser.add_option ( "--svn-status" , action="store_true" , dest="svnStatus" , help="Check status against the SVN repository." )
#parser.add_option ( "--svn-diff" , action="store_true" , dest="svnDiff" , help="Perform a diff against the SVN repository." )
#parser.add_option ( "--svn-update" , action="store_true" , dest="svnUpdate" , help="Update to the latest SVN version *or* the one given by svn-tag." )
#parser.add_option ( "--svn-checkout" , action="store_true" , dest="svnCheckout" , help="Checkout the latest SVN version *or* the one given by svn-tag." )
# Miscellaneous.
parser.add_option ( "--user-tarball" , action="store_true" , dest="userTarball" , help="Regenerate a tarball from checked out sources (in <root>/tarball/." )
parser.add_option ( "--tarball" , action="store_true" , dest="tarball" , help="Regenerate a tarball (in <root>/tarball/." )
parser.add_option ( "--rpm" , action="store_true" , dest="doRpm" , help="Regenerate RPM packages." )
parser.add_option ( "--deb" , action="store_true" , dest="doDeb" , help="Regenerate Debian/Ubuntu packages." )
# Katabatic/Kite specific options.
parser.add_option ( "-D", "--check-db" , action="store_true" , dest="checkDb" , help="Enable Katabatic/Kite data-base checking (*very* slow)." )
parser.add_option ( "-u", "--check-deter" , action="store_true" , dest="checkDeterminism", help="Enable Katabatic/Kite determinism checking (*very* slow)." )
(options, args) = parser.parse_args ()
if options.gui:
@ -239,6 +240,7 @@ else:
if options.noBuild: builder.doBuild = False
if options.noCache: builder.noCache = True
if options.rmBuild: builder.rmBuild = True
if options.devtoolset2: builder.devtoolset2 = True
if options.makeArguments: builder.makeArguments = options.makeArguments
#if options.svnMethod: builder.svnMethod = options.svnMethod
#if options.svnTag: builder.svnTag = options.svnTag

View File

@ -72,8 +72,8 @@
#
# Adds -Wall to the C/C++ flags.
#
set(CMAKE_C_FLAGS_DEBUG "-Wall -g" CACHE STRING "C Compiler Debug options." FORCE)
set(CMAKE_C_FLAGS_RELEASE "-Wall -O2 -DNDEBUG" CACHE STRING "C Compiler Release options." FORCE)
set(CMAKE_C_FLAGS_DEBUG "-std=c++0x -Wall -g" CACHE STRING "C Compiler Debug options." FORCE)
set(CMAKE_C_FLAGS_RELEASE "-std=c++0x -Wall -O2 -DNDEBUG" CACHE STRING "C Compiler Release options." FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-std=c++0x -Wall -g" CACHE STRING "C++ Compiler Debug options." FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-std=c++0x -Wall -O2 -DNDEBUG" CACHE STRING "C++ Compiler Release options." FORCE)
@ -193,7 +193,8 @@
find_package(Boost 1.33.1 COMPONENTS ${ARGV} REQUIRED)
endif(NOT Boost_FOUND)
endif(ARGC LESS 1)
message(STATUS "Found Boost libraries ${Boost_LIB_VERSION} in ${Boost_INCLUDE_DIR}")
message(STATUS "Found Boost includes ${Boost_LIB_VERSION} in ${Boost_INCLUDE_DIR}")
message(STATUS "Found Boost libraries ${Boost_LIB_VERSION} in ${Boost_LIBRARY_DIRS}")
foreach(LIBRARY ${Boost_LIBRARIES})
message(STATUS " ${LIBRARY}")
endforeach(LIBRARY)

View File

@ -6,7 +6,7 @@
OPTION(BUILD_DOC "Build the documentation (latex+doxygen)" OFF)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)
list(INSERT CMAKE_MODULE_PATH 0 "${CRLCORE_SOURCE_DIR}/cmake_modules/")

View File

@ -133,7 +133,6 @@ double getMemoryUsageEstimate()
return -1;
#endif
static int prevMem=0;
static int extra;
static int fail=0;
if (fail) return -1;
@ -187,7 +186,6 @@ double getMemoryUsageEstimate()
// FIFO destruction
for (int i=0; i!=numAllocs; ++i) free(ptr[i]);
extra=memused()-last;
// handle extra correctly:
// in some cases we need to add its prev value to current,
// in some just store the new value

View File

@ -1,4 +1,6 @@
%option nounput
%{
#include <iostream>

View File

@ -448,7 +448,7 @@ namespace {
static int index;
string pinName;
static Net* net;
static Pin* pin;
//static Pin* pin;
static LayerInformation* layerInfo;
static Pin::AccessDirection accessDirection;
static Name orientation;
@ -496,16 +496,16 @@ namespace {
if (layerInfo and net) {
net->setExternal( true );
pin = Pin::create( net
, pinName
, accessDirection
, Pin::PlacementStatus::PLACED
, layerInfo->getLayer()
, XCON
, YCON
, WIDTH
, WIDTH
);
/*pin =*/ Pin::create( net
, pinName
, accessDirection
, Pin::PlacementStatus::PLACED
, layerInfo->getLayer()
, XCON
, YCON
, WIDTH
, WIDTH
);
}
if (not net ) _printError( false, "Unknown net name %s." , fields[5] );
if (not layerInfo ) _printError( false, "Unknown layer name %s.", fields[6] );

View File

@ -1,5 +1,7 @@
%{
%option nounput
%{
// This file is part of the Coriolis Project.
// Copyright (C) Laboratoire LIP6 - Departement ASIM

View File

@ -1,3 +1,6 @@
%option nounput
%{
#include <stdio.h>
#include <string.h>

View File

@ -49,8 +49,8 @@ extern "C" {
trace << "PyToolEngine_get()" << endl;
HTRY
PyObject* pyCell = NULL;
char* name = NULL;
PyObject* pyCell = NULL;
char* name = NULL;
static char* keywords[] = { "cell", "name", NULL };

View File

@ -3,7 +3,7 @@
project(CUMULUS)
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)

View File

@ -6,7 +6,7 @@
OPTION(BUILD_DOC "Build the documentation (html+latex)" OFF)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)
list(INSERT CMAKE_MODULE_PATH 0 "${CRLCORE_SOURCE_DIR}/cmake_modules/")

View File

@ -9,7 +9,7 @@
add_custom_target ( doc_LaTeX ALL
cd ${DOCUMENTATION_SOURCE_DIR}/UsersGuide
&& rst2latex --use-latex-toc --stylesheet=./socstyle.tex UsersGuide_LaTeX.rst UsersGuide-raw.tex
&& sed 's, \& \\\\multicolumn{2}{l|}{, \& \\\\multicolumn{2}{p{0.6\\\\DUtablewidth}|}{,' UsersGuide-raw.tex > UsersGuide.tex )
&& sed 's, \\& \\\\multicolumn{2}{l|}{, \\& \\\\multicolumn{2}{p{0.6\\\\DUtablewidth}|}{,' UsersGuide-raw.tex > UsersGuide.tex )
install ( DIRECTORY images/
DESTINATION ${htmlInstallDir}/images

View File

@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)

View File

@ -6,7 +6,7 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)
list(INSERT CMAKE_MODULE_PATH 0 "${HURRICANE_SOURCE_DIR}/cmake_modules/")

View File

@ -39,6 +39,7 @@
#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>
#include <time.h>
#include <math.h>

View File

@ -66,8 +66,6 @@ extern "C" {
{
trace << "PyNetExternalComponents_setExternal()" << endl;
bool isExternal = false;
HTRY
PyObject* pyComponent;
if (PyArg_ParseTuple( args, "O", &pyComponent )) {

View File

@ -2,7 +2,7 @@
// -*- C++ -*-
//
// This file is part of the Coriolis Software.
// Copyright (c) UPMC/LIP6 2008-2013, All Rights Reserved
// Copyright (c) UPMC/LIP6 2008-2014, All Rights Reserved
//
// +-----------------------------------------------------------------+
// | C O R I O L I S |
@ -15,6 +15,7 @@
// +-----------------------------------------------------------------+
#include <unistd.h>
#include <csignal>
#include <memory>
#include <QCloseEvent>

View File

@ -37,11 +37,11 @@ extern "C" {
// #undef GENERIC_METHOD_HEAD
// #define GENERIC_METHOD_HEAD(SELF_TYPE,SELF_OBJECT,function) \
// if ( self->ACCESS_OBJECT.get() == NULL ) { \
// PyErr_SetString ( ProxyError, "Attempt to call " function " on an unbound hurricane object" ); \
// return NULL; \
// } \
// #define GENERIC_METHOD_HEAD(SELF_TYPE,SELF_OBJECT,function)
// if ( self->ACCESS_OBJECT.get() == NULL ) {
// PyErr_SetString ( ProxyError, "Attempt to call " function " on an unbound hurricane object" );
// return NULL;
// }
// SELF_TYPE SELF_OBJECT = self->ACCESS_OBJECT;
//
// #define METHOD_HEAD(function) GENERIC_METHOD_HEAD(DrawingStyle,ds,function)

View File

@ -135,7 +135,7 @@ extern "C" {
{
trace << "PyGraphics_getGroup()" << endl;
const char* group;
const char* group = "NoGroup";
HTRY
Graphics* graphics = Graphics::getGraphics ();

View File

@ -142,7 +142,7 @@ namespace Isobar {
_finalize();
return true;
return returnCode;
}

View File

@ -227,7 +227,8 @@ namespace Hurricane {
{
if ( event->key() == Qt::Key_N ) {
event->accept();
_selectMode = (++_selectMode) % 3;
_selectMode++;
_selectMode = _selectMode % 3;
}
}

View File

@ -7,7 +7,7 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)

View File

@ -1288,11 +1288,11 @@ namespace Katabatic {
return true;
}
bool hasGlobalSegment = false;
//bool hasGlobalSegment = false;
if ((flags & KbPropagate) and not isNotAligned()) {
forEach ( AutoSegment*, isegment, const_cast<AutoSegment*>(this)->getAligneds(flags) ) {
if (isegment->isFixed ()) return false;
if (isegment->isGlobal()) hasGlobalSegment = true;
//if (isegment->isGlobal()) hasGlobalSegment = true;
isegment->getGCells( gcells );
if ( (*gcells.begin ())->getIndex() < begin->getIndex() ) begin = *gcells.begin ();

View File

@ -1111,7 +1111,7 @@ namespace Katabatic {
if ( not (flags & KbForceMove) and not isSaturated(depth) ) return false;
float capacity;
//float capacity;
vector<AutoSegment*>::iterator isegment;
vector<AutoSegment*>::iterator iend;
@ -1119,12 +1119,12 @@ namespace Katabatic {
case Constant::Horizontal:
iend = _hsegments.end ();
isegment = _hsegments.begin ();
capacity = getHCapacity ();
//capacity = getHCapacity ();
break;
case Constant::Vertical:
iend = _vsegments.end ();
isegment = _vsegments.begin ();
capacity = getVCapacity ();
//capacity = getVCapacity ();
break;
}
@ -1155,7 +1155,7 @@ namespace Katabatic {
updateDensity ();
float capacity;
//float capacity;
vector<AutoSegment*>::iterator isegment;
vector<AutoSegment*>::iterator iend;
set<Net*> globalNets;
@ -1164,12 +1164,12 @@ namespace Katabatic {
case Constant::Horizontal:
iend = _hsegments.end ();
isegment = _hsegments.begin ();
capacity = getHCapacity ();
//capacity = getHCapacity ();
break;
case Constant::Vertical:
iend = _vsegments.end ();
isegment = _vsegments.begin ();
capacity = getVCapacity ();
//capacity = getVCapacity ();
break;
}
@ -1201,7 +1201,7 @@ namespace Katabatic {
updateDensity ();
float capacity;
//float capacity;
vector<AutoSegment*>::iterator isegment;
vector<AutoSegment*>::iterator iend;
@ -1209,12 +1209,12 @@ namespace Katabatic {
case Constant::Horizontal:
iend = _hsegments.end ();
isegment = _hsegments.begin ();
capacity = getHCapacity ();
//capacity = getHCapacity ();
break;
case Constant::Vertical:
iend = _vsegments.end ();
isegment = _vsegments.begin ();
capacity = getVCapacity ();
//capacity = getVCapacity ();
break;
}

View File

@ -56,7 +56,7 @@ namespace Katabatic {
void GCellGrid::_postCreate ()
{
KnikEngine::KnikEngine* knik;
KnikEngine* knik;
knik = KnikEngine::get ( getCell() );
if ( !knik )
throw Error ( missingKnikEngine, "GCellGrid::_postCreate()", getString(getCell()).c_str() );

View File

@ -1134,8 +1134,8 @@ namespace {
viaLayer = Session::getContactLayer(1);
AutoContact* subContact1 = AutoContactTurn::create( gcell, rp1->getNet(), Session::getContactLayer(1) );
AutoContact* subContact2 = AutoContactTurn::create( gcell, rp1->getNet(), Session::getContactLayer(1) );
AutoContact* subContact1 = AutoContactTurn::create( gcell, rp1->getNet(), viaLayer );
AutoContact* subContact2 = AutoContactTurn::create( gcell, rp1->getNet(), viaLayer );
AutoSegment::create( rp1ContactTarget, subContact1 , KbHorizontal );
AutoSegment::create( subContact1 , subContact2 , KbVertical );
@ -1168,8 +1168,8 @@ namespace {
viaLayer = Session::getContactLayer(1);
AutoContact* subContact1 = AutoContactTurn::create( gcell, rp1->getNet(), Session::getContactLayer(1) );
AutoContact* subContact2 = AutoContactTurn::create( gcell, rp1->getNet(), Session::getContactLayer(1) );
AutoContact* subContact1 = AutoContactTurn::create( gcell, rp1->getNet(), viaLayer );
AutoContact* subContact2 = AutoContactTurn::create( gcell, rp1->getNet(), viaLayer );
AutoSegment::create( rp1ContactTarget, subContact1 , KbVertical );
AutoSegment::create( subContact1 , subContact2 , KbHorizontal );
@ -1318,11 +1318,10 @@ namespace {
ltracein(99);
unsigned int flags = NoFlags;
Hook* globalHook = NULL;
if (_east ) { globalHook = _east; flags |= HAccess; }
else if (_west ) { globalHook = _west; flags |= HAccess; }
else if (_north) { globalHook = _north; flags |= VSmall; }
else if (_south) { globalHook = _south; flags |= VSmall; }
if (_east ) { flags |= HAccess; }
else if (_west ) { flags |= HAccess; }
else if (_north) { flags |= VSmall; }
else if (_south) { flags |= VSmall; }
_southWestContact = _northEastContact = doRp_Access( _gcell, _routingPads[0], flags );

View File

@ -432,7 +432,7 @@ namespace Katabatic {
inline AutoSegments_InDirection::AutoSegments_InDirection ( unsigned int direction )
: AutoSegmentHF()
, _direction(_direction)
, _direction(direction)
{}

View File

@ -2,7 +2,7 @@
// -*- C++ -*-
//
// This file is part of the Coriolis Software.
// Copyright (c) UPMC/LIP6 2008-2013, All Rights Reserved
// Copyright (c) UPMC/LIP6 2008-2014, All Rights Reserved
//
// +-----------------------------------------------------------------+
// | C O R I O L I S |
@ -172,7 +172,7 @@ namespace Katabatic {
_stop = 0;
} else {
_start = grid->getIndex ( column, rowStart );
_stop = grid->getIndex ( column, min(rowStop,grid->getRows()) );
_stop = grid->getIndex ( column, std::min(rowStop,grid->getRows()) );
}
}
@ -344,7 +344,7 @@ namespace Katabatic {
_stop = 0;
} else {
_start = grid->getIndex ( columnStart, row );
_stop = grid->getIndex ( min(columnStop,grid->getColumns()), row );
_stop = grid->getIndex ( std::min(columnStop,grid->getColumns()), row );
}
}

View File

@ -7,7 +7,7 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)

View File

@ -233,7 +233,7 @@ namespace Kite {
void KiteEngine::createGlobalGraph ( unsigned int mode )
{
Cell* cell = getCell();
Box cellBb = cell->getBoundingBox();
//Box cellBb = cell->getBoundingBox();
if (not _knik) {
cell->flattenNets( mode & KtBuildGlobalRouting );

View File

@ -632,7 +632,7 @@ namespace Kite {
size_t end = _fsm.getEnd (itrack);
Net* ownerNet = _segment->getNet();
Interval toFree (_segment->getCanonicalInterval());
Net* ripupNet = NULL;
//Net* ripupNet = NULL;
set<TrackElement*> canonicals;
DbU::Unit rightAxisHint = 0;
DbU::Unit leftAxisHint = 0;
@ -661,7 +661,7 @@ namespace Kite {
// ltrace(200) << "Ovelap has an Id superior to AutoSegment::maxId:" << maxId << "." << endl;
// continue;
// }
ripupNet = segment2->getNet();
// ripupNet = segment2->getNet();
DataNegociate* data2 = segment2->getDataNegociate();
if ( !data2 ) {
@ -803,7 +803,7 @@ namespace Kite {
size_t end = _fsm.getEnd (itrack);
Net* ownerNet = _segment->getNet();
Interval toFree (_segment->getCanonicalInterval());
Net* ripupNet = NULL;
//Net* ripupNet = NULL;
set<TrackElement*> canonicals;
bool success = true;
@ -820,7 +820,7 @@ namespace Kite {
success = false;
continue;
}
ripupNet = segment2->getNet();
//ripupNet = segment2->getNet();
DataNegociate* data2 = segment2->getDataNegociate();
if (not data2 ) {

View File

@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)
print_cmake_module_path()

View File

@ -609,13 +609,15 @@ void Graph::initConnexComp ( Vertex* vertex, Edge* arrivalEdge, int newConnexID
if ( newConnexID != -1 ) {
vertex->setConnexID ( newConnexID );
}
if ( VTuple* vtuple = vertex->getVTuple() ) {
VTuple* vtuple = vertex->getVTuple();
if ( vtuple ) {
//cerr << " Vertex " << vertex << " already has a vtuple : " << vtuple << endl;
assert ( vtuple->getVertex() == vertex );
increaseVTuplePriority ( vtuple, 0 );
}
else {
VTuple* vtuple = VTuple::create ( vertex, 0 );
vtuple = VTuple::create ( vertex, 0 );
//cerr << " Vertex " << vertex << " has now a new vtuple : " << vtuple << endl;
addVTupleToPriorityQueue ( vtuple );
}
@ -672,11 +674,12 @@ void Graph::UpdateConnexComp ( VertexList reachedVertexes, Vertex* firstVertex )
currentVertex->setDistance(0);
currentVertex->setConnexID(firstConnexID);
if ( VTuple* vtuple = currentVertex->getVTuple() ) {
VTuple* vtuple = currentVertex->getVTuple();
if ( vtuple ) {
increaseVTuplePriority ( vtuple, 0);
}
else {
VTuple* vtuple = VTuple::create ( currentVertex, 0 );
vtuple = VTuple::create ( currentVertex, 0 );
addVTupleToPriorityQueue ( vtuple );
}
}

View File

@ -94,8 +94,8 @@ namespace Knik {
painter.setFont(font);
//QString text = QString("%1%2%3").arg(edge->getConnexID()).arg(",").arg(edge->getConstCost());
QString text = QString("%1").arg(edge->getConnexID());
Point fromPos = edge->getFrom()->getPosition();
Point toPos = edge->getTo()->getPosition();
//Point fromPos = edge->getFrom()->getPosition();
//Point toPos = edge->getTo()->getPosition();
//painter.drawText ( widget->dbuToDisplayPoint ( (fromPos.getX()+toPos.getX())/2+DbU::lambda(0.5), (fromPos.getY()+toPos.getY())/2+DbU::lambda(0.5) ), text );
if ( edge->isVertical() ) {
@ -146,7 +146,7 @@ namespace Knik {
painter.setFont(font);
//QString text = QString("%1%2%3").arg(edge->getConnexID()).arg(",").arg(edge->getConstCost());
QString text = QString("%1 / %2").arg(vertex->getConnexID()).arg(vertex->getDistance());
Point center = vertex->getPosition();
//Point center = vertex->getPosition();
Box textBox = Box(vertex->getXMin(), vertex->getYMin(), vertex->getXMax(), vertex->getYMax());
painter.drawText ( widget->dbuToDisplayRect ( textBox,false ), text, QTextOption (Qt::AlignCenter) );
painter.setPen(Qt::NoPen);

View File

@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)
print_cmake_module_path()

View File

@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)
print_cmake_module_path()

View File

@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)

View File

@ -35,6 +35,7 @@ HFence* HFence::create (Grid* grid, GCell* gcup, GCell* gcdown) {
if ( (!gcup) && (!gcdown) )
throw Error("cannot create a flying fence");
#if THIS_IS_DISABLED
unsigned step;
if (gcup) {
step = gcup->getStep();
@ -43,6 +44,7 @@ HFence* HFence::create (Grid* grid, GCell* gcup, GCell* gcdown) {
} else {
step = 0;
}
#endif
HFence* hfence = new HFence (grid, gcup, gcdown);

View File

@ -34,6 +34,7 @@ VFence* VFence::create (Grid* grid, GCell* gcleft, GCell* gcright) {
if ( (!gcleft) && (!gcright) )
throw Error("cannot create a flying fence");
#if THIS_IS_DISABLED
unsigned step;
if (gcleft) {
step = gcleft->getStep();
@ -42,6 +43,7 @@ VFence* VFence::create (Grid* grid, GCell* gcleft, GCell* gcright) {
} else {
step = 0;
}
#endif
VFence* vfence = new VFence (grid, gcleft, gcright);

View File

@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)

View File

@ -5,7 +5,7 @@
option(BUILD_DOC "Build the documentation (latex2html)" OFF)
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)

View File

@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(CORIOLIS)

View File

@ -61,6 +61,7 @@
${BOOKSHELF_LIBRARY}
${AGDS_LIBRARY}
${CIF_LIBRARY}
${UTILITIES_LIBRARY}
${CONFIGURATION_LIBRARY}
${LEFDEF_LIBRARIES}
${OA_LIBRARIES}

View File

@ -4,11 +4,12 @@
cmake_minimum_required(VERSION 2.4.0)
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}/$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
list(INSERT CMAKE_MODULE_PATH 0 "${VLSISAPD_SOURCE_DIR}/cmake_modules/")
print_cmake_module_path()
message(STATUS "Boost_NO_SYSTEM_PATHS: ${Boost_NO_SYSTEM_PATHS}")
set_cmake_policies()
setup_boost(program_options python regex)

View File

@ -108,7 +108,7 @@ namespace Bookshelf {
<< _maxPinId << " founds." << std::endl;
success = false;
}
return false;
return success;
}

View File

@ -2,7 +2,7 @@
// -*- C++ -*-
//
// This file is part of the VSLSI Stand-Alone Software.
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
// Copyright (c) UPMC/LIP6 2008-2014, All Rights Reserved
//
// +-----------------------------------------------------------------+
// | V L S I Stand - Alone Parsers / Drivers |
@ -165,17 +165,17 @@ namespace Cfg {
VectorWrapper< std::vector<std::string> >::wrap ( "StringVector" );
VectorWrapper< std::vector<Parameter::EnumValue> >::wrap ( "EnumValueVector" );
typedef void (Parameter::* VoidIntPrioritySign )(int ,Parameter::Priority) ;
typedef void (Parameter::* VoidDoublePrioritySign )(double,Parameter::Priority) ;
typedef void (Parameter::* VoidIntSign )(int );
typedef void (Parameter::* VoidDoubleSign )(double);
//typedef void (Parameter::* VoidIntPrioritySign )(int ,Parameter::Priority);
//typedef void (Parameter::* VoidDoublePrioritySign )(double,Parameter::Priority);
//typedef void (Parameter::* VoidIntSign )(int );
//typedef void (Parameter::* VoidDoubleSign )(double);
typedef bool (Parameter::* BoolIntConstSign )(int ) const;
typedef bool (Parameter::* BoolDoubleConstSign )(double) const;
typedef bool (Parameter::* BoolBoolSign )(bool );
typedef bool (Parameter::* BoolIntSign )(int );
typedef bool (Parameter::* BoolDoubleSign )(double);
typedef bool (Parameter::* BoolStringSign )(std::string);
typedef bool (Parameter::* BoolStringFlagsSign )(std::string,unsigned int);
//typedef bool (Parameter::* BoolBoolSign )(bool );
//typedef bool (Parameter::* BoolIntSign )(int );
//typedef bool (Parameter::* BoolDoubleSign )(double);
//typedef bool (Parameter::* BoolStringSign )(std::string);
//typedef bool (Parameter::* BoolStringFlagsSign )(std::string,unsigned int);
// Parameter overloaded function members.
BoolIntConstSign paramCheckValueInt = (BoolIntConstSign) &Parameter::checkValue;

View File

@ -1,4 +1,6 @@
%option nounput
%{
#include <iostream>
@ -147,7 +149,6 @@ cell_footprint { return CELL_FOOTPRINT; }
dont_use { return DONT_USE; }
pin { return PIN; }
direction { return DIRECTION; }
capacitance { return CAPACITANCE; }
fanout_load { return FANOUT_LOAD; }
max_fanout { return MAX_FANOUT; }
function { return FUNCTION; }