* All tools:
- Bug: target_link_libraries() must be put back for OSX Snow Leopard (doesn't seems to affect Leopard). As I do not have an OSX under my hand it's untested and is likely to fail at that point. * ./crlcore: - New: PyCatalog & PyCatalogState python wrappers, mainly to have constants values for stratus1 parsers/drivers.
This commit is contained in:
parent
62b8477fee
commit
1ccefdb128
|
@ -54,7 +54,14 @@ FIND_PACKAGE(HURRICANE REQUIRED)
|
||||||
INCLUDE(UseLATEX)
|
INCLUDE(UseLATEX)
|
||||||
|
|
||||||
SET_LIB_LINK_MODE()
|
SET_LIB_LINK_MODE()
|
||||||
FIND_PACKAGE(Boost 1.33.1 COMPONENTS program_options filesystem REQUIRED)
|
SET(Boost_USE_STATIC_LIBS ON)
|
||||||
|
MESSAGE(STATUS "Always uses Boost static libraries.")
|
||||||
|
FIND_PACKAGE(Boost 1.35.0 COMPONENTS program_options filesystem system regex python)
|
||||||
|
IF(NOT Boost_FOUND)
|
||||||
|
FIND_PACKAGE(Boost 1.33.1 COMPONENTS program_options filesystem python regex REQUIRED)
|
||||||
|
ENDIF(NOT Boost_FOUND)
|
||||||
|
MESSAGE(STATUS "Found Boost libraries ${Boost_LIB_VERSION} in ${Boost_INCLUDE_DIR}")
|
||||||
|
MESSAGE(STATUS " ${Boost_LIBRARIES}")
|
||||||
|
|
||||||
STRING(REGEX MATCH "^/usr" IS_USR "$ENV{CORIOLIS_TOP}")
|
STRING(REGEX MATCH "^/usr" IS_USR "$ENV{CORIOLIS_TOP}")
|
||||||
STRING(REGEX MATCH "^/opt" IS_OPT "$ENV{CORIOLIS_TOP}")
|
STRING(REGEX MATCH "^/opt" IS_OPT "$ENV{CORIOLIS_TOP}")
|
||||||
|
|
|
@ -49,7 +49,29 @@ IF(UNIX)
|
||||||
DOC "The ${CORIOLIS_INCLUDE_PATH_DESCRIPTION}"
|
DOC "The ${CORIOLIS_INCLUDE_PATH_DESCRIPTION}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
FIND_PATH(CORIOLIS_PYTHON_INCLUDE_PATH
|
||||||
|
NAMES crlcore/PyAllianceFramework.h
|
||||||
|
PATHS ${CORIOLIS_DIR_SEARCH}
|
||||||
|
PATH_SUFFIXES include/coriolis2 include
|
||||||
|
# Help the user find it if we cannot.
|
||||||
|
DOC "${CORIOLIS_LIBRARY_PATH_DESCRIPTION}"
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(CORIOLIS_PYTHON_LIBRARY_PATH
|
||||||
|
NAMES pycrlcore
|
||||||
|
PATHS ${CORIOLIS_DIR_SEARCH}
|
||||||
|
PATH_SUFFIXES lib${LIB_SUFFIX}
|
||||||
|
# Help the user find it if we cannot.
|
||||||
|
DOC "${CORIOLIS_LIBRARY_PATH_DESCRIPTION}"
|
||||||
|
)
|
||||||
|
|
||||||
SET_LIBRARIES_PATH(CORIOLIS CRLCORE)
|
SET_LIBRARIES_PATH(CORIOLIS CRLCORE)
|
||||||
|
SET_LIBRARIES_PATH(CORIOLIS_PYTHON CORIOLIS_PYTHON)
|
||||||
|
|
||||||
|
MESSAGE("${CORIOLIS_PYTHON_INCLUDE_PATH}")
|
||||||
|
MESSAGE("${CORIOLIS_PYTHON_LIBRARY_PATH}")
|
||||||
|
|
||||||
HURRICANE_CHECK_LIBRARIES(CORIOLIS)
|
HURRICANE_CHECK_LIBRARIES(CORIOLIS)
|
||||||
|
HURRICANE_CHECK_LIBRARIES(CORIOLIS_PYTHON ${CORIOLIS_FIND_REQUIRED})
|
||||||
|
|
||||||
ENDIF(UNIX)
|
ENDIF(UNIX)
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
add_subdirectory(ccore)
|
add_subdirectory(ccore)
|
||||||
|
add_subdirectory(pyCRL)
|
||||||
add_subdirectory(cyclop)
|
add_subdirectory(cyclop)
|
||||||
add_subdirectory(x2y)
|
add_subdirectory(x2y)
|
||||||
|
|
|
@ -222,23 +222,37 @@
|
||||||
|
|
||||||
|
|
||||||
qt4_wrap_cpp ( moc_cpps ${mocincludes} )
|
qt4_wrap_cpp ( moc_cpps ${mocincludes} )
|
||||||
install ( FILES ${includes} ${mocincludes} DESTINATION include/coriolis2/crlcore )
|
|
||||||
|
|
||||||
add_library ( crlcore ${ccore_cpps}
|
add_library ( crlcore ${ccore_cpps}
|
||||||
${moc_cpps}
|
${moc_cpps}
|
||||||
${ap_cpps}
|
${ap_cpps}
|
||||||
${agds_cpps}
|
${agds_cpps}
|
||||||
${cif_cpps}
|
${cif_cpps}
|
||||||
${toolbox_cpps}
|
${toolbox_cpps}
|
||||||
${vst_parser_cpps}
|
${vst_parser_cpps}
|
||||||
${vst_driver_cpps}
|
${vst_driver_cpps}
|
||||||
${properties_cpps}
|
${properties_cpps}
|
||||||
${ioc_parser_cpps}
|
${ioc_parser_cpps}
|
||||||
${liberty_cpps}
|
${liberty_cpps}
|
||||||
${liberty_parser_cpps}
|
${liberty_parser_cpps}
|
||||||
${bookshelf_cpps}
|
${bookshelf_cpps}
|
||||||
${spice_cpps}
|
${spice_cpps}
|
||||||
${lefdef_cpps}
|
${lefdef_cpps}
|
||||||
${openaccess_cpps}
|
${openaccess_cpps}
|
||||||
)
|
)
|
||||||
install ( TARGETS crlcore DESTINATION lib${LIB_SUFFIX} )
|
target_link_libraries ( crlcore ${HURRICANE_PYTHON_LIBRARIES}
|
||||||
|
${HURRICANE_GRAPHICAL_LIBRARIES}
|
||||||
|
${HURRICANE_LIBRARIES}
|
||||||
|
${CONFIGURATION_LIBRARY}
|
||||||
|
${CIF_LIBRARY}
|
||||||
|
${AGDS_LIBRARY}
|
||||||
|
${LEFDEF_LIBRARIES}
|
||||||
|
${OA_LIBRARIES}
|
||||||
|
${QT_LIBRARIES}
|
||||||
|
${Boost_LIBRARIES}
|
||||||
|
${LIBXML2_LIBRARIES}
|
||||||
|
${PYTHON_LIBRARIES} -lutil
|
||||||
|
)
|
||||||
|
|
||||||
|
install ( TARGETS crlcore DESTINATION lib${LIB_SUFFIX} )
|
||||||
|
install ( FILES ${includes} ${mocincludes} DESTINATION include/coriolis2/crlcore )
|
||||||
|
|
|
@ -206,8 +206,6 @@ namespace CRL {
|
||||||
System::System ()
|
System::System ()
|
||||||
: _catchCore(true)
|
: _catchCore(true)
|
||||||
{
|
{
|
||||||
cerr << "Creating System singleton." << endl;
|
|
||||||
|
|
||||||
// Immediate setup to avoid some tiresome looping...
|
// Immediate setup to avoid some tiresome looping...
|
||||||
_singleton = this;
|
_singleton = this;
|
||||||
|
|
||||||
|
@ -285,8 +283,12 @@ namespace CRL {
|
||||||
|
|
||||||
bfs::path pythonSitePackages = PYTHON_SITE_PACKAGES;
|
bfs::path pythonSitePackages = PYTHON_SITE_PACKAGES;
|
||||||
pythonSitePackages = arguments["coriolis_top"].as<string>() / pythonSitePackages;
|
pythonSitePackages = arguments["coriolis_top"].as<string>() / pythonSitePackages;
|
||||||
|
bfs::path stratusDir = pythonSitePackages / "stratus";
|
||||||
|
bfs::path cumulusDir = pythonSitePackages / "cumulus";
|
||||||
|
|
||||||
Isobar::Script::addPath ( pythonSitePackages.string() );
|
Isobar::Script::addPath ( pythonSitePackages.string() );
|
||||||
|
Isobar::Script::addPath ( stratusDir.string() );
|
||||||
|
Isobar::Script::addPath ( cumulusDir.string() );
|
||||||
|
|
||||||
// Delayed printing, as we known only now whether VerboseLevel1 is requested.
|
// Delayed printing, as we known only now whether VerboseLevel1 is requested.
|
||||||
if ( cmess1.enabled() ) {
|
if ( cmess1.enabled() ) {
|
||||||
|
|
|
@ -20,20 +20,6 @@
|
||||||
|
|
||||||
add_executable ( cyclop ${cpps} ${MOCcpps} )
|
add_executable ( cyclop ${cpps} ${MOCcpps} )
|
||||||
target_link_libraries ( cyclop crlcore
|
target_link_libraries ( cyclop crlcore
|
||||||
${HURRICANE_PYTHON_LIBRARIES}
|
|
||||||
${HURRICANE_GRAPHICAL_LIBRARIES}
|
|
||||||
${HURRICANE_LIBRARIES}
|
|
||||||
${CONFIGURATION_LIBRARY}
|
|
||||||
${AGDS_LIBRARY}
|
|
||||||
${CIF_LIBRARY}
|
|
||||||
${IO_LIBRARIES}
|
|
||||||
${OA_LIBRARIES}
|
|
||||||
${LEFDEF_LIBRARIES}
|
|
||||||
${QT_LIBRARIES}
|
|
||||||
${Boost_LIBRARIES}
|
|
||||||
${LIBXML2_LIBRARIES}
|
|
||||||
${PYTHON_LIBRARIES}
|
|
||||||
-lutil
|
|
||||||
)
|
)
|
||||||
install ( TARGETS cyclop DESTINATION bin )
|
install ( TARGETS cyclop DESTINATION bin )
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
|
||||||
|
include_directories ( ${CRLCORE_SOURCE_DIR}/src/fonts
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/properties
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/bookshelf
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/cspice
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/lefdef
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/alliance/ap
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/alliance/vst
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/agds
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/cif
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/spice
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/liberty
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/ccore/toolbox
|
||||||
|
${CRLCORE_SOURCE_DIR}/src/pyCRL
|
||||||
|
${HURRICANE_INCLUDE_DIR}
|
||||||
|
${CIF_INCLUDE_DIR}
|
||||||
|
${CONFIGURATION_INCLUDE_DIR}
|
||||||
|
${PYTHON_INCLUDE_PATH}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_definitions ( -DCORIOLIS_TOP="${CORIOLIS_TOP}"
|
||||||
|
-DSYS_CONF_DIR="${SYS_CONF_DIR}"
|
||||||
|
-DPYTHON_SITE_PACKAGES="${PYTHON_SITE_PACKAGES}"
|
||||||
|
)
|
||||||
|
|
||||||
|
set ( sources PyCRL.cpp
|
||||||
|
PyCatalog.cpp
|
||||||
|
PyCatalogState.cpp
|
||||||
|
PyAllianceFramework.cpp
|
||||||
|
PyToolBox.cpp
|
||||||
|
)
|
||||||
|
set ( includes crlcore/PyCatalog.h
|
||||||
|
crlcore/PyCatalogState.h
|
||||||
|
crlcore/PyAllianceFramework.h
|
||||||
|
crlcore/PyToolBox.h
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
add_library ( pycrlcore ${sources} )
|
||||||
|
target_link_libraries ( pycrlcore crlcore
|
||||||
|
${HURRICANE_PYTHON_LIBRARIES}
|
||||||
|
${PYTHON_LIBRARIES} -lutil
|
||||||
|
)
|
||||||
|
add_library ( CRL MODULE ${sources} )
|
||||||
|
set_target_properties ( CRL PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -D__PYTHON_MODULE__=1"
|
||||||
|
PREFIX ""
|
||||||
|
)
|
||||||
|
|
||||||
|
install ( FILES ${includes} DESTINATION include/coriolis2/crlcore )
|
||||||
|
install ( TARGETS pycrlcore DESTINATION lib${LIB_SUFFIX} )
|
||||||
|
install ( TARGETS CRL DESTINATION ${PYTHON_SITE_PACKAGES} )
|
|
@ -0,0 +1,217 @@
|
||||||
|
|
||||||
|
// -*- C++ -*-
|
||||||
|
//
|
||||||
|
// This file is part of the Coriolis Software.
|
||||||
|
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||||
|
//
|
||||||
|
// ===================================================================
|
||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
//
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
// | |
|
||||||
|
// | C O R I O L I S |
|
||||||
|
// | Alliance / Hurricane Interface |
|
||||||
|
// | |
|
||||||
|
// | Author : Jean-Paul CHAPUT |
|
||||||
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
|
// | =============================================================== |
|
||||||
|
// | C++ Module : "./PyAllianceFramework.cpp" |
|
||||||
|
// | *************************************************************** |
|
||||||
|
// | U p d a t e s |
|
||||||
|
// | |
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
|
||||||
|
|
||||||
|
#include "hurricane/isobar/PyCell.h"
|
||||||
|
#include "hurricane/isobar/PyLibrary.h"
|
||||||
|
#include "crlcore/Catalog.h" // TEMPORARY
|
||||||
|
#include "crlcore/PyAllianceFramework.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace CRL {
|
||||||
|
|
||||||
|
using std::cerr;
|
||||||
|
using std::endl;
|
||||||
|
using std::hex;
|
||||||
|
using std::ostringstream;
|
||||||
|
using Hurricane::tab;
|
||||||
|
using Hurricane::in_trace;
|
||||||
|
using Hurricane::Error;
|
||||||
|
using Hurricane::Warning;
|
||||||
|
using Isobar::ProxyProperty;
|
||||||
|
using Isobar::ProxyError;
|
||||||
|
using Isobar::ConstructorError;
|
||||||
|
using Isobar::HurricaneError;
|
||||||
|
using Isobar::HurricaneWarning;
|
||||||
|
using Isobar::ParseOneArg;
|
||||||
|
using Isobar::ParseTwoArg;
|
||||||
|
using Isobar::PyLibrary;
|
||||||
|
using Isobar::PyLibrary_Link;
|
||||||
|
using Isobar::PyCell;
|
||||||
|
using Isobar::PyCell_Link;
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(AllianceFramework,af,function)
|
||||||
|
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyAllianceFramework" Python Module Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
#if defined(__PYTHON_MODULE__)
|
||||||
|
|
||||||
|
|
||||||
|
extern PyObject* PyAllianceFramework_getLibrary ( PyAllianceFramework* self, PyObject* args )
|
||||||
|
{
|
||||||
|
trace << "PyAllianceFramework_getLibrary ()" << endl;
|
||||||
|
|
||||||
|
Library* lib = NULL;
|
||||||
|
|
||||||
|
HTRY
|
||||||
|
METHOD_HEAD("AllianceFramework.getLibrary()")
|
||||||
|
|
||||||
|
PyObject* arg0;
|
||||||
|
if ( not ParseOneArg ( "AllianceFramework.getLibrary()", args, INT_ARG, &arg0 ) ) return NULL;
|
||||||
|
|
||||||
|
lib = af->getLibrary ( PyInt_AsLong(arg0) );
|
||||||
|
|
||||||
|
if ( lib == NULL ) Py_RETURN_NONE;
|
||||||
|
HCATCH
|
||||||
|
|
||||||
|
return PyLibrary_Link(lib);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern PyObject* PyAllianceFramework_getCell ( PyAllianceFramework* self, PyObject* args )
|
||||||
|
{
|
||||||
|
trace << "PyAllianceFramework_getCell ()" << endl;
|
||||||
|
|
||||||
|
char* name = NULL;
|
||||||
|
Cell* cell = NULL;
|
||||||
|
int mode = 0;
|
||||||
|
|
||||||
|
HTRY
|
||||||
|
METHOD_HEAD("AllianceFramework.getCell()")
|
||||||
|
|
||||||
|
if ( not PyArg_ParseTuple(args,"si",&name,&mode) ) {
|
||||||
|
PyErr_SetString ( ConstructorError, "invalid number of parameters for Cell AllianceFramework.getCell().");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
cell = af->getCell ( name, mode );
|
||||||
|
HCATCH
|
||||||
|
|
||||||
|
return PyCell_Link(cell);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern PyObject* PyAllianceFramework_saveCell ( PyAllianceFramework* self, PyObject* args )
|
||||||
|
{
|
||||||
|
trace << "PyAllianceFramework_saveCell ()" << endl;
|
||||||
|
|
||||||
|
HTRY
|
||||||
|
|
||||||
|
METHOD_HEAD("AllianceFramework.saveCell()")
|
||||||
|
|
||||||
|
PyObject* arg0;
|
||||||
|
PyObject* arg1;
|
||||||
|
|
||||||
|
if ( not ParseTwoArg ( "AllianceFramework.saveCell", args, CELL_INT_ARG, &arg0, &arg1) ) return NULL;
|
||||||
|
|
||||||
|
af->saveCell ( PYCELL_O(arg0),PyInt_AsLong(arg1) );
|
||||||
|
|
||||||
|
HCATCH
|
||||||
|
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
extern PyObject* PyAllianceFramework_createCell ( PyAllianceFramework* self, PyObject* args )
|
||||||
|
{
|
||||||
|
trace << "PyAllianceFramework_createCell ()" << endl;
|
||||||
|
|
||||||
|
char* name = NULL;
|
||||||
|
Cell* cell = NULL;
|
||||||
|
|
||||||
|
HTRY
|
||||||
|
METHOD_HEAD("AllianceFramework.createCell()")
|
||||||
|
|
||||||
|
if ( not PyArg_ParseTuple(args,"s",&name) ) {
|
||||||
|
PyErr_SetString ( ConstructorError, "invalid number of parameters for Cell AllianceFramework.createCell().");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
cell = af->createCell ( name );
|
||||||
|
HCATCH
|
||||||
|
|
||||||
|
return PyCell_Link(cell);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Standart Accessors (Attributes).
|
||||||
|
|
||||||
|
|
||||||
|
// Standart Destroy (Attribute).
|
||||||
|
// DBoDestroyAttribute(PyAllianceFramework_destroy,PyAllianceFramework)
|
||||||
|
|
||||||
|
|
||||||
|
PyMethodDef PyAllianceFramework_Methods[] =
|
||||||
|
{ { "getLibrary" , (PyCFunction)PyAllianceFramework_getLibrary, METH_VARARGS, "Gets a Library, by index." }
|
||||||
|
, { "getCell" , (PyCFunction)PyAllianceFramework_getCell , METH_VARARGS, "Gets an Alliance Cell." }
|
||||||
|
, { "saveCell" , (PyCFunction)PyAllianceFramework_saveCell , METH_VARARGS, "Saves an Alliance Cell." }
|
||||||
|
, { "createCell" , (PyCFunction)PyAllianceFramework_createCell, METH_VARARGS, "Create a Cell in the Alliance framework." }
|
||||||
|
//, { "destroy" , (PyCFunction)PyAllianceFramework_destroy , METH_NOARGS
|
||||||
|
// , "Destroy the associated hurricane object. The python object remains." }
|
||||||
|
, {NULL, NULL, 0, NULL} /* sentinel */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
PythonOnlyDeleteMethod(AllianceFramework)
|
||||||
|
PyTypeObjectLinkPyType(AllianceFramework)
|
||||||
|
|
||||||
|
|
||||||
|
#else // End of Python Module Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyAllianceFramework" Shared Library Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
|
||||||
|
PyObject* PyAllianceFramework_get ( PyObject *module )
|
||||||
|
{
|
||||||
|
trace << "PyAllianceFramework_get()" << endl;
|
||||||
|
|
||||||
|
AllianceFramework* af = NULL;
|
||||||
|
PyAllianceFramework* pyAf = NULL;
|
||||||
|
|
||||||
|
HTRY
|
||||||
|
af = AllianceFramework::get ();
|
||||||
|
|
||||||
|
pyAf = PyObject_NEW ( PyAllianceFramework, &PyTypeAllianceFramework );
|
||||||
|
if ( pyAf == NULL ) return NULL;
|
||||||
|
|
||||||
|
pyAf->_object = af;
|
||||||
|
HCATCH
|
||||||
|
|
||||||
|
return (PyObject*)pyAf;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Link/Creation Method.
|
||||||
|
PyTypeObjectDefinitions(AllianceFramework)
|
||||||
|
|
||||||
|
|
||||||
|
#endif // End of Shared Library Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
} // End of extern "C".
|
||||||
|
|
||||||
|
|
||||||
|
} // End of CRL namespace.
|
||||||
|
|
|
@ -0,0 +1,121 @@
|
||||||
|
|
||||||
|
// -*- C++ -*-
|
||||||
|
//
|
||||||
|
// This file is part of the Coriolis Software.
|
||||||
|
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||||
|
//
|
||||||
|
// ===================================================================
|
||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
//
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
// | |
|
||||||
|
// | C O R I O L I S |
|
||||||
|
// | Alliance / Hurricane Interface |
|
||||||
|
// | |
|
||||||
|
// | Author : Jean-Paul CHAPUT |
|
||||||
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
|
// | =============================================================== |
|
||||||
|
// | C++ Module : "./PyCRL.cpp" |
|
||||||
|
// | *************************************************************** |
|
||||||
|
// | U p d a t e s |
|
||||||
|
// | |
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
|
||||||
|
|
||||||
|
#include "hurricane/isobar/PyHurricane.h"
|
||||||
|
#include "hurricane/isobar/PyLibrary.h"
|
||||||
|
#include "hurricane/isobar/PyCell.h"
|
||||||
|
#include "crlcore/PyCatalog.h"
|
||||||
|
#include "crlcore/PyCatalogState.h"
|
||||||
|
#include "crlcore/PyAllianceFramework.h"
|
||||||
|
#include "crlcore/PyToolBox.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace CRL {
|
||||||
|
|
||||||
|
using std::cerr;
|
||||||
|
using std::endl;
|
||||||
|
using Hurricane::tab;
|
||||||
|
using Hurricane::in_trace;
|
||||||
|
using Isobar::__cs;
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(__PYTHON_MODULE__)
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyCRL" Shared Library Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
|
||||||
|
# else // End of PyHurricane Shared Library Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyCRL" Python Module Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
// x-------------------------------------------------------------x
|
||||||
|
// | "PyCRL" Module Methods |
|
||||||
|
// x-------------------------------------------------------------x
|
||||||
|
|
||||||
|
|
||||||
|
static PyMethodDef PyCRL_Methods[] =
|
||||||
|
{ { "getAllianceFramework", (PyCFunction)PyAllianceFramework_get, METH_NOARGS
|
||||||
|
, "Gets the Alliance Framework." }
|
||||||
|
, { "createPartRing" , (PyCFunction)PyToolBox_createPartRing, METH_VARARGS
|
||||||
|
, "Partial build of a ring" }
|
||||||
|
, {NULL, NULL, 0, NULL} /* sentinel */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------
|
||||||
|
// Module Initialization : "initCRL ()"
|
||||||
|
|
||||||
|
DL_EXPORT(void) initCRL () {
|
||||||
|
trace << "initCRL()" << endl;
|
||||||
|
|
||||||
|
PyCatalogState_LinkPyType ();
|
||||||
|
PyCatalog_LinkPyType ();
|
||||||
|
PyAllianceFramework_LinkPyType ();
|
||||||
|
|
||||||
|
PYTYPE_READY ( CatalogState );
|
||||||
|
PYTYPE_READY ( Catalog );
|
||||||
|
PYTYPE_READY ( AllianceFramework );
|
||||||
|
|
||||||
|
// Identifier string can take up to 10 characters.
|
||||||
|
__cs.addType ( "alcFw" , &PyTypeAllianceFramework, "<AllianceFramework>", false );
|
||||||
|
__cs.addType ( "alcCatalog" , &PyTypeCatalog , "<Catalog>" , false );
|
||||||
|
__cs.addType ( "alcCatStat" , &PyTypeCatalogState , "<Catalog::State>" , false );
|
||||||
|
|
||||||
|
PyObject* module = Py_InitModule ( "CRL", PyCRL_Methods );
|
||||||
|
if ( module == NULL ) {
|
||||||
|
cerr << "[ERROR]\n"
|
||||||
|
<< " Failed to initialize CRL module." << endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Py_INCREF ( &PyTypeCatalog );
|
||||||
|
PyModule_AddObject ( module, "Catalog", (PyObject*)&PyTypeCatalog );
|
||||||
|
|
||||||
|
PyCatalog_postModuleInit ();
|
||||||
|
|
||||||
|
PyObject* dictionnary = PyModule_GetDict ( module );
|
||||||
|
|
||||||
|
//DbULoadConstants ( dictionnary );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} // End of extern "C".
|
||||||
|
|
||||||
|
|
||||||
|
#endif // End of Python Module Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
} // End of CRL namespace.
|
|
@ -0,0 +1,111 @@
|
||||||
|
|
||||||
|
// -*- C++ -*-
|
||||||
|
//
|
||||||
|
// This file is part of the Coriolis Software.
|
||||||
|
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||||
|
//
|
||||||
|
// ===================================================================
|
||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
//
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
// | |
|
||||||
|
// | C O R I O L I S |
|
||||||
|
// | Alliance / Hurricane Interface |
|
||||||
|
// | |
|
||||||
|
// | Author : Jean-Paul CHAPUT |
|
||||||
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
|
// | =============================================================== |
|
||||||
|
// | C++ Module : "./PyCatalog.cpp" |
|
||||||
|
// | *************************************************************** |
|
||||||
|
// | U p d a t e s |
|
||||||
|
// | |
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
|
||||||
|
|
||||||
|
#include "hurricane/isobar/PyCell.h"
|
||||||
|
#include "hurricane/isobar/PyLibrary.h"
|
||||||
|
#include "crlcore/Catalog.h" // TEMPORARY
|
||||||
|
#include "crlcore/PyCatalogState.h"
|
||||||
|
#include "crlcore/PyCatalog.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace CRL {
|
||||||
|
|
||||||
|
using std::cerr;
|
||||||
|
using std::endl;
|
||||||
|
using std::hex;
|
||||||
|
using std::ostringstream;
|
||||||
|
using Hurricane::tab;
|
||||||
|
using Hurricane::in_trace;
|
||||||
|
using Hurricane::Error;
|
||||||
|
using Hurricane::Warning;
|
||||||
|
using Isobar::ProxyProperty;
|
||||||
|
using Isobar::ProxyError;
|
||||||
|
using Isobar::ConstructorError;
|
||||||
|
using Isobar::HurricaneError;
|
||||||
|
using Isobar::HurricaneWarning;
|
||||||
|
using Isobar::ParseOneArg;
|
||||||
|
using Isobar::ParseTwoArg;
|
||||||
|
using Isobar::PyLibrary;
|
||||||
|
using Isobar::PyLibrary_Link;
|
||||||
|
using Isobar::PyCell;
|
||||||
|
using Isobar::PyCell_Link;
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(Catalog,catalog,function)
|
||||||
|
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyCatalog" Python Module Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
#if defined(__PYTHON_MODULE__)
|
||||||
|
|
||||||
|
|
||||||
|
// Standart Accessors (Attributes).
|
||||||
|
|
||||||
|
|
||||||
|
// Standart Destroy (Attribute).
|
||||||
|
// DBoDestroyAttribute(PyCatalog_destroy,PyCatalog)
|
||||||
|
|
||||||
|
|
||||||
|
PyMethodDef PyCatalog_Methods[] =
|
||||||
|
{ {NULL, NULL, 0, NULL} /* sentinel */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
PythonOnlyDeleteMethod(Catalog)
|
||||||
|
PyTypeObjectLinkPyType(Catalog)
|
||||||
|
|
||||||
|
|
||||||
|
#else // End of Python Module Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyCatalog" Shared Library Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
// Link/Creation Method.
|
||||||
|
PyTypeObjectDefinitions(Catalog)
|
||||||
|
|
||||||
|
|
||||||
|
extern void PyCatalog_postModuleInit ()
|
||||||
|
{
|
||||||
|
PyCatalogState_postModuleInit ();
|
||||||
|
|
||||||
|
PyDict_SetItemString ( PyTypeCatalog.tp_dict, "State", (PyObject*)&PyTypeCatalogState );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif // End of Shared Library Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
} // End of extern "C".
|
||||||
|
|
||||||
|
|
||||||
|
} // End of CRL namespace.
|
||||||
|
|
|
@ -0,0 +1,170 @@
|
||||||
|
|
||||||
|
// -*- C++ -*-
|
||||||
|
//
|
||||||
|
// This file is part of the Coriolis Software.
|
||||||
|
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||||
|
//
|
||||||
|
// ===================================================================
|
||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
//
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
// | |
|
||||||
|
// | C O R I O L I S |
|
||||||
|
// | Alliance / Hurricane Interface |
|
||||||
|
// | |
|
||||||
|
// | Author : Jean-Paul CHAPUT |
|
||||||
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
|
// | =============================================================== |
|
||||||
|
// | C++ Module : "./PyCatalogState.cpp" |
|
||||||
|
// | *************************************************************** |
|
||||||
|
// | U p d a t e s |
|
||||||
|
// | |
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
|
||||||
|
|
||||||
|
#include "hurricane/isobar/PyCell.h"
|
||||||
|
#include "hurricane/isobar/PyLibrary.h"
|
||||||
|
#include "crlcore/Catalog.h"
|
||||||
|
#include "crlcore/PyCatalogState.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace CRL {
|
||||||
|
|
||||||
|
using std::cerr;
|
||||||
|
using std::endl;
|
||||||
|
using std::hex;
|
||||||
|
using std::ostringstream;
|
||||||
|
using Hurricane::tab;
|
||||||
|
using Hurricane::in_trace;
|
||||||
|
using Hurricane::Error;
|
||||||
|
using Hurricane::Warning;
|
||||||
|
using Isobar::ProxyProperty;
|
||||||
|
using Isobar::ProxyError;
|
||||||
|
using Isobar::ConstructorError;
|
||||||
|
using Isobar::HurricaneError;
|
||||||
|
using Isobar::HurricaneWarning;
|
||||||
|
using Isobar::ParseOneArg;
|
||||||
|
using Isobar::ParseTwoArg;
|
||||||
|
using Isobar::PyLibrary;
|
||||||
|
using Isobar::PyLibrary_Link;
|
||||||
|
using Isobar::PyCell;
|
||||||
|
using Isobar::PyCell_Link;
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(CatalogState,state,function)
|
||||||
|
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyCatalogState" Python Module Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
#if defined(__PYTHON_MODULE__)
|
||||||
|
|
||||||
|
|
||||||
|
// Standart Accessors (Attributes).
|
||||||
|
DirectGetBoolAttribute(PyCatalogState_isFlattenLeaf,isFlattenLeaf,PyCatalogState,Catalog::State)
|
||||||
|
DirectGetBoolAttribute(PyCatalogState_isFeed ,isFeed ,PyCatalogState,Catalog::State)
|
||||||
|
DirectGetBoolAttribute(PyCatalogState_isGds ,isGds ,PyCatalogState,Catalog::State)
|
||||||
|
DirectGetBoolAttribute(PyCatalogState_isDelete ,isDelete ,PyCatalogState,Catalog::State)
|
||||||
|
DirectGetBoolAttribute(PyCatalogState_isPhysical ,isPhysical ,PyCatalogState,Catalog::State)
|
||||||
|
DirectGetBoolAttribute(PyCatalogState_isLogical ,isFlattenLeaf,PyCatalogState,Catalog::State)
|
||||||
|
|
||||||
|
DirectSetBoolAttribute(PyCatalogState_setFlattenLeaf,setFlattenLeaf,"Catalog::State::setFlatenLeaf",PyCatalogState,Catalog::State)
|
||||||
|
DirectSetBoolAttribute(PyCatalogState_setFeed ,setFeed ,"Catalog::State::setFeed" ,PyCatalogState,Catalog::State)
|
||||||
|
DirectSetBoolAttribute(PyCatalogState_setGds ,setGds ,"Catalog::State::setGds" ,PyCatalogState,Catalog::State)
|
||||||
|
DirectSetBoolAttribute(PyCatalogState_setDelete ,setDelete ,"Catalog::State::setDelete" ,PyCatalogState,Catalog::State)
|
||||||
|
DirectSetBoolAttribute(PyCatalogState_setPhysical ,setPhysical ,"Catalog::State::setPhysical" ,PyCatalogState,Catalog::State)
|
||||||
|
DirectSetBoolAttribute(PyCatalogState_setLogical ,setFlattenLeaf,"Catalog::State::setLogical" ,PyCatalogState,Catalog::State)
|
||||||
|
|
||||||
|
|
||||||
|
// Standart Destroy (Attribute).
|
||||||
|
// DBoDestroyAttribute(PyCatalogState_destroy,PyCatalog)
|
||||||
|
|
||||||
|
|
||||||
|
PyMethodDef PyCatalogState_Methods[] =
|
||||||
|
{ { "isFlattenLeaf" , (PyCFunction)PyCatalogState_isFlattenLeaf, METH_NOARGS
|
||||||
|
, "Return true if the Cell must not be explored for hierarchy." }
|
||||||
|
, { "isFeed" , (PyCFunction)PyCatalogState_isFeed, METH_NOARGS
|
||||||
|
, "Return true if the Cell is a feed through." }
|
||||||
|
, { "isGds" , (PyCFunction)PyCatalogState_isGds, METH_NOARGS
|
||||||
|
, "Return true if the Cell is a GDSII import." }
|
||||||
|
, { "isDelete" , (PyCFunction)PyCatalogState_isDelete, METH_NOARGS
|
||||||
|
, "Return true if the Cell has the Catalog Delete attribute." }
|
||||||
|
, { "isPhysical" , (PyCFunction)PyCatalogState_isPhysical, METH_NOARGS
|
||||||
|
, "Return true if the Cell possesses a physical (layout) view." }
|
||||||
|
, { "isLogical" , (PyCFunction)PyCatalogState_isLogical, METH_NOARGS
|
||||||
|
, "Return true if the Cell possesses a logical (netlist) view." }
|
||||||
|
, { "setFlattenLeaf", (PyCFunction)PyCatalogState_setFlattenLeaf, METH_VARARGS
|
||||||
|
, "Sets/reset the FlattenLeaf flag of a Cell." }
|
||||||
|
, { "setFeed" , (PyCFunction)PyCatalogState_setFeed, METH_VARARGS
|
||||||
|
, "Sets/reset the Feed flag of a Cell." }
|
||||||
|
, { "setGds" , (PyCFunction)PyCatalogState_setGds, METH_VARARGS
|
||||||
|
, "Sets/reset the Gds flag of a Cell." }
|
||||||
|
, { "setDelete" , (PyCFunction)PyCatalogState_setDelete, METH_VARARGS
|
||||||
|
, "Sets/reset the Delete flag of a Cell." }
|
||||||
|
, { "setPhysical" , (PyCFunction)PyCatalogState_setPhysical, METH_VARARGS
|
||||||
|
, "Sets/reset the Pysical flag of a Cell." }
|
||||||
|
, { "setLogical" , (PyCFunction)PyCatalogState_setLogical, METH_VARARGS
|
||||||
|
, "Sets/reset the Logical flag of a Cell." }
|
||||||
|
, {NULL, NULL, 0, NULL} /* sentinel */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
PythonOnlyDeleteMethod(CatalogState)
|
||||||
|
|
||||||
|
DirectReprMethod(PyCatalogState_Repr, PyCatalogState, Catalog::State)
|
||||||
|
DirectStrMethod (PyCatalogState_Str, PyCatalogState, Catalog::State)
|
||||||
|
DirectCmpMethod (PyCatalogState_Cmp, IsPyCatalogState, PyCatalogState)
|
||||||
|
DirectHashMethod(PyCatalogState_Hash, PyCatalogState)
|
||||||
|
|
||||||
|
extern void PyCatalogState_LinkPyType() {
|
||||||
|
trace << "PyCatalogState_LinkType()" << endl;
|
||||||
|
PyTypeCatalogState.tp_dealloc = (destructor) PyCatalogState_DeAlloc;
|
||||||
|
PyTypeCatalogState.tp_compare = (cmpfunc) PyCatalogState_Cmp;
|
||||||
|
PyTypeCatalogState.tp_repr = (reprfunc) PyCatalogState_Repr;
|
||||||
|
PyTypeCatalogState.tp_str = (reprfunc) PyCatalogState_Str;
|
||||||
|
PyTypeCatalogState.tp_hash = (hashfunc) PyCatalogState_Hash;
|
||||||
|
PyTypeCatalogState.tp_methods = PyCatalogState_Methods;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#else // End of Python Module Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyCatalogState" Shared Library Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
|
||||||
|
extern void PyCatalogState_postModuleInit ()
|
||||||
|
{
|
||||||
|
PyObject* constant;
|
||||||
|
|
||||||
|
LoadObjectConstant(PyTypeCatalogState.tp_dict,Catalog::State::FlattenLeaf,"FlattenLeaf");
|
||||||
|
LoadObjectConstant(PyTypeCatalogState.tp_dict,Catalog::State::Feed ,"Feed");
|
||||||
|
LoadObjectConstant(PyTypeCatalogState.tp_dict,Catalog::State::GDS ,"GDS");
|
||||||
|
LoadObjectConstant(PyTypeCatalogState.tp_dict,Catalog::State::Delete ,"Delete");
|
||||||
|
LoadObjectConstant(PyTypeCatalogState.tp_dict,Catalog::State::Logical ,"Logical");
|
||||||
|
LoadObjectConstant(PyTypeCatalogState.tp_dict,Catalog::State::Physical ,"Physical");
|
||||||
|
LoadObjectConstant(PyTypeCatalogState.tp_dict,Catalog::State::InMemory ,"InMemory");
|
||||||
|
LoadObjectConstant(PyTypeCatalogState.tp_dict,Catalog::State::Views ,"Views");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Link/Creation Method.
|
||||||
|
PyTypeObjectDefinitions(CatalogState)
|
||||||
|
|
||||||
|
|
||||||
|
#endif // End of Shared Library Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
} // End of extern "C".
|
||||||
|
|
||||||
|
|
||||||
|
} // End of CRL namespace.
|
||||||
|
|
|
@ -0,0 +1,94 @@
|
||||||
|
|
||||||
|
// -*- C++ -*-
|
||||||
|
//
|
||||||
|
// This file is part of the Coriolis Software.
|
||||||
|
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||||
|
//
|
||||||
|
// ===================================================================
|
||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
//
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
// | |
|
||||||
|
// | C O R I O L I S |
|
||||||
|
// | Alliance / Hurricane Interface |
|
||||||
|
// | |
|
||||||
|
// | Author : Jean-Paul CHAPUT |
|
||||||
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
|
// | =============================================================== |
|
||||||
|
// | C++ Module : "./PyToolBox.cpp" |
|
||||||
|
// | *************************************************************** |
|
||||||
|
// | U p d a t e s |
|
||||||
|
// | |
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
|
||||||
|
|
||||||
|
#include "hurricane/isobar/PyCell.h"
|
||||||
|
#include "crlcore/ToolBox.h"
|
||||||
|
#include "crlcore/PyToolBox.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace CRL {
|
||||||
|
|
||||||
|
using std::cerr;
|
||||||
|
using std::endl;
|
||||||
|
using std::hex;
|
||||||
|
using std::ostringstream;
|
||||||
|
using Hurricane::tab;
|
||||||
|
using Hurricane::in_trace;
|
||||||
|
using Hurricane::Error;
|
||||||
|
using Hurricane::Warning;
|
||||||
|
using Isobar::ProxyProperty;
|
||||||
|
using Isobar::ProxyError;
|
||||||
|
using Isobar::ConstructorError;
|
||||||
|
using Isobar::HurricaneError;
|
||||||
|
using Isobar::HurricaneWarning;
|
||||||
|
using Isobar::ParseOneArg;
|
||||||
|
using Isobar::ParseTwoArg;
|
||||||
|
using Isobar::PyCell;
|
||||||
|
using Isobar::PyCell_Link;
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyToolBox" Python Module Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
#if defined(__PYTHON_MODULE__)
|
||||||
|
|
||||||
|
|
||||||
|
#else // End of Python Module Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
// x=================================================================x
|
||||||
|
// | "PyToolBox" Shared Library Code Part |
|
||||||
|
// x=================================================================x
|
||||||
|
|
||||||
|
|
||||||
|
extern PyObject* PyToolBox_createPartRing ( PyObject* module, PyObject* args )
|
||||||
|
{
|
||||||
|
trace << "PyToolBox_createPartRing ()" << endl;
|
||||||
|
|
||||||
|
HTRY
|
||||||
|
PyObject* arg0;
|
||||||
|
PyObject* arg1;
|
||||||
|
|
||||||
|
if ( not ParseTwoArg ( "CRL.createPartRing", args, CELL_STRING_ARG, &arg0, &arg1 ) )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
createPartRing ( PYCELL_O(arg0), PyString_AsString(arg1) );
|
||||||
|
HCATCH
|
||||||
|
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif // End of Shared Library Code Part.
|
||||||
|
|
||||||
|
|
||||||
|
} // End of extern "C".
|
||||||
|
|
||||||
|
|
||||||
|
} // End of CRL namespace.
|
|
@ -0,0 +1,70 @@
|
||||||
|
|
||||||
|
// -*- C++ -*-
|
||||||
|
//
|
||||||
|
// This file is part of the Coriolis Software.
|
||||||
|
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||||
|
//
|
||||||
|
// ===================================================================
|
||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
//
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
// | |
|
||||||
|
// | C O R I O L I S |
|
||||||
|
// | Alliance / Hurricane Interface |
|
||||||
|
// | |
|
||||||
|
// | Author : Jean-Paul CHAPUT |
|
||||||
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
|
// | =============================================================== |
|
||||||
|
// | C++ Header : "./PyAllianceFramework.cpp" |
|
||||||
|
// | *************************************************************** |
|
||||||
|
// | U p d a t e s |
|
||||||
|
// | |
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __PY_ALLIANCE_FRAMEWORK__
|
||||||
|
#define __PY_ALLIANCE_FRAMEWORK__
|
||||||
|
|
||||||
|
#include "hurricane/isobar/PyHurricane.h"
|
||||||
|
#include "crlcore/AllianceFramework.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace CRL {
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
// Python Object : "PyAllianceFramework".
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
PyObject_HEAD
|
||||||
|
CRL::AllianceFramework* _object;
|
||||||
|
} PyAllianceFramework;
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
// Functions & Types exported to "PyCRL.ccp".
|
||||||
|
|
||||||
|
extern PyTypeObject PyTypeAllianceFramework;
|
||||||
|
extern PyMethodDef PyAllianceFramework_Methods[];
|
||||||
|
|
||||||
|
extern PyObject* PyAllianceFramework_get ( PyObject* module );
|
||||||
|
extern PyObject* PyAllianceFramework_Link ( CRL::AllianceFramework* );
|
||||||
|
extern void PyAllianceFramework_LinkPyType ();
|
||||||
|
|
||||||
|
|
||||||
|
#define IsPyAllianceFramework(v) ( (v)->ob_type == &PyTypeAllianceFramework )
|
||||||
|
#define PYALLIANCEFRAMEWORK(v) ( (PyAllianceFramework*)(v) )
|
||||||
|
#define PYALLIANCEFRAMEWORK_O(v) ( PYALLIANCEFRAMEWORK(v)->_object )
|
||||||
|
|
||||||
|
|
||||||
|
} // End of extern "C".
|
||||||
|
|
||||||
|
|
||||||
|
} // End of CRL namespace.
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __PY_ALLIANCE_FRAMEWORK__
|
|
@ -0,0 +1,70 @@
|
||||||
|
|
||||||
|
// -*- C++ -*-
|
||||||
|
//
|
||||||
|
// This file is part of the Coriolis Software.
|
||||||
|
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||||
|
//
|
||||||
|
// ===================================================================
|
||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
//
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
// | |
|
||||||
|
// | C O R I O L I S |
|
||||||
|
// | Alliance / Hurricane Interface |
|
||||||
|
// | |
|
||||||
|
// | Author : Jean-Paul CHAPUT |
|
||||||
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
|
// | =============================================================== |
|
||||||
|
// | C++ Header : "./PyCatalog.cpp" |
|
||||||
|
// | *************************************************************** |
|
||||||
|
// | U p d a t e s |
|
||||||
|
// | |
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __PY_CRL_CATALOG__
|
||||||
|
#define __PY_CRL_CATALOG__
|
||||||
|
|
||||||
|
#include "hurricane/isobar/PyHurricane.h"
|
||||||
|
#include "crlcore/Catalog.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace CRL {
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
// Python Object : "PyCatalog".
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
PyObject_HEAD
|
||||||
|
CRL::Catalog* _object;
|
||||||
|
} PyCatalog;
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
// Functions & Types exported to "PyCRL.ccp".
|
||||||
|
|
||||||
|
extern PyTypeObject PyTypeCatalog;
|
||||||
|
extern PyMethodDef PyCatalog_Methods[];
|
||||||
|
|
||||||
|
extern PyObject* PyCatalog_Link ( CRL::Catalog* );
|
||||||
|
extern void PyCatalog_LinkPyType ();
|
||||||
|
extern void PyCatalog_postModuleInit ();
|
||||||
|
|
||||||
|
|
||||||
|
#define IsPyCatalog(v) ( (v)->ob_type == &PyTypeCatalog )
|
||||||
|
#define PYCATALOG(v) ( (PyCatalog*)(v) )
|
||||||
|
#define PYCATALOG_O(v) ( PYCATALOG(v)->_object )
|
||||||
|
|
||||||
|
|
||||||
|
} // End of extern "C".
|
||||||
|
|
||||||
|
|
||||||
|
} // End of CRL namespace.
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __PY_CRL_CATALOG__
|
|
@ -0,0 +1,70 @@
|
||||||
|
|
||||||
|
// -*- C++ -*-
|
||||||
|
//
|
||||||
|
// This file is part of the Coriolis Software.
|
||||||
|
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||||
|
//
|
||||||
|
// ===================================================================
|
||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
//
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
// | |
|
||||||
|
// | C O R I O L I S |
|
||||||
|
// | Alliance / Hurricane Interface |
|
||||||
|
// | |
|
||||||
|
// | Author : Jean-Paul CHAPUT |
|
||||||
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
|
// | =============================================================== |
|
||||||
|
// | C++ Header : "./PyCatalogState.cpp" |
|
||||||
|
// | *************************************************************** |
|
||||||
|
// | U p d a t e s |
|
||||||
|
// | |
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __PY_CRL_CATALOG_STATE__
|
||||||
|
#define __PY_CRL_CATALOG_STATE__
|
||||||
|
|
||||||
|
#include "hurricane/isobar/PyHurricane.h"
|
||||||
|
#include "crlcore/Catalog.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace CRL {
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
// Python Object : "PyCatalogState".
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
PyObject_HEAD
|
||||||
|
CRL::Catalog::State* _object;
|
||||||
|
} PyCatalogState;
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
// Functions & Types exported to "PyCRL.ccp".
|
||||||
|
|
||||||
|
extern PyTypeObject PyTypeCatalogState;
|
||||||
|
extern PyMethodDef PyCatalogState_Methods[];
|
||||||
|
|
||||||
|
extern PyObject* PyCatalogState_Link ( CRL::Catalog::State* );
|
||||||
|
extern void PyCatalogState_LinkPyType ();
|
||||||
|
extern void PyCatalogState_postModuleInit ();
|
||||||
|
|
||||||
|
|
||||||
|
#define IsPyCatalogState(v) ( (v)->ob_type == &PyTypeCatalogState )
|
||||||
|
#define PYCATALOGSTATE(v) ( (PyCatalogState*)(v) )
|
||||||
|
#define PYCATALOGSTATE_O(v) ( PYCATALOGSTATE(v)->_object )
|
||||||
|
|
||||||
|
|
||||||
|
} // End of extern "C".
|
||||||
|
|
||||||
|
|
||||||
|
} // End of CRL namespace.
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __PY_CRL_CATALOG_STATE__
|
|
@ -0,0 +1,50 @@
|
||||||
|
|
||||||
|
// -*- C++ -*-
|
||||||
|
//
|
||||||
|
// This file is part of the Coriolis Software.
|
||||||
|
// Copyright (c) UPMC/LIP6 2010-2010, All Rights Reserved
|
||||||
|
//
|
||||||
|
// ===================================================================
|
||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
//
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
// | |
|
||||||
|
// | C O R I O L I S |
|
||||||
|
// | Alliance / Hurricane Interface |
|
||||||
|
// | |
|
||||||
|
// | Author : Jean-Paul CHAPUT |
|
||||||
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
|
// | =============================================================== |
|
||||||
|
// | C++ Header : "./PyToolBox.h" |
|
||||||
|
// | *************************************************************** |
|
||||||
|
// | U p d a t e s |
|
||||||
|
// | |
|
||||||
|
// x-----------------------------------------------------------------x
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __PY_CRL_TOOLBOX__
|
||||||
|
#define __PY_CRL_TOOLBOX__
|
||||||
|
|
||||||
|
#include "hurricane/isobar/PyHurricane.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace CRL {
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
// Functions & Types exported to "PyCRL.ccp".
|
||||||
|
|
||||||
|
extern PyObject* PyToolBox_createPartRing ( PyObject* module, PyObject* args );
|
||||||
|
|
||||||
|
|
||||||
|
} // End of extern "C".
|
||||||
|
|
||||||
|
|
||||||
|
} // End of CRL namespace.
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __PY_CRL_TOOLBOX__
|
|
@ -10,19 +10,5 @@
|
||||||
link_directories ( ${CRLCORE_BINARY_DIR}/src/ccore )
|
link_directories ( ${CRLCORE_BINARY_DIR}/src/ccore )
|
||||||
|
|
||||||
add_executable ( cx2y ${cpps} )
|
add_executable ( cx2y ${cpps} )
|
||||||
target_link_libraries ( cx2y crlcore
|
target_link_libraries ( cx2y crlcore )
|
||||||
${HURRICANE_PYTHON_LIBRARIES}
|
|
||||||
${HURRICANE_GRAPHICAL_LIBRARIES}
|
|
||||||
${HURRICANE_LIBRARIES}
|
|
||||||
${CONFIGURATION_LIBRARY}
|
|
||||||
${AGDS_LIBRARY}
|
|
||||||
${CIF_LIBRARY}
|
|
||||||
${OA_LIBRARIES}
|
|
||||||
${QT_LIBRARIES}
|
|
||||||
${LEFDEF_LIBRARIES}
|
|
||||||
${Boost_LIBRARIES}
|
|
||||||
${LIBXML2_LIBRARIES}
|
|
||||||
${PYTHON_LIBRARIES}
|
|
||||||
-lutil
|
|
||||||
)
|
|
||||||
install ( TARGETS cx2y DESTINATION bin )
|
install ( TARGETS cx2y DESTINATION bin )
|
||||||
|
|
Loading…
Reference in New Issue