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:
parent
39b6479457
commit
f6ab7b87f0
|
@ -5,7 +5,11 @@
|
||||||
|
|
||||||
projectdir = 'coriolis-2.x'
|
projectdir = 'coriolis-2.x'
|
||||||
|
|
||||||
projects = [ { 'name' : "coriolis"
|
projects = [ { 'name' : "axep"
|
||||||
|
, 'tools' : [ "AXE_Placer" ]
|
||||||
|
, 'repository': 'https://github.com/alnurn/AXE_Placer' }
|
||||||
|
|
||||||
|
, { 'name' : "coriolis"
|
||||||
, 'tools' : [ "bootstrap"
|
, 'tools' : [ "bootstrap"
|
||||||
, "vlsisapd"
|
, "vlsisapd"
|
||||||
, "hurricane"
|
, "hurricane"
|
||||||
|
|
|
@ -34,6 +34,7 @@ class Builder:
|
||||||
self._rmBuild = False
|
self._rmBuild = False
|
||||||
self._doBuild = True
|
self._doBuild = True
|
||||||
self._noCache = False
|
self._noCache = False
|
||||||
|
self._devtoolset2 = False
|
||||||
self._enableShared = "ON"
|
self._enableShared = "ON"
|
||||||
self._enableDoc = "OFF"
|
self._enableDoc = "OFF"
|
||||||
self._checkDatabase = "OFF"
|
self._checkDatabase = "OFF"
|
||||||
|
@ -55,6 +56,7 @@ class Builder:
|
||||||
elif attribute == "rmBuild": self._rmBuild = value
|
elif attribute == "rmBuild": self._rmBuild = value
|
||||||
elif attribute == "doBuild": self._doBuild = value
|
elif attribute == "doBuild": self._doBuild = value
|
||||||
elif attribute == "noCache": self._noCache = value
|
elif attribute == "noCache": self._noCache = value
|
||||||
|
elif attribute == "devtoolset2": self._devtoolset2 = value
|
||||||
elif attribute == "enableDoc": self._enableDoc = value
|
elif attribute == "enableDoc": self._enableDoc = value
|
||||||
elif attribute == "enableShared": self._enableShared = value
|
elif attribute == "enableShared": self._enableShared = value
|
||||||
elif attribute == "checkDatabase": self._checkDatabase = value
|
elif attribute == "checkDatabase": self._checkDatabase = value
|
||||||
|
@ -127,6 +129,13 @@ class Builder:
|
||||||
|
|
||||||
|
|
||||||
def _execute ( self, command, error ):
|
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.stdout.flush ()
|
||||||
sys.stderr.flush ()
|
sys.stderr.flush ()
|
||||||
child = subprocess.Popen ( command, env=self._environment, stdout=None )
|
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 )
|
print ErrorMessage( 0, "Missing tool source directory: \"%s\" (skipped)."%toolSourceDir )
|
||||||
return
|
return
|
||||||
|
|
||||||
|
boostNoSystemPaths = 'FALSE'
|
||||||
|
if self._devtoolset2 == True:
|
||||||
|
boostNoSystemPaths = 'TRUE'
|
||||||
|
|
||||||
if self._rmBuild:
|
if self._rmBuild:
|
||||||
print "Removing tool build directory: \"%s\"." % toolBuildDir
|
print "Removing tool build directory: \"%s\"." % toolBuildDir
|
||||||
command = [ "/bin/rm", "-rf", toolBuildDir ]
|
command = [ "/bin/rm", "-rf", toolBuildDir ]
|
||||||
|
@ -161,9 +174,10 @@ class Builder:
|
||||||
os.makedirs ( toolBuildDir )
|
os.makedirs ( toolBuildDir )
|
||||||
os.chdir ( toolBuildDir )
|
os.chdir ( toolBuildDir )
|
||||||
|
|
||||||
command = ["cmake", "-D", "CMAKE_BUILD_TYPE:STRING=%s" % self.buildMode
|
command = ["cmake", "-D", "Boost_NO_SYSTEM_PATHS:STRING=%s" % boostNoSystemPaths
|
||||||
, "-D", "BUILD_SHARED_LIBS:STRING=%s" % self.enableShared
|
, "-D", "CMAKE_BUILD_TYPE:STRING=%s" % self.buildMode
|
||||||
#, "-D", "CMAKE_MODULE_PATH:STRING=%s" % cmakeModules
|
, "-D", "BUILD_SHARED_LIBS:STRING=%s" % self.enableShared
|
||||||
|
#, "-D", "CMAKE_MODULE_PATH:STRING=%s" % cmakeModules
|
||||||
, toolSourceDir ]
|
, toolSourceDir ]
|
||||||
self._execute ( command, "First CMake failed" )
|
self._execute ( command, "First CMake failed" )
|
||||||
|
|
||||||
|
@ -172,7 +186,8 @@ class Builder:
|
||||||
cmakeCache = os.path.join(toolBuildDir,"CMakeCache.txt")
|
cmakeCache = os.path.join(toolBuildDir,"CMakeCache.txt")
|
||||||
if os.path.isfile ( cmakeCache ): os.unlink ( cmakeCache )
|
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_SHARED_LIBS:STRING=%s" % self.enableShared
|
||||||
, "-D", "BUILD_DOC:STRING=%s" % self._enableDoc
|
, "-D", "BUILD_DOC:STRING=%s" % self._enableDoc
|
||||||
, "-D", "CHECK_DATABASE:STRING=%s" % self._checkDatabase
|
, "-D", "CHECK_DATABASE:STRING=%s" % self._checkDatabase
|
||||||
|
@ -183,6 +198,7 @@ class Builder:
|
||||||
if self.libSuffix:
|
if self.libSuffix:
|
||||||
command += [ "-D", "LIB_SUFFIX:STRING=%s" % self.libSuffix ]
|
command += [ "-D", "LIB_SUFFIX:STRING=%s" % self.libSuffix ]
|
||||||
command += [ toolSourceDir ]
|
command += [ toolSourceDir ]
|
||||||
|
|
||||||
self._execute ( command, "Second CMake failed" )
|
self._execute ( command, "Second CMake failed" )
|
||||||
|
|
||||||
if self._doBuild:
|
if self._doBuild:
|
||||||
|
@ -321,6 +337,10 @@ class Builder:
|
||||||
|
|
||||||
|
|
||||||
def _commandTemplate ( self, tools, projects, command ):
|
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.
|
# Set or guess the various projects TOP environment variables.
|
||||||
for project in self.projects:
|
for project in self.projects:
|
||||||
topVariable = "%s_TOP" % project.getName().upper()
|
topVariable = "%s_TOP" % project.getName().upper()
|
||||||
|
|
|
@ -155,39 +155,40 @@ def autoLocate ():
|
||||||
autoLocate()
|
autoLocate()
|
||||||
|
|
||||||
parser = optparse.OptionParser ()
|
parser = optparse.OptionParser ()
|
||||||
parser.add_option ( "-g", "--gui" , action="store_true" , dest="gui" , help="Lauch the graphical interface." )
|
parser.add_option ( "-g", "--gui" , action="store_true" , dest="gui" , help="Lauch the graphical interface." )
|
||||||
# Build relateds.
|
# Build relateds.
|
||||||
parser.add_option ( "-c", "--conf", type="string", dest="conf" , help="Fichier de configuration." )
|
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 ( "--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 ( "-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 ( "-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 ( "-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 ( "-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 ( "--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 ( "-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 ( "--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-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 ( "--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 ( "--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 ( "--devtoolset-2", action="store_true" , dest="devtoolset2" , help="Build against TUV Dev Toolset 2." )
|
||||||
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 ( "--make" , action="store" , type="string", dest="makeArguments", help="Arguments to pass to make (ex: \"-j4 install\")." )
|
||||||
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)." )
|
parser.add_option ( "--project" , action="append" , type="string", dest="projects" , help="The name of a project to build (may appears any number of time)." )
|
||||||
# SVN repository relateds.
|
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)." )
|
||||||
# Have to be ported to Git.
|
# SVN repository relateds.
|
||||||
#parser.add_option ( "--svn-tag" , action="store" , type="string", dest="svnTag" , help="Explicitly select a SVN tag (for SVN related commands)." )
|
# Have to be ported to Git.
|
||||||
#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-tag" , action="store" , type="string", dest="svnTag" , help="Explicitly select a SVN tag (for SVN related commands)." )
|
||||||
#parser.add_option ( "--svn-status" , action="store_true" , dest="svnStatus" , help="Check status against the SVN repository." )
|
#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-diff" , action="store_true" , dest="svnDiff" , help="Perform a diff against the SVN repository." )
|
#parser.add_option ( "--svn-status" , action="store_true" , dest="svnStatus" , help="Check status 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-diff" , action="store_true" , dest="svnDiff" , help="Perform a diff against the SVN repository." )
|
||||||
#parser.add_option ( "--svn-checkout" , action="store_true" , dest="svnCheckout", help="Checkout the latest SVN version *or* the one given by svn-tag." )
|
#parser.add_option ( "--svn-update" , action="store_true" , dest="svnUpdate" , help="Update to the latest SVN version *or* the one given by svn-tag." )
|
||||||
# Miscellaneous.
|
#parser.add_option ( "--svn-checkout" , action="store_true" , dest="svnCheckout" , help="Checkout the latest SVN version *or* the one given by svn-tag." )
|
||||||
parser.add_option ( "--user-tarball" , action="store_true" , dest="userTarball", help="Regenerate a tarball from checked out sources (in <root>/tarball/." )
|
# Miscellaneous.
|
||||||
parser.add_option ( "--tarball" , action="store_true" , dest="tarball" , help="Regenerate a tarball (in <root>/tarball/." )
|
parser.add_option ( "--user-tarball" , action="store_true" , dest="userTarball" , help="Regenerate a tarball from checked out sources (in <root>/tarball/." )
|
||||||
parser.add_option ( "--rpm" , action="store_true" , dest="doRpm" , help="Regenerate RPM packages." )
|
parser.add_option ( "--tarball" , action="store_true" , dest="tarball" , help="Regenerate a tarball (in <root>/tarball/." )
|
||||||
parser.add_option ( "--deb" , action="store_true" , dest="doDeb" , help="Regenerate Debian/Ubuntu packages." )
|
parser.add_option ( "--rpm" , action="store_true" , dest="doRpm" , help="Regenerate RPM packages." )
|
||||||
# Katabatic/Kite specific options.
|
parser.add_option ( "--deb" , action="store_true" , dest="doDeb" , help="Regenerate Debian/Ubuntu packages." )
|
||||||
parser.add_option ( "-D", "--check-db" , action="store_true" , dest="checkDb" , help="Enable Katabatic/Kite data-base checking (*very* slow)." )
|
# Katabatic/Kite specific options.
|
||||||
parser.add_option ( "-u", "--check-deter", action="store_true" , dest="checkDeterminism", help="Enable Katabatic/Kite determinism checking (*very* slow)." )
|
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 ()
|
(options, args) = parser.parse_args ()
|
||||||
|
|
||||||
if options.gui:
|
if options.gui:
|
||||||
|
@ -239,6 +240,7 @@ else:
|
||||||
if options.noBuild: builder.doBuild = False
|
if options.noBuild: builder.doBuild = False
|
||||||
if options.noCache: builder.noCache = True
|
if options.noCache: builder.noCache = True
|
||||||
if options.rmBuild: builder.rmBuild = True
|
if options.rmBuild: builder.rmBuild = True
|
||||||
|
if options.devtoolset2: builder.devtoolset2 = True
|
||||||
if options.makeArguments: builder.makeArguments = options.makeArguments
|
if options.makeArguments: builder.makeArguments = options.makeArguments
|
||||||
#if options.svnMethod: builder.svnMethod = options.svnMethod
|
#if options.svnMethod: builder.svnMethod = options.svnMethod
|
||||||
#if options.svnTag: builder.svnTag = options.svnTag
|
#if options.svnTag: builder.svnTag = options.svnTag
|
||||||
|
|
|
@ -72,8 +72,8 @@
|
||||||
#
|
#
|
||||||
# Adds -Wall to the C/C++ flags.
|
# 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_DEBUG "-std=c++0x -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_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_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)
|
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)
|
find_package(Boost 1.33.1 COMPONENTS ${ARGV} REQUIRED)
|
||||||
endif(NOT Boost_FOUND)
|
endif(NOT Boost_FOUND)
|
||||||
endif(ARGC LESS 1)
|
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})
|
foreach(LIBRARY ${Boost_LIBRARIES})
|
||||||
message(STATUS " ${LIBRARY}")
|
message(STATUS " ${LIBRARY}")
|
||||||
endforeach(LIBRARY)
|
endforeach(LIBRARY)
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
OPTION(BUILD_DOC "Build the documentation (latex+doxygen)" OFF)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
list(INSERT CMAKE_MODULE_PATH 0 "${CRLCORE_SOURCE_DIR}/cmake_modules/")
|
list(INSERT CMAKE_MODULE_PATH 0 "${CRLCORE_SOURCE_DIR}/cmake_modules/")
|
||||||
|
|
|
@ -133,7 +133,6 @@ double getMemoryUsageEstimate()
|
||||||
return -1;
|
return -1;
|
||||||
#endif
|
#endif
|
||||||
static int prevMem=0;
|
static int prevMem=0;
|
||||||
static int extra;
|
|
||||||
static int fail=0;
|
static int fail=0;
|
||||||
|
|
||||||
if (fail) return -1;
|
if (fail) return -1;
|
||||||
|
@ -187,7 +186,6 @@ double getMemoryUsageEstimate()
|
||||||
// FIFO destruction
|
// FIFO destruction
|
||||||
for (int i=0; i!=numAllocs; ++i) free(ptr[i]);
|
for (int i=0; i!=numAllocs; ++i) free(ptr[i]);
|
||||||
|
|
||||||
extra=memused()-last;
|
|
||||||
// handle extra correctly:
|
// handle extra correctly:
|
||||||
// in some cases we need to add its prev value to current,
|
// in some cases we need to add its prev value to current,
|
||||||
// in some just store the new value
|
// in some just store the new value
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
|
|
||||||
|
%option nounput
|
||||||
|
|
||||||
%{
|
%{
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
|
@ -448,7 +448,7 @@ namespace {
|
||||||
static int index;
|
static int index;
|
||||||
string pinName;
|
string pinName;
|
||||||
static Net* net;
|
static Net* net;
|
||||||
static Pin* pin;
|
//static Pin* pin;
|
||||||
static LayerInformation* layerInfo;
|
static LayerInformation* layerInfo;
|
||||||
static Pin::AccessDirection accessDirection;
|
static Pin::AccessDirection accessDirection;
|
||||||
static Name orientation;
|
static Name orientation;
|
||||||
|
@ -496,16 +496,16 @@ namespace {
|
||||||
|
|
||||||
if (layerInfo and net) {
|
if (layerInfo and net) {
|
||||||
net->setExternal( true );
|
net->setExternal( true );
|
||||||
pin = Pin::create( net
|
/*pin =*/ Pin::create( net
|
||||||
, pinName
|
, pinName
|
||||||
, accessDirection
|
, accessDirection
|
||||||
, Pin::PlacementStatus::PLACED
|
, Pin::PlacementStatus::PLACED
|
||||||
, layerInfo->getLayer()
|
, layerInfo->getLayer()
|
||||||
, XCON
|
, XCON
|
||||||
, YCON
|
, YCON
|
||||||
, WIDTH
|
, WIDTH
|
||||||
, WIDTH
|
, WIDTH
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (not net ) _printError( false, "Unknown net name %s." , fields[5] );
|
if (not net ) _printError( false, "Unknown net name %s." , fields[5] );
|
||||||
if (not layerInfo ) _printError( false, "Unknown layer name %s.", fields[6] );
|
if (not layerInfo ) _printError( false, "Unknown layer name %s.", fields[6] );
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
%{
|
|
||||||
|
|
||||||
|
%option nounput
|
||||||
|
|
||||||
|
%{
|
||||||
|
|
||||||
// This file is part of the Coriolis Project.
|
// This file is part of the Coriolis Project.
|
||||||
// Copyright (C) Laboratoire LIP6 - Departement ASIM
|
// Copyright (C) Laboratoire LIP6 - Departement ASIM
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
|
||||||
|
%option nounput
|
||||||
|
|
||||||
%{
|
%{
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
|
@ -49,8 +49,8 @@ extern "C" {
|
||||||
trace << "PyToolEngine_get()" << endl;
|
trace << "PyToolEngine_get()" << endl;
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
PyObject* pyCell = NULL;
|
PyObject* pyCell = NULL;
|
||||||
char* name = NULL;
|
char* name = NULL;
|
||||||
|
|
||||||
static char* keywords[] = { "cell", "name", NULL };
|
static char* keywords[] = { "cell", "name", NULL };
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
project(CUMULUS)
|
project(CUMULUS)
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
OPTION(BUILD_DOC "Build the documentation (html+latex)" OFF)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
list(INSERT CMAKE_MODULE_PATH 0 "${CRLCORE_SOURCE_DIR}/cmake_modules/")
|
list(INSERT CMAKE_MODULE_PATH 0 "${CRLCORE_SOURCE_DIR}/cmake_modules/")
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
add_custom_target ( doc_LaTeX ALL
|
add_custom_target ( doc_LaTeX ALL
|
||||||
cd ${DOCUMENTATION_SOURCE_DIR}/UsersGuide
|
cd ${DOCUMENTATION_SOURCE_DIR}/UsersGuide
|
||||||
&& rst2latex --use-latex-toc --stylesheet=./socstyle.tex UsersGuide_LaTeX.rst UsersGuide-raw.tex
|
&& 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/
|
install ( DIRECTORY images/
|
||||||
DESTINATION ${htmlInstallDir}/images
|
DESTINATION ${htmlInstallDir}/images
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
list(INSERT CMAKE_MODULE_PATH 0 "${HURRICANE_SOURCE_DIR}/cmake_modules/")
|
list(INSERT CMAKE_MODULE_PATH 0 "${HURRICANE_SOURCE_DIR}/cmake_modules/")
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
|
#include <unistd.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
|
|
@ -66,8 +66,6 @@ extern "C" {
|
||||||
{
|
{
|
||||||
trace << "PyNetExternalComponents_setExternal()" << endl;
|
trace << "PyNetExternalComponents_setExternal()" << endl;
|
||||||
|
|
||||||
bool isExternal = false;
|
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
PyObject* pyComponent;
|
PyObject* pyComponent;
|
||||||
if (PyArg_ParseTuple( args, "O", &pyComponent )) {
|
if (PyArg_ParseTuple( args, "O", &pyComponent )) {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//
|
//
|
||||||
// This file is part of the Coriolis Software.
|
// 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 |
|
// | C O R I O L I S |
|
||||||
|
@ -15,6 +15,7 @@
|
||||||
// +-----------------------------------------------------------------+
|
// +-----------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
#include <csignal>
|
#include <csignal>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <QCloseEvent>
|
#include <QCloseEvent>
|
||||||
|
|
|
@ -37,11 +37,11 @@ extern "C" {
|
||||||
|
|
||||||
|
|
||||||
// #undef GENERIC_METHOD_HEAD
|
// #undef GENERIC_METHOD_HEAD
|
||||||
// #define GENERIC_METHOD_HEAD(SELF_TYPE,SELF_OBJECT,function) \
|
// #define GENERIC_METHOD_HEAD(SELF_TYPE,SELF_OBJECT,function)
|
||||||
// if ( self->ACCESS_OBJECT.get() == NULL ) { \
|
// if ( self->ACCESS_OBJECT.get() == NULL ) {
|
||||||
// PyErr_SetString ( ProxyError, "Attempt to call " function " on an unbound hurricane object" ); \
|
// PyErr_SetString ( ProxyError, "Attempt to call " function " on an unbound hurricane object" );
|
||||||
// return NULL; \
|
// return NULL;
|
||||||
// } \
|
// }
|
||||||
// SELF_TYPE SELF_OBJECT = self->ACCESS_OBJECT;
|
// SELF_TYPE SELF_OBJECT = self->ACCESS_OBJECT;
|
||||||
//
|
//
|
||||||
// #define METHOD_HEAD(function) GENERIC_METHOD_HEAD(DrawingStyle,ds,function)
|
// #define METHOD_HEAD(function) GENERIC_METHOD_HEAD(DrawingStyle,ds,function)
|
||||||
|
|
|
@ -135,7 +135,7 @@ extern "C" {
|
||||||
{
|
{
|
||||||
trace << "PyGraphics_getGroup()" << endl;
|
trace << "PyGraphics_getGroup()" << endl;
|
||||||
|
|
||||||
const char* group;
|
const char* group = "NoGroup";
|
||||||
|
|
||||||
HTRY
|
HTRY
|
||||||
Graphics* graphics = Graphics::getGraphics ();
|
Graphics* graphics = Graphics::getGraphics ();
|
||||||
|
|
|
@ -142,7 +142,7 @@ namespace Isobar {
|
||||||
|
|
||||||
_finalize();
|
_finalize();
|
||||||
|
|
||||||
return true;
|
return returnCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -227,7 +227,8 @@ namespace Hurricane {
|
||||||
{
|
{
|
||||||
if ( event->key() == Qt::Key_N ) {
|
if ( event->key() == Qt::Key_N ) {
|
||||||
event->accept();
|
event->accept();
|
||||||
_selectMode = (++_selectMode) % 3;
|
_selectMode++;
|
||||||
|
_selectMode = _selectMode % 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
|
|
||||||
|
|
|
@ -1288,11 +1288,11 @@ namespace Katabatic {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool hasGlobalSegment = false;
|
//bool hasGlobalSegment = false;
|
||||||
if ((flags & KbPropagate) and not isNotAligned()) {
|
if ((flags & KbPropagate) and not isNotAligned()) {
|
||||||
forEach ( AutoSegment*, isegment, const_cast<AutoSegment*>(this)->getAligneds(flags) ) {
|
forEach ( AutoSegment*, isegment, const_cast<AutoSegment*>(this)->getAligneds(flags) ) {
|
||||||
if (isegment->isFixed ()) return false;
|
if (isegment->isFixed ()) return false;
|
||||||
if (isegment->isGlobal()) hasGlobalSegment = true;
|
//if (isegment->isGlobal()) hasGlobalSegment = true;
|
||||||
|
|
||||||
isegment->getGCells( gcells );
|
isegment->getGCells( gcells );
|
||||||
if ( (*gcells.begin ())->getIndex() < begin->getIndex() ) begin = *gcells.begin ();
|
if ( (*gcells.begin ())->getIndex() < begin->getIndex() ) begin = *gcells.begin ();
|
||||||
|
|
|
@ -1111,7 +1111,7 @@ namespace Katabatic {
|
||||||
|
|
||||||
if ( not (flags & KbForceMove) and not isSaturated(depth) ) return false;
|
if ( not (flags & KbForceMove) and not isSaturated(depth) ) return false;
|
||||||
|
|
||||||
float capacity;
|
//float capacity;
|
||||||
vector<AutoSegment*>::iterator isegment;
|
vector<AutoSegment*>::iterator isegment;
|
||||||
vector<AutoSegment*>::iterator iend;
|
vector<AutoSegment*>::iterator iend;
|
||||||
|
|
||||||
|
@ -1119,12 +1119,12 @@ namespace Katabatic {
|
||||||
case Constant::Horizontal:
|
case Constant::Horizontal:
|
||||||
iend = _hsegments.end ();
|
iend = _hsegments.end ();
|
||||||
isegment = _hsegments.begin ();
|
isegment = _hsegments.begin ();
|
||||||
capacity = getHCapacity ();
|
//capacity = getHCapacity ();
|
||||||
break;
|
break;
|
||||||
case Constant::Vertical:
|
case Constant::Vertical:
|
||||||
iend = _vsegments.end ();
|
iend = _vsegments.end ();
|
||||||
isegment = _vsegments.begin ();
|
isegment = _vsegments.begin ();
|
||||||
capacity = getVCapacity ();
|
//capacity = getVCapacity ();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1155,7 +1155,7 @@ namespace Katabatic {
|
||||||
|
|
||||||
updateDensity ();
|
updateDensity ();
|
||||||
|
|
||||||
float capacity;
|
//float capacity;
|
||||||
vector<AutoSegment*>::iterator isegment;
|
vector<AutoSegment*>::iterator isegment;
|
||||||
vector<AutoSegment*>::iterator iend;
|
vector<AutoSegment*>::iterator iend;
|
||||||
set<Net*> globalNets;
|
set<Net*> globalNets;
|
||||||
|
@ -1164,12 +1164,12 @@ namespace Katabatic {
|
||||||
case Constant::Horizontal:
|
case Constant::Horizontal:
|
||||||
iend = _hsegments.end ();
|
iend = _hsegments.end ();
|
||||||
isegment = _hsegments.begin ();
|
isegment = _hsegments.begin ();
|
||||||
capacity = getHCapacity ();
|
//capacity = getHCapacity ();
|
||||||
break;
|
break;
|
||||||
case Constant::Vertical:
|
case Constant::Vertical:
|
||||||
iend = _vsegments.end ();
|
iend = _vsegments.end ();
|
||||||
isegment = _vsegments.begin ();
|
isegment = _vsegments.begin ();
|
||||||
capacity = getVCapacity ();
|
//capacity = getVCapacity ();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1201,7 +1201,7 @@ namespace Katabatic {
|
||||||
|
|
||||||
updateDensity ();
|
updateDensity ();
|
||||||
|
|
||||||
float capacity;
|
//float capacity;
|
||||||
vector<AutoSegment*>::iterator isegment;
|
vector<AutoSegment*>::iterator isegment;
|
||||||
vector<AutoSegment*>::iterator iend;
|
vector<AutoSegment*>::iterator iend;
|
||||||
|
|
||||||
|
@ -1209,12 +1209,12 @@ namespace Katabatic {
|
||||||
case Constant::Horizontal:
|
case Constant::Horizontal:
|
||||||
iend = _hsegments.end ();
|
iend = _hsegments.end ();
|
||||||
isegment = _hsegments.begin ();
|
isegment = _hsegments.begin ();
|
||||||
capacity = getHCapacity ();
|
//capacity = getHCapacity ();
|
||||||
break;
|
break;
|
||||||
case Constant::Vertical:
|
case Constant::Vertical:
|
||||||
iend = _vsegments.end ();
|
iend = _vsegments.end ();
|
||||||
isegment = _vsegments.begin ();
|
isegment = _vsegments.begin ();
|
||||||
capacity = getVCapacity ();
|
//capacity = getVCapacity ();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ namespace Katabatic {
|
||||||
|
|
||||||
void GCellGrid::_postCreate ()
|
void GCellGrid::_postCreate ()
|
||||||
{
|
{
|
||||||
KnikEngine::KnikEngine* knik;
|
KnikEngine* knik;
|
||||||
knik = KnikEngine::get ( getCell() );
|
knik = KnikEngine::get ( getCell() );
|
||||||
if ( !knik )
|
if ( !knik )
|
||||||
throw Error ( missingKnikEngine, "GCellGrid::_postCreate()", getString(getCell()).c_str() );
|
throw Error ( missingKnikEngine, "GCellGrid::_postCreate()", getString(getCell()).c_str() );
|
||||||
|
|
|
@ -1134,8 +1134,8 @@ namespace {
|
||||||
|
|
||||||
viaLayer = Session::getContactLayer(1);
|
viaLayer = Session::getContactLayer(1);
|
||||||
|
|
||||||
AutoContact* subContact1 = AutoContactTurn::create( gcell, rp1->getNet(), Session::getContactLayer(1) );
|
AutoContact* subContact1 = AutoContactTurn::create( gcell, rp1->getNet(), viaLayer );
|
||||||
AutoContact* subContact2 = AutoContactTurn::create( gcell, rp1->getNet(), Session::getContactLayer(1) );
|
AutoContact* subContact2 = AutoContactTurn::create( gcell, rp1->getNet(), viaLayer );
|
||||||
|
|
||||||
AutoSegment::create( rp1ContactTarget, subContact1 , KbHorizontal );
|
AutoSegment::create( rp1ContactTarget, subContact1 , KbHorizontal );
|
||||||
AutoSegment::create( subContact1 , subContact2 , KbVertical );
|
AutoSegment::create( subContact1 , subContact2 , KbVertical );
|
||||||
|
@ -1168,8 +1168,8 @@ namespace {
|
||||||
|
|
||||||
viaLayer = Session::getContactLayer(1);
|
viaLayer = Session::getContactLayer(1);
|
||||||
|
|
||||||
AutoContact* subContact1 = AutoContactTurn::create( gcell, rp1->getNet(), Session::getContactLayer(1) );
|
AutoContact* subContact1 = AutoContactTurn::create( gcell, rp1->getNet(), viaLayer );
|
||||||
AutoContact* subContact2 = AutoContactTurn::create( gcell, rp1->getNet(), Session::getContactLayer(1) );
|
AutoContact* subContact2 = AutoContactTurn::create( gcell, rp1->getNet(), viaLayer );
|
||||||
|
|
||||||
AutoSegment::create( rp1ContactTarget, subContact1 , KbVertical );
|
AutoSegment::create( rp1ContactTarget, subContact1 , KbVertical );
|
||||||
AutoSegment::create( subContact1 , subContact2 , KbHorizontal );
|
AutoSegment::create( subContact1 , subContact2 , KbHorizontal );
|
||||||
|
@ -1318,11 +1318,10 @@ namespace {
|
||||||
ltracein(99);
|
ltracein(99);
|
||||||
|
|
||||||
unsigned int flags = NoFlags;
|
unsigned int flags = NoFlags;
|
||||||
Hook* globalHook = NULL;
|
if (_east ) { flags |= HAccess; }
|
||||||
if (_east ) { globalHook = _east; flags |= HAccess; }
|
else if (_west ) { flags |= HAccess; }
|
||||||
else if (_west ) { globalHook = _west; flags |= HAccess; }
|
else if (_north) { flags |= VSmall; }
|
||||||
else if (_north) { globalHook = _north; flags |= VSmall; }
|
else if (_south) { flags |= VSmall; }
|
||||||
else if (_south) { globalHook = _south; flags |= VSmall; }
|
|
||||||
|
|
||||||
_southWestContact = _northEastContact = doRp_Access( _gcell, _routingPads[0], flags );
|
_southWestContact = _northEastContact = doRp_Access( _gcell, _routingPads[0], flags );
|
||||||
|
|
||||||
|
|
|
@ -432,7 +432,7 @@ namespace Katabatic {
|
||||||
|
|
||||||
inline AutoSegments_InDirection::AutoSegments_InDirection ( unsigned int direction )
|
inline AutoSegments_InDirection::AutoSegments_InDirection ( unsigned int direction )
|
||||||
: AutoSegmentHF()
|
: AutoSegmentHF()
|
||||||
, _direction(_direction)
|
, _direction(direction)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//
|
//
|
||||||
// This file is part of the Coriolis Software.
|
// 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 |
|
// | C O R I O L I S |
|
||||||
|
@ -172,7 +172,7 @@ namespace Katabatic {
|
||||||
_stop = 0;
|
_stop = 0;
|
||||||
} else {
|
} else {
|
||||||
_start = grid->getIndex ( column, rowStart );
|
_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;
|
_stop = 0;
|
||||||
} else {
|
} else {
|
||||||
_start = grid->getIndex ( columnStart, row );
|
_start = grid->getIndex ( columnStart, row );
|
||||||
_stop = grid->getIndex ( min(columnStop,grid->getColumns()), row );
|
_stop = grid->getIndex ( std::min(columnStop,grid->getColumns()), row );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
|
|
||||||
|
|
|
@ -233,7 +233,7 @@ namespace Kite {
|
||||||
void KiteEngine::createGlobalGraph ( unsigned int mode )
|
void KiteEngine::createGlobalGraph ( unsigned int mode )
|
||||||
{
|
{
|
||||||
Cell* cell = getCell();
|
Cell* cell = getCell();
|
||||||
Box cellBb = cell->getBoundingBox();
|
//Box cellBb = cell->getBoundingBox();
|
||||||
if (not _knik) {
|
if (not _knik) {
|
||||||
cell->flattenNets( mode & KtBuildGlobalRouting );
|
cell->flattenNets( mode & KtBuildGlobalRouting );
|
||||||
|
|
||||||
|
|
|
@ -632,7 +632,7 @@ namespace Kite {
|
||||||
size_t end = _fsm.getEnd (itrack);
|
size_t end = _fsm.getEnd (itrack);
|
||||||
Net* ownerNet = _segment->getNet();
|
Net* ownerNet = _segment->getNet();
|
||||||
Interval toFree (_segment->getCanonicalInterval());
|
Interval toFree (_segment->getCanonicalInterval());
|
||||||
Net* ripupNet = NULL;
|
//Net* ripupNet = NULL;
|
||||||
set<TrackElement*> canonicals;
|
set<TrackElement*> canonicals;
|
||||||
DbU::Unit rightAxisHint = 0;
|
DbU::Unit rightAxisHint = 0;
|
||||||
DbU::Unit leftAxisHint = 0;
|
DbU::Unit leftAxisHint = 0;
|
||||||
|
@ -661,7 +661,7 @@ namespace Kite {
|
||||||
// ltrace(200) << "Ovelap has an Id superior to AutoSegment::maxId:" << maxId << "." << endl;
|
// ltrace(200) << "Ovelap has an Id superior to AutoSegment::maxId:" << maxId << "." << endl;
|
||||||
// continue;
|
// continue;
|
||||||
// }
|
// }
|
||||||
ripupNet = segment2->getNet();
|
// ripupNet = segment2->getNet();
|
||||||
|
|
||||||
DataNegociate* data2 = segment2->getDataNegociate();
|
DataNegociate* data2 = segment2->getDataNegociate();
|
||||||
if ( !data2 ) {
|
if ( !data2 ) {
|
||||||
|
@ -803,7 +803,7 @@ namespace Kite {
|
||||||
size_t end = _fsm.getEnd (itrack);
|
size_t end = _fsm.getEnd (itrack);
|
||||||
Net* ownerNet = _segment->getNet();
|
Net* ownerNet = _segment->getNet();
|
||||||
Interval toFree (_segment->getCanonicalInterval());
|
Interval toFree (_segment->getCanonicalInterval());
|
||||||
Net* ripupNet = NULL;
|
//Net* ripupNet = NULL;
|
||||||
set<TrackElement*> canonicals;
|
set<TrackElement*> canonicals;
|
||||||
bool success = true;
|
bool success = true;
|
||||||
|
|
||||||
|
@ -820,7 +820,7 @@ namespace Kite {
|
||||||
success = false;
|
success = false;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ripupNet = segment2->getNet();
|
//ripupNet = segment2->getNet();
|
||||||
|
|
||||||
DataNegociate* data2 = segment2->getDataNegociate();
|
DataNegociate* data2 = segment2->getDataNegociate();
|
||||||
if (not data2 ) {
|
if (not data2 ) {
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
print_cmake_module_path()
|
print_cmake_module_path()
|
||||||
|
|
|
@ -609,13 +609,15 @@ void Graph::initConnexComp ( Vertex* vertex, Edge* arrivalEdge, int newConnexID
|
||||||
if ( newConnexID != -1 ) {
|
if ( newConnexID != -1 ) {
|
||||||
vertex->setConnexID ( newConnexID );
|
vertex->setConnexID ( newConnexID );
|
||||||
}
|
}
|
||||||
if ( VTuple* vtuple = vertex->getVTuple() ) {
|
|
||||||
|
VTuple* vtuple = vertex->getVTuple();
|
||||||
|
if ( vtuple ) {
|
||||||
//cerr << " Vertex " << vertex << " already has a vtuple : " << vtuple << endl;
|
//cerr << " Vertex " << vertex << " already has a vtuple : " << vtuple << endl;
|
||||||
assert ( vtuple->getVertex() == vertex );
|
assert ( vtuple->getVertex() == vertex );
|
||||||
increaseVTuplePriority ( vtuple, 0 );
|
increaseVTuplePriority ( vtuple, 0 );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
VTuple* vtuple = VTuple::create ( vertex, 0 );
|
vtuple = VTuple::create ( vertex, 0 );
|
||||||
//cerr << " Vertex " << vertex << " has now a new vtuple : " << vtuple << endl;
|
//cerr << " Vertex " << vertex << " has now a new vtuple : " << vtuple << endl;
|
||||||
addVTupleToPriorityQueue ( vtuple );
|
addVTupleToPriorityQueue ( vtuple );
|
||||||
}
|
}
|
||||||
|
@ -672,11 +674,12 @@ void Graph::UpdateConnexComp ( VertexList reachedVertexes, Vertex* firstVertex )
|
||||||
currentVertex->setDistance(0);
|
currentVertex->setDistance(0);
|
||||||
currentVertex->setConnexID(firstConnexID);
|
currentVertex->setConnexID(firstConnexID);
|
||||||
|
|
||||||
if ( VTuple* vtuple = currentVertex->getVTuple() ) {
|
VTuple* vtuple = currentVertex->getVTuple();
|
||||||
|
if ( vtuple ) {
|
||||||
increaseVTuplePriority ( vtuple, 0);
|
increaseVTuplePriority ( vtuple, 0);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
VTuple* vtuple = VTuple::create ( currentVertex, 0 );
|
vtuple = VTuple::create ( currentVertex, 0 );
|
||||||
addVTupleToPriorityQueue ( vtuple );
|
addVTupleToPriorityQueue ( vtuple );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,8 +94,8 @@ namespace Knik {
|
||||||
painter.setFont(font);
|
painter.setFont(font);
|
||||||
//QString text = QString("%1%2%3").arg(edge->getConnexID()).arg(",").arg(edge->getConstCost());
|
//QString text = QString("%1%2%3").arg(edge->getConnexID()).arg(",").arg(edge->getConstCost());
|
||||||
QString text = QString("%1").arg(edge->getConnexID());
|
QString text = QString("%1").arg(edge->getConnexID());
|
||||||
Point fromPos = edge->getFrom()->getPosition();
|
//Point fromPos = edge->getFrom()->getPosition();
|
||||||
Point toPos = edge->getTo()->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 );
|
//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() ) {
|
if ( edge->isVertical() ) {
|
||||||
|
@ -146,7 +146,7 @@ namespace Knik {
|
||||||
painter.setFont(font);
|
painter.setFont(font);
|
||||||
//QString text = QString("%1%2%3").arg(edge->getConnexID()).arg(",").arg(edge->getConstCost());
|
//QString text = QString("%1%2%3").arg(edge->getConnexID()).arg(",").arg(edge->getConstCost());
|
||||||
QString text = QString("%1 / %2").arg(vertex->getConnexID()).arg(vertex->getDistance());
|
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());
|
Box textBox = Box(vertex->getXMin(), vertex->getYMin(), vertex->getXMax(), vertex->getYMax());
|
||||||
painter.drawText ( widget->dbuToDisplayRect ( textBox,false ), text, QTextOption (Qt::AlignCenter) );
|
painter.drawText ( widget->dbuToDisplayRect ( textBox,false ), text, QTextOption (Qt::AlignCenter) );
|
||||||
painter.setPen(Qt::NoPen);
|
painter.setPen(Qt::NoPen);
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
print_cmake_module_path()
|
print_cmake_module_path()
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
print_cmake_module_path()
|
print_cmake_module_path()
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@ HFence* HFence::create (Grid* grid, GCell* gcup, GCell* gcdown) {
|
||||||
if ( (!gcup) && (!gcdown) )
|
if ( (!gcup) && (!gcdown) )
|
||||||
throw Error("cannot create a flying fence");
|
throw Error("cannot create a flying fence");
|
||||||
|
|
||||||
|
#if THIS_IS_DISABLED
|
||||||
unsigned step;
|
unsigned step;
|
||||||
if (gcup) {
|
if (gcup) {
|
||||||
step = gcup->getStep();
|
step = gcup->getStep();
|
||||||
|
@ -43,6 +44,7 @@ HFence* HFence::create (Grid* grid, GCell* gcup, GCell* gcdown) {
|
||||||
} else {
|
} else {
|
||||||
step = 0;
|
step = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
HFence* hfence = new HFence (grid, gcup, gcdown);
|
HFence* hfence = new HFence (grid, gcup, gcdown);
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ VFence* VFence::create (Grid* grid, GCell* gcleft, GCell* gcright) {
|
||||||
if ( (!gcleft) && (!gcright) )
|
if ( (!gcleft) && (!gcright) )
|
||||||
throw Error("cannot create a flying fence");
|
throw Error("cannot create a flying fence");
|
||||||
|
|
||||||
|
#if THIS_IS_DISABLED
|
||||||
unsigned step;
|
unsigned step;
|
||||||
if (gcleft) {
|
if (gcleft) {
|
||||||
step = gcleft->getStep();
|
step = gcleft->getStep();
|
||||||
|
@ -42,6 +43,7 @@ VFence* VFence::create (Grid* grid, GCell* gcleft, GCell* gcright) {
|
||||||
} else {
|
} else {
|
||||||
step = 0;
|
step = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
VFence* vfence = new VFence (grid, gcleft, gcright);
|
VFence* vfence = new VFence (grid, gcleft, gcright);
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
option(BUILD_DOC "Build the documentation (latex2html)" OFF)
|
option(BUILD_DOC "Build the documentation (latex2html)" OFF)
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
setup_project_paths(CORIOLIS)
|
setup_project_paths(CORIOLIS)
|
||||||
|
|
||||||
|
|
|
@ -61,6 +61,7 @@
|
||||||
${BOOKSHELF_LIBRARY}
|
${BOOKSHELF_LIBRARY}
|
||||||
${AGDS_LIBRARY}
|
${AGDS_LIBRARY}
|
||||||
${CIF_LIBRARY}
|
${CIF_LIBRARY}
|
||||||
|
${UTILITIES_LIBRARY}
|
||||||
${CONFIGURATION_LIBRARY}
|
${CONFIGURATION_LIBRARY}
|
||||||
${LEFDEF_LIBRARIES}
|
${LEFDEF_LIBRARIES}
|
||||||
${OA_LIBRARIES}
|
${OA_LIBRARIES}
|
||||||
|
|
|
@ -4,11 +4,12 @@
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.4.0)
|
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)
|
find_package(Bootstrap REQUIRED)
|
||||||
list(INSERT CMAKE_MODULE_PATH 0 "${VLSISAPD_SOURCE_DIR}/cmake_modules/")
|
list(INSERT CMAKE_MODULE_PATH 0 "${VLSISAPD_SOURCE_DIR}/cmake_modules/")
|
||||||
print_cmake_module_path()
|
print_cmake_module_path()
|
||||||
|
|
||||||
|
message(STATUS "Boost_NO_SYSTEM_PATHS: ${Boost_NO_SYSTEM_PATHS}")
|
||||||
set_cmake_policies()
|
set_cmake_policies()
|
||||||
setup_boost(program_options python regex)
|
setup_boost(program_options python regex)
|
||||||
|
|
||||||
|
|
|
@ -108,7 +108,7 @@ namespace Bookshelf {
|
||||||
<< _maxPinId << " founds." << std::endl;
|
<< _maxPinId << " founds." << std::endl;
|
||||||
success = false;
|
success = false;
|
||||||
}
|
}
|
||||||
return false;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//
|
//
|
||||||
// This file is part of the VSLSI Stand-Alone Software.
|
// 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 |
|
// | V L S I Stand - Alone Parsers / Drivers |
|
||||||
|
@ -165,17 +165,17 @@ namespace Cfg {
|
||||||
VectorWrapper< std::vector<std::string> >::wrap ( "StringVector" );
|
VectorWrapper< std::vector<std::string> >::wrap ( "StringVector" );
|
||||||
VectorWrapper< std::vector<Parameter::EnumValue> >::wrap ( "EnumValueVector" );
|
VectorWrapper< std::vector<Parameter::EnumValue> >::wrap ( "EnumValueVector" );
|
||||||
|
|
||||||
typedef void (Parameter::* VoidIntPrioritySign )(int ,Parameter::Priority) ;
|
//typedef void (Parameter::* VoidIntPrioritySign )(int ,Parameter::Priority);
|
||||||
typedef void (Parameter::* VoidDoublePrioritySign )(double,Parameter::Priority) ;
|
//typedef void (Parameter::* VoidDoublePrioritySign )(double,Parameter::Priority);
|
||||||
typedef void (Parameter::* VoidIntSign )(int );
|
//typedef void (Parameter::* VoidIntSign )(int );
|
||||||
typedef void (Parameter::* VoidDoubleSign )(double);
|
//typedef void (Parameter::* VoidDoubleSign )(double);
|
||||||
typedef bool (Parameter::* BoolIntConstSign )(int ) const;
|
typedef bool (Parameter::* BoolIntConstSign )(int ) const;
|
||||||
typedef bool (Parameter::* BoolDoubleConstSign )(double) const;
|
typedef bool (Parameter::* BoolDoubleConstSign )(double) const;
|
||||||
typedef bool (Parameter::* BoolBoolSign )(bool );
|
//typedef bool (Parameter::* BoolBoolSign )(bool );
|
||||||
typedef bool (Parameter::* BoolIntSign )(int );
|
//typedef bool (Parameter::* BoolIntSign )(int );
|
||||||
typedef bool (Parameter::* BoolDoubleSign )(double);
|
//typedef bool (Parameter::* BoolDoubleSign )(double);
|
||||||
typedef bool (Parameter::* BoolStringSign )(std::string);
|
//typedef bool (Parameter::* BoolStringSign )(std::string);
|
||||||
typedef bool (Parameter::* BoolStringFlagsSign )(std::string,unsigned int);
|
//typedef bool (Parameter::* BoolStringFlagsSign )(std::string,unsigned int);
|
||||||
|
|
||||||
// Parameter overloaded function members.
|
// Parameter overloaded function members.
|
||||||
BoolIntConstSign paramCheckValueInt = (BoolIntConstSign) &Parameter::checkValue;
|
BoolIntConstSign paramCheckValueInt = (BoolIntConstSign) &Parameter::checkValue;
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
|
|
||||||
|
%option nounput
|
||||||
|
|
||||||
%{
|
%{
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
@ -147,7 +149,6 @@ cell_footprint { return CELL_FOOTPRINT; }
|
||||||
dont_use { return DONT_USE; }
|
dont_use { return DONT_USE; }
|
||||||
pin { return PIN; }
|
pin { return PIN; }
|
||||||
direction { return DIRECTION; }
|
direction { return DIRECTION; }
|
||||||
capacitance { return CAPACITANCE; }
|
|
||||||
fanout_load { return FANOUT_LOAD; }
|
fanout_load { return FANOUT_LOAD; }
|
||||||
max_fanout { return MAX_FANOUT; }
|
max_fanout { return MAX_FANOUT; }
|
||||||
function { return FUNCTION; }
|
function { return FUNCTION; }
|
||||||
|
|
Loading…
Reference in New Issue