From 64bfedc2788d39c74a8262d84d998d8ac94d23ef Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Wed, 13 Mar 2013 13:38:38 +0000 Subject: [PATCH] * ./crlcore: - Bug: In CMakeLists.txt, when our custom macro "setup_boost()" is used, do not call find_package() afterward, it corrupt the library pathes from '/usr/lib/' to '/usr/lib/lib/'. --- crlcore/CMakeLists.txt | 4 +-- crlcore/cmake_modules/FindOPENACCESS.cmake | 2 -- crlcore/etc/mauka.conf | 3 ++- crlcore/src/ccore/AllianceFramework.cpp | 26 +++++++++++++------ crlcore/src/ccore/CMakeLists.txt | 4 +-- crlcore/src/ccore/crlcore/AllianceFramework.h | 4 +-- crlcore/src/crlcore/helpers/__init__.py | 14 ++++++++++ 7 files changed, 40 insertions(+), 17 deletions(-) diff --git a/crlcore/CMakeLists.txt b/crlcore/CMakeLists.txt index 34a08aba..dc9188fc 100644 --- a/crlcore/CMakeLists.txt +++ b/crlcore/CMakeLists.txt @@ -16,7 +16,8 @@ check_distribution() set_lib_link_mode() setup_sysconfdir("${CMAKE_INSTALL_PREFIX}") - setup_boost(program_options filesystem python regex) + setup_boost(program_options filesystem python regex wave) + message(STATUS "${Boost_LIBRARIES}") find_package(LibXml2 REQUIRED) find_package(PythonLibs REQUIRED) @@ -29,7 +30,6 @@ find_package(OPENACCESS) find_package(VLSISAPD REQUIRED) find_package(HURRICANE REQUIRED) - find_package(Boost REQUIRED) find_package(Libexecinfo REQUIRED) #if(BUILD_DOC) # include(UseLATEX) diff --git a/crlcore/cmake_modules/FindOPENACCESS.cmake b/crlcore/cmake_modules/FindOPENACCESS.cmake index 070d3f8a..7eb8c227 100644 --- a/crlcore/cmake_modules/FindOPENACCESS.cmake +++ b/crlcore/cmake_modules/FindOPENACCESS.cmake @@ -71,8 +71,6 @@ #liboaTclEngine.so #liboaTclHelp.so #liboaTcl.so -# -# MESSAGE(STATUS "Searching for OPENACCESS ...") SET(OA_INCLUDE_PATH_DESCRIPTION "directory containing the OpenAccess include files. E.g /usr/local/include") diff --git a/crlcore/etc/mauka.conf b/crlcore/etc/mauka.conf index e3ba62db..d05bf650 100644 --- a/crlcore/etc/mauka.conf +++ b/crlcore/etc/mauka.conf @@ -3,7 +3,8 @@ # Mauka parameters. parametersTable = \ - ( ('mauka.annealingBinMult' , TypePercentage, 5 ) + ( ('mauka.partOrKWayHMetis' , TypeBool , False ) + , ('mauka.annealingBinMult' , TypePercentage, 5 ) , ('mauka.annealingNetMult' , TypePercentage, 90 ) , ('mauka.annealingRowMult' , TypePercentage, 5 ) , ('mauka.ignorePins' , TypeBool , False ) diff --git a/crlcore/src/ccore/AllianceFramework.cpp b/crlcore/src/ccore/AllianceFramework.cpp index 599d2c63..b54264e4 100644 --- a/crlcore/src/ccore/AllianceFramework.cpp +++ b/crlcore/src/ccore/AllianceFramework.cpp @@ -328,18 +328,28 @@ namespace CRL { flags &= ~HasCatalog; - AllianceLibrary* library = getAllianceLibrary ( libName, flags ); - if ( library != NULL ) { - cerr << Warning("AllianceFramework::createLibrary(): Attempt to re-create <%s>, using already existing." - ,libName.c_str()) << endl; - return library; + string dupLibName = libName; + for ( size_t duplicate=1 ; true ; ++duplicate ) { + AllianceLibrary* library = getAllianceLibrary ( dupLibName, flags ); + if (library == NULL) break; + + ostringstream oss (libName); + oss << "." << duplicate; + dupLibName = oss.str(); } + // AllianceLibrary* library = getAllianceLibrary ( libName, flags ); + // if ( library != NULL ) { + // cerr << Warning("AllianceFramework::createLibrary(): Attempt to re-create <%s>, using already existing." + // ,libName.c_str()) << endl; + // return library; + // } + SearchPath& LIBRARIES = _environment.getLIBRARIES (); - if ( not (flags & InSearchPath) ) LIBRARIES.prepend ( path, libName ); + if ( not (flags & InSearchPath) ) LIBRARIES.prepend ( path, dupLibName ); else LIBRARIES.select ( path ); - library = new AllianceLibrary ( path, Library::create(getParentLibrary(),libName) ); + AllianceLibrary* library = new AllianceLibrary ( path, Library::create(getParentLibrary(),dupLibName) ); AllianceLibraries::iterator ilib = _libraries.begin(); for ( size_t i=0 ; igetLibrary() , _catalog ); diff --git a/crlcore/src/ccore/CMakeLists.txt b/crlcore/src/ccore/CMakeLists.txt index 12e2d33a..b373138f 100644 --- a/crlcore/src/ccore/CMakeLists.txt +++ b/crlcore/src/ccore/CMakeLists.txt @@ -147,10 +147,10 @@ set ( iccad04_cpps iccad04/Iccad04Lefdef.cpp ) set ( ispd04_cpps ispd04/Ispd04Bookshelf.cpp ) if ( LEFDEF_FOUND ) - include_directories ( ${LEFDEF_INCLUDE_DIR} ) + include_directories ( ${LEFDEF_INCLUDE_DIR} ) endif ( LEFDEF_FOUND ) if ( OA_FOUND ) - include_directories ( ${OA_INCLUDE_DIR} ) + include_directories ( ${OA_INCLUDE_DIR} ) endif ( OA_FOUND ) set (openaccess_cpps openaccess/OpenAccessParser.cpp openaccess/OpenAccessDriver.cpp diff --git a/crlcore/src/ccore/crlcore/AllianceFramework.h b/crlcore/src/ccore/crlcore/AllianceFramework.h index 1a5200bc..225fdbd5 100644 --- a/crlcore/src/ccore/crlcore/AllianceFramework.h +++ b/crlcore/src/ccore/crlcore/AllianceFramework.h @@ -2,7 +2,7 @@ // -*- C++ -*- // // This file is part of the Coriolis Software. -// Copyright (c) UPMC/LIP6 2008-2010, All Rights Reserved +// Copyright (c) UPMC/LIP6 2008-2013, All Rights Reserved // // +-----------------------------------------------------------------+ // | C O R I O L I S | @@ -39,7 +39,7 @@ namespace CRL { class AllianceFramework { public: enum InstancesCountFlags { Recursive=0x1, IgnoreFeeds=0x2 }; - enum LibraryFlags { CreateLibrary=0x1, InSearchPath=0x2, HasCatalog=0x4 }; + enum LibraryFlags { CreateLibrary=0x1, InSearchPath=0x2, HasCatalog=0x4 }; public: // Constructors. static AllianceFramework* create (); diff --git a/crlcore/src/crlcore/helpers/__init__.py b/crlcore/src/crlcore/helpers/__init__.py index c126020a..95e0d6f1 100644 --- a/crlcore/src/crlcore/helpers/__init__.py +++ b/crlcore/src/crlcore/helpers/__init__.py @@ -1,10 +1,24 @@ # -*- mode:Python -*- # +# This file is part of the Coriolis Software. +# Copyright (c) UPMC/LIP6 2012-2012, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | C o r i o l i s / C h a m s B u i l d e r | +# | | +# | Author : Jean-Paul Chaput | +# | E-mail : Jean-Paul.Chaput@asim.lip6.fr | +# | =============================================================== | +# | Python : "./builder/__init__.py" | +# +-----------------------------------------------------------------+ +# # This is file is mandatory to tell python that 'helpers' is a module # rather than an ordinary directory, thus enabling the uses of the # 'dot' notation in import. + import sys import os import os.path