* 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:
parent
da88363881
commit
596e5512a6
|
@ -13,6 +13,8 @@
|
||||||
setup_boost(program_options filesystem python regex)
|
setup_boost(program_options filesystem python regex)
|
||||||
|
|
||||||
find_package(Qt4 REQUIRED)
|
find_package(Qt4 REQUIRED)
|
||||||
|
find_package(PythonLibs REQUIRED)
|
||||||
|
find_package(PythonSitePackages REQUIRED)
|
||||||
find_package(VLSISAPD REQUIRED)
|
find_package(VLSISAPD REQUIRED)
|
||||||
find_package(HURRICANE REQUIRED)
|
find_package(HURRICANE REQUIRED)
|
||||||
find_package(CORIOLIS REQUIRED)
|
find_package(CORIOLIS REQUIRED)
|
||||||
|
|
|
@ -6,53 +6,71 @@
|
||||||
${CORIOLIS_INCLUDE_DIR}
|
${CORIOLIS_INCLUDE_DIR}
|
||||||
${CONFIGURATION_INCLUDE_DIR}
|
${CONFIGURATION_INCLUDE_DIR}
|
||||||
${Boost_INCLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
|
${PYTHON_INCLUDE_PATH}
|
||||||
)
|
)
|
||||||
set ( includes nimbus/Configuration.h
|
set ( includes nimbus/Configuration.h
|
||||||
nimbus/SplitterContact.h nimbus/SplitterContacts.h
|
nimbus/SplitterContact.h nimbus/SplitterContacts.h
|
||||||
nimbus/Splitter.h nimbus/Splitters.h
|
nimbus/Splitter.h nimbus/Splitters.h
|
||||||
nimbus/Fence.h nimbus/Fences.h
|
nimbus/Fence.h nimbus/Fences.h
|
||||||
nimbus/HFence.h
|
nimbus/HFence.h
|
||||||
nimbus/VFence.h
|
nimbus/VFence.h
|
||||||
nimbus/FrontLine.h
|
nimbus/FrontLine.h
|
||||||
nimbus/FenceProperty.h
|
nimbus/FenceProperty.h
|
||||||
nimbus/StepProperty.h
|
nimbus/StepProperty.h
|
||||||
nimbus/GCell.h nimbus/GCells.h
|
nimbus/GCell.h nimbus/GCells.h
|
||||||
nimbus/Grid.h
|
nimbus/Grid.h
|
||||||
nimbus/NimbusEngine.h
|
nimbus/NimbusEngine.h
|
||||||
nimbus/RoutTools.h
|
nimbus/RoutTools.h
|
||||||
)
|
)
|
||||||
set ( cpps Configuration.cpp
|
set ( pyIncludes nimbus/PyNimbusEngine.h
|
||||||
SplitterContact.cpp
|
)
|
||||||
Splitter.cpp
|
set ( cpps Configuration.cpp
|
||||||
Fence.cpp
|
SplitterContact.cpp
|
||||||
FenceProperty.cpp
|
Splitter.cpp
|
||||||
HFence.cpp
|
Fence.cpp
|
||||||
VFence.cpp
|
FenceProperty.cpp
|
||||||
FrontLine.cpp
|
HFence.cpp
|
||||||
GCell.cpp
|
VFence.cpp
|
||||||
Grid.cpp
|
FrontLine.cpp
|
||||||
StepProperty.cpp
|
GCell.cpp
|
||||||
NimbusEngine.cpp
|
Grid.cpp
|
||||||
RoutTools.cpp
|
StepProperty.cpp
|
||||||
|
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 )
|
set_target_properties ( nimbus PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||||
target_link_libraries ( nimbus ${CORIOLIS_LIBRARIES}
|
target_link_libraries ( nimbus ${CORIOLIS_LIBRARIES}
|
||||||
${HURRICANE_PYTHON_LIBRARIES}
|
${HURRICANE_PYTHON_LIBRARIES}
|
||||||
${HURRICANE_GRAPHICAL_LIBRARIES}
|
${HURRICANE_GRAPHICAL_LIBRARIES}
|
||||||
${HURRICANE_LIBRARIES}
|
${HURRICANE_LIBRARIES}
|
||||||
${CONFIGURATION_LIBRARY}
|
${CONFIGURATION_LIBRARY}
|
||||||
${CIF_LIBRARY}
|
${CIF_LIBRARY}
|
||||||
${AGDS_LIBRARY}
|
${AGDS_LIBRARY}
|
||||||
${LEFDEF_LIBRARIES}
|
${LEFDEF_LIBRARIES}
|
||||||
${OA_LIBRARIES}
|
${OA_LIBRARIES}
|
||||||
${QT_LIBRARIES}
|
${QT_LIBRARIES}
|
||||||
${Boost_LIBRARIES}
|
${Boost_LIBRARIES}
|
||||||
${LIBXML2_LIBRARIES}
|
${LIBXML2_LIBRARIES}
|
||||||
${PYTHON_LIBRARIES} -lutil
|
${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 )
|
||||||
|
|
||||||
|
|
|
@ -57,27 +57,29 @@ class NimbusEngine : public ToolEngine {
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
// ************
|
// ************
|
||||||
private: NimbusEngine (Cell* cell, const Box& workzone);
|
private:
|
||||||
|
NimbusEngine (Cell* cell, const Box& workzone);
|
||||||
public: static void _preCreate(Cell*);
|
public:
|
||||||
public: static NimbusEngine* create (Cell* cell, const Box& workZone=Box());
|
static NimbusEngine* create (Cell* cell, const Box& workZone=Box());
|
||||||
|
static void _preCreate (Cell*);
|
||||||
|
|
||||||
// Accessors
|
// Accessors
|
||||||
// *********
|
// *********
|
||||||
public:
|
public:
|
||||||
virtual const Name& getName () const;
|
virtual const Name& getName () const;
|
||||||
static const Name& staticGetName ();
|
static const Name& staticGetName ();
|
||||||
static NimbusEngine* get ( Cell* );
|
static NimbusEngine* get ( Cell* );
|
||||||
inline Configuration* getConfiguration ();
|
inline Configuration* getConfiguration ();
|
||||||
inline bool doPinsPlacement () const;
|
inline void printConfiguration () const;
|
||||||
inline double getAspectRatio () const;
|
inline bool doPinsPlacement () const;
|
||||||
inline double getMargin () const;
|
inline double getAspectRatio () const;
|
||||||
inline const Box& getWorkZone () const;
|
inline double getMargin () const;
|
||||||
inline DbU::Unit getPitch () const;
|
inline const Box& getWorkZone () const;
|
||||||
inline DbU::Unit getSliceHeight () const;
|
inline DbU::Unit getPitch () const;
|
||||||
inline DbU::Unit getSliceStep () const;
|
inline DbU::Unit getSliceHeight () const;
|
||||||
|
inline DbU::Unit getSliceStep () const;
|
||||||
inline const std::vector<RoutingLayerGauge*>&
|
inline const std::vector<RoutingLayerGauge*>&
|
||||||
getLayerGauges () const;
|
getLayerGauges () const;
|
||||||
|
|
||||||
public: Grid* getGrid() { return _grid; };
|
public: Grid* getGrid() { return _grid; };
|
||||||
public: unsigned getDepth() { return _depth; };
|
public: unsigned getDepth() { return _depth; };
|
||||||
|
@ -164,16 +166,17 @@ class NimbusEngine : public ToolEngine {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
inline Configuration* NimbusEngine::getConfiguration () { return _configuration; }
|
inline Configuration* NimbusEngine::getConfiguration () { return _configuration; }
|
||||||
inline bool NimbusEngine::doPinsPlacement () const { return _configuration->doPinsPlacement(); }
|
inline void NimbusEngine::printConfiguration () const { _configuration->print(getCell()); }
|
||||||
inline double NimbusEngine::getAspectRatio () const { return _configuration->getAspectRatio(); }
|
inline bool NimbusEngine::doPinsPlacement () const { return _configuration->doPinsPlacement(); }
|
||||||
inline double NimbusEngine::getMargin () const { return _configuration->getMargin(); }
|
inline double NimbusEngine::getAspectRatio () const { return _configuration->getAspectRatio(); }
|
||||||
inline const Box& NimbusEngine::getWorkZone () const { return _configuration->getWorkZone(); }
|
inline double NimbusEngine::getMargin () const { return _configuration->getMargin(); }
|
||||||
inline DbU::Unit NimbusEngine::getPitch () const { return _configuration->getPitch(); }
|
inline const Box& NimbusEngine::getWorkZone () const { return _configuration->getWorkZone(); }
|
||||||
inline DbU::Unit NimbusEngine::getSliceHeight () const { return _configuration->getSliceHeight(); }
|
inline DbU::Unit NimbusEngine::getPitch () const { return _configuration->getPitch(); }
|
||||||
inline DbU::Unit NimbusEngine::getSliceStep () const { return _configuration->getSliceStep(); }
|
inline DbU::Unit NimbusEngine::getSliceHeight () const { return _configuration->getSliceHeight(); }
|
||||||
|
inline DbU::Unit NimbusEngine::getSliceStep () const { return _configuration->getSliceStep(); }
|
||||||
inline const std::vector<RoutingLayerGauge*>&
|
inline const std::vector<RoutingLayerGauge*>&
|
||||||
NimbusEngine::getLayerGauges () const { return _configuration->getLayerGauges(); }
|
NimbusEngine::getLayerGauges () const { return _configuration->getLayerGauges(); }
|
||||||
|
|
||||||
|
|
||||||
} // namespace Nimbus
|
} // namespace Nimbus
|
||||||
|
|
Loading…
Reference in New Issue