* All Tools:
- A complete sweep of cleanup to suppress allmost all compiler warnings. * ./katabatic: - New: Added Python support, for configuration & Unicorn.
This commit is contained in:
parent
f2aae7a567
commit
e8935c099f
|
@ -17,6 +17,8 @@
|
||||||
|
|
||||||
set(QT_USE_QTXML "true")
|
set(QT_USE_QTXML "true")
|
||||||
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)
|
||||||
|
@ -27,9 +29,9 @@
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
add_subdirectory(cmake_modules)
|
add_subdirectory(cmake_modules)
|
||||||
if(BUILD_DOC AND DOXYGEN_FOUND)
|
if(BUILD_DOC AND DOXYGEN_FOUND AND IS_DIRECTORY doc)
|
||||||
add_subdirectory(doc)
|
add_subdirectory(doc)
|
||||||
endif(BUILD_DOC AND DOXYGEN_FOUND)
|
endif(BUILD_DOC AND DOXYGEN_FOUND AND IS_DIRECTORY doc)
|
||||||
|
|
||||||
if(CHECK_DATABASE)
|
if(CHECK_DATABASE)
|
||||||
add_definitions(-DCHECK_DATABASE)
|
add_definitions(-DCHECK_DATABASE)
|
||||||
|
|
|
@ -10,6 +10,7 @@ endif ( CHECK_DETERMINISM )
|
||||||
${HURRICANE_INCLUDE_DIR}
|
${HURRICANE_INCLUDE_DIR}
|
||||||
${CONFIGURATION_INCLUDE_DIR}
|
${CONFIGURATION_INCLUDE_DIR}
|
||||||
${Boost_INCLUDE_DIRS}
|
${Boost_INCLUDE_DIRS}
|
||||||
|
${PYTHON_INCLUDE_PATH}
|
||||||
)
|
)
|
||||||
set ( includes katabatic/Configuration.h
|
set ( includes katabatic/Configuration.h
|
||||||
katabatic/ChipTools.h
|
katabatic/ChipTools.h
|
||||||
|
@ -43,32 +44,41 @@ endif ( CHECK_DETERMINISM )
|
||||||
LoadGrByNet.cpp
|
LoadGrByNet.cpp
|
||||||
NetConstraints.cpp
|
NetConstraints.cpp
|
||||||
NetOptimals.cpp
|
NetOptimals.cpp
|
||||||
ChipTools.cpp
|
|
||||||
KatabaticEngine.cpp
|
KatabaticEngine.cpp
|
||||||
GraphicKatabaticEngine.cpp
|
GraphicKatabaticEngine.cpp
|
||||||
)
|
)
|
||||||
|
set ( pyCpps PyKatabatic.cpp )
|
||||||
qt4_wrap_cpp ( mocCpps ${mocIncludes} )
|
qt4_wrap_cpp ( mocCpps ${mocIncludes} )
|
||||||
|
|
||||||
|
|
||||||
add_library ( katabatic ${cpps} ${mocCpps} )
|
add_library ( katabatic ${cpps} ${mocCpps} )
|
||||||
set_target_properties ( katabatic PROPERTIES VERSION 1.0 SOVERSION 1 )
|
set_target_properties ( katabatic PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||||
target_link_libraries ( katabatic ${KNIK_LIBRARIES}
|
target_link_libraries ( katabatic ${KNIK_LIBRARIES}
|
||||||
${CORIOLIS_LIBRARIES}
|
${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
|
||||||
|
)
|
||||||
|
add_library ( pyKatabatic MODULE ${pyCpps} )
|
||||||
|
set_target_properties ( pyKatabatic PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1"
|
||||||
|
PREFIX ""
|
||||||
|
OUTPUT_NAME "Katabatic"
|
||||||
|
)
|
||||||
|
target_link_libraries ( pyKatabatic katabatic
|
||||||
|
${CORIOLIS_PYTHON_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
install ( TARGETS katabatic DESTINATION lib${LIB_SUFFIX} )
|
install ( TARGETS katabatic DESTINATION lib${LIB_SUFFIX} )
|
||||||
|
install ( TARGETS pyKatabatic DESTINATION ${PYTHON_SITE_PACKAGES} )
|
||||||
install ( FILES ${includes}
|
install ( FILES ${includes}
|
||||||
${mocIncludes} DESTINATION include/coriolis2/katabatic )
|
${mocIncludes} DESTINATION include/coriolis2/katabatic )
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,83 @@
|
||||||
|
|
||||||
|
// -*- C++ -*-
|
||||||
|
//
|
||||||
|
// 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 |
|
||||||
|
// | K i t e - D e t a i l e d R o u t e r |
|
||||||
|
// | |
|
||||||
|
// | Author : Jean-Paul CHAPUT |
|
||||||
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
|
// | =============================================================== |
|
||||||
|
// | C++ Module : "./PyKatabatic.cpp" |
|
||||||
|
// +-----------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
#include "hurricane/isobar/PyHurricane.h"
|
||||||
|
#include "katabatic/KatabaticEngine.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace Katabatic {
|
||||||
|
|
||||||
|
using std::cerr;
|
||||||
|
using std::endl;
|
||||||
|
using Hurricane::tab;
|
||||||
|
using Hurricane::in_trace;
|
||||||
|
using Isobar::__cs;
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(__PYTHON_MODULE__)
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyKatabatic" Shared Library Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
|
||||||
|
# else // End of PyHurricane Shared Library Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyKatabatic" Python Module Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
static PyMethodDef PyKatabatic_Methods[] =
|
||||||
|
{ {NULL, NULL, 0, NULL} /* sentinel */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------
|
||||||
|
// Module Initialization : "initKatabatic ()"
|
||||||
|
|
||||||
|
DL_EXPORT(void) initKatabatic () {
|
||||||
|
trace << "initKatabatic()" << endl;
|
||||||
|
|
||||||
|
PyObject* module = Py_InitModule ( "Katabatic", PyKatabatic_Methods );
|
||||||
|
if ( module == NULL ) {
|
||||||
|
cerr << "[ERROR]\n"
|
||||||
|
<< " Failed to initialize Katabatic module." << endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
PyObject* dictionnary = PyModule_GetDict(module);
|
||||||
|
PyObject* constant;
|
||||||
|
|
||||||
|
LoadObjectConstant(dictionnary,LoadGrByNet ,"LoadGrByNet" );
|
||||||
|
LoadObjectConstant(dictionnary,LoadGrByGCell ,"LoadGrByGCell" );
|
||||||
|
LoadObjectConstant(dictionnary,LayerAssignByLength,"LayerAssignByLength");
|
||||||
|
LoadObjectConstant(dictionnary,LayerAssignByTrunk ,"LayerAssignByTrunk" );
|
||||||
|
LoadObjectConstant(dictionnary,NoNetLayerAssign ,"NoNetLayerAssign" );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} // extern "C".
|
||||||
|
|
||||||
|
#endif // End of Python Module Code Part.
|
||||||
|
|
||||||
|
} // Katabatic namespace.
|
Loading…
Reference in New Issue