* All Tools:

- A complete sweep of cleanup to suppress allmost all compiler warnings.

  * ./nimbus:
    - New: Added Python support, for configuration & Unicorn.
This commit is contained in:
Jean-Paul Chaput 2012-11-16 13:00:15 +00:00
parent da88363881
commit 596e5512a6
3 changed files with 92 additions and 69 deletions

View File

@ -13,6 +13,8 @@
setup_boost(program_options filesystem python regex)
find_package(Qt4 REQUIRED)
find_package(PythonLibs REQUIRED)
find_package(PythonSitePackages REQUIRED)
find_package(VLSISAPD REQUIRED)
find_package(HURRICANE REQUIRED)
find_package(CORIOLIS REQUIRED)

View File

@ -6,6 +6,7 @@
${CORIOLIS_INCLUDE_DIR}
${CONFIGURATION_INCLUDE_DIR}
${Boost_INCLUDE_DIRS}
${PYTHON_INCLUDE_PATH}
)
set ( includes nimbus/Configuration.h
nimbus/SplitterContact.h nimbus/SplitterContacts.h
@ -21,6 +22,8 @@
nimbus/NimbusEngine.h
nimbus/RoutTools.h
)
set ( pyIncludes nimbus/PyNimbusEngine.h
)
set ( cpps Configuration.cpp
SplitterContact.cpp
Splitter.cpp
@ -35,9 +38,12 @@
NimbusEngine.cpp
RoutTools.cpp
)
set ( pyCpps PyNimbus.cpp
PyNimbusEngine.cpp
)
add_library ( nimbus ${cpps} )
add_library ( nimbus ${cpps} ${pyCpps} )
set_target_properties ( nimbus PROPERTIES VERSION 1.0 SOVERSION 1 )
target_link_libraries ( nimbus ${CORIOLIS_LIBRARIES}
${HURRICANE_PYTHON_LIBRARIES}
@ -53,6 +59,18 @@
${LIBXML2_LIBRARIES}
${PYTHON_LIBRARIES} -lutil
)
install ( TARGETS nimbus DESTINATION lib${LIB_SUFFIX} )
install ( FILES ${includes} DESTINATION include/coriolis2/nimbus )
add_library ( pyNimbus MODULE ${pyCpps} )
set_target_properties ( pyNimbus PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1"
PREFIX ""
OUTPUT_NAME "Nimbus"
)
target_link_libraries ( pyNimbus nimbus
${CORIOLIS_PYTHON_LIBRARIES}
)
install ( TARGETS nimbus DESTINATION lib${LIB_SUFFIX} )
install ( TARGETS pyNimbus DESTINATION ${PYTHON_SITE_PACKAGES} )
install ( FILES ${includes}
${pyIncludes} DESTINATION include/coriolis2/nimbus )

View File

@ -57,10 +57,11 @@ class NimbusEngine : public ToolEngine {
// Constructors
// ************
private: NimbusEngine (Cell* cell, const Box& workzone);
public: static void _preCreate(Cell*);
public: static NimbusEngine* create (Cell* cell, const Box& workZone=Box());
private:
NimbusEngine (Cell* cell, const Box& workzone);
public:
static NimbusEngine* create (Cell* cell, const Box& workZone=Box());
static void _preCreate (Cell*);
// Accessors
// *********
@ -69,6 +70,7 @@ class NimbusEngine : public ToolEngine {
static const Name& staticGetName ();
static NimbusEngine* get ( Cell* );
inline Configuration* getConfiguration ();
inline void printConfiguration () const;
inline bool doPinsPlacement () const;
inline double getAspectRatio () const;
inline double getMargin () const;
@ -165,6 +167,7 @@ class NimbusEngine : public ToolEngine {
inline Configuration* NimbusEngine::getConfiguration () { return _configuration; }
inline void NimbusEngine::printConfiguration () const { _configuration->print(getCell()); }
inline bool NimbusEngine::doPinsPlacement () const { return _configuration->doPinsPlacement(); }
inline double NimbusEngine::getAspectRatio () const { return _configuration->getAspectRatio(); }
inline double NimbusEngine::getMargin () const { return _configuration->getMargin(); }