Changeset 11974
- Timestamp:
- 04/12/12 21:16:16 (13 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Makefile.am
r11952 r11974 695 695 #}}} 696 696 #Matlab sources {{{1 697 matlab_sources= ./shared/Matlab/matlabshared.h\ 698 ./shared/Matlab/mxGetAssignedField.cpp\ 699 ./shared/Matlab/CheckNumMatlabArguments.cpp\ 700 ./toolkits/matlab/matlabincludes.h\ 697 matlab_sources= ./toolkits/matlab/matlabincludes.h\ 701 698 ./toolkits/matlab/MatlabNArrayToNArray.cpp\ 702 699 ./toolkits/double/MatlabVectorToDoubleVector.cpp\ … … 704 701 ./toolkits/double/MatlabMatrixToDoubleMatrix.cpp\ 705 702 ./io/Matlab/matlabio.h\ 703 ./io/Matlab/CheckNumMatlabArguments.cpp\ 704 ./io/Matlab/mxGetAssignedField.cpp\ 706 705 ./io/Matlab/WriteMatlabData.cpp\ 707 706 ./io/Matlab/FetchMatlabData.cpp\ … … 711 710 python_sources= ./io/Python/pythonio.h\ 712 711 ./io/Python/WritePythonData.cpp\ 712 ./io/Python/CheckNumPythonArguments.cpp\ 713 713 ./io/Python/FetchPythonData.cpp 714 714 #}}} … … 934 934 libISSM_a_SOURCES += $(bamg_sources) 935 935 libISSM_a_SOURCES += $(kml_sources) 936 libISSM_a_CXXFLAGS = -fPIC -D_SERIAL_ -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_ $(CXXFLAGS) $(CXXOPTFLAGS) 936 dnl libISSM_a_CXXFLAGS = -fPIC -D_SERIAL_ -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_ $(CXXFLAGS) $(CXXOPTFLAGS) 937 libISSM_a_CXXFLAGS = -D_SERIAL_ -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER $(CXXFLAGS) $(CXXOPTFLAGS) 937 938 938 939 if PYTHON … … 963 964 bin_PROGRAMS = 964 965 else 965 bin_PROGRAMS = issm 966 bin_PROGRAMS = issm issm2 966 967 endif 967 968 … … 974 975 issm_SOURCES = solutions/issm.cpp 975 976 issm_CXXFLAGS= -fPIC -D_PARALLEL_ $(CXXFLAGS) $(CXXOPTFLAGS) $(COPTFLAGS) 977 issm2_SOURCES = solutions/issm2.cpp 978 issm2_CXXFLAGS= $(issm_CXXFLAGS) 979 976 980 #}}} 977 981 #Automatic differentiation: append this fold to the end of the src/c/Makefile.am to get this Makefile.am {{{ -
issm/trunk-jpl/src/c/include/macros.h
r11943 r11974 40 40 #endif 41 41 /*}}}*/ 42 42 43 /* MODULEBOOT/MODULEEND {{{1*/ 43 44 … … 62 63 #endif //}}} 63 64 #ifdef _HAVE_PYTHON_ //{{{2 64 #define MODULEBOOT(); ModuleBoot(); \65 try{65 #define MODULEBOOT(); ModuleBoot(); \ 66 PyObject* output = PyTuple_New(NLHS); if (!output) return NULL; 66 67 67 #define MODULEEND(); ModuleEnd(); }\ 68 catch(ErrorException &exception){\ 69 exception.Report(); \ 70 return; \ 71 }\ 72 catch (exception& e) {\ 73 _printf_(true,"Standard exception: %s\n",e.what());\ 74 return;\ 75 } 68 #define MODULEEND(); ModuleEnd(); \ 69 return output; 76 70 #endif //}}} 77 71 #else … … 97 91 #endif 98 92 #ifdef _HAVE_PYTHON_ 99 #define WRAPPER(modulename,...) void modulename(__VA_ARGS__) 93 #define WRAPPER(modulename,...) \ 94 \ 95 static PyObject* modulename(PyObject* self,PyObject* args);\ 96 static PyMethodDef modulename##_funcs[] = {\ 97 {#modulename, (PyCFunction)modulename, METH_VARARGS, ""},\ 98 {NULL,NULL,0,NULL}\ 99 };\ 100 \ 101 static struct PyModuleDef modulename##module= {\ 102 PyModuleDef_HEAD_INIT,\ 103 #modulename, /* name of module */\ 104 NULL, /* module documentation, may be NULL */\ 105 -1, /* size of per-interpreter state of the module,\ 106 or -1 if the module keeps state in global variables. */\ 107 modulename##_funcs\ 108 };\ 109 \ 110 PyMODINIT_FUNC PyInit_##modulename(void){\ 111 \ 112 import_array();\ 113 return PyModule_Create(&modulename##module);\ 114 }\ 115 \ 116 static PyObject* modulename(PyObject* self,PyObject* args) 117 100 118 #endif 119 101 120 /*}}}*/ 102 121 /* CHECKARGUMENTS {{{1*/ … … 105 124 #endif 106 125 #ifdef _HAVE_PYTHON_ 107 #define CHECKARGUMENTS(NLHS,NRHS,functionpointer) 126 #define CHECKARGUMENTS(NLHS,NRHS,functionpointer) CheckNumPythonArguments(args, NRHS,functionpointer) 108 127 #endif 109 128 /*}}}*/ 110 129 130 111 131 #endif -
issm/trunk-jpl/src/c/toolkits/python/pythonincludes.h
r11939 r11974 6 6 #define _PYTHON_INCLUDES_H_ 7 7 8 9 #include "Python.h" 10 #include "arrayobject.h" 11 12 13 14 #ifdef _HAVE_BOOST_ 8 15 using namespace std; 9 16 #include <boost/python/def.hpp> 10 17 #include <boost/python.hpp> 11 #include <boost/python/def.hpp>12 #include <numpy/arrayobject.h>13 18 #include <boost/python/module.hpp> 14 15 19 using namespace boost::python; 16 20 typedef boost::python::numeric::array pyArray; 21 #endif 22 17 23 18 24 #endif
Note:
See TracChangeset
for help on using the changeset viewer.