Changeset 12031


Ignore:
Timestamp:
04/17/12 17:38:18 (13 years ago)
Author:
Eric.Larour
Message:

Capability to build both bindings to matlab and python

Location:
issm/trunk-jpl
Files:
5 added
9 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/configure.ac

    r11981 r12031  
    3838                        src/c/Makefile
    3939                        src/mex/Makefile
     40                        src/mex/python/Makefile
     41                        src/mex/matlab/Makefile
    4042                        src/m/Makefile
    4143                        bin/Makefile])
  • issm/trunk-jpl/etc/environment.sh

    r11989 r12031  
    259259#PYTHON
    260260export PATH="$PYTHON_DIR/bin:$PATH"
    261 export PYTHONPATH="$PYTHONPATH:$ISSM_TIER/src/mex"
    262 export LD_LIBRARY_PATH=$ISSM_TIER/src/mex:$LD_LIBRARY_PATH
     261export PYTHONPATH="$PYTHONPATH:$ISSM_TIER/src/mex/python"
     262export LD_LIBRARY_PATH=$ISSM_TIER/src/mex/python:$LD_LIBRARY_PATH
    263263
    264264#MODELE
  • issm/trunk-jpl/m4/issm_options.m4

    r12013 r12031  
    202202                AC_SUBST([MATLABINCL])
    203203                AC_SUBST([MEX])
    204                 WRAPPEREXT=$MEXEXT
    205                 AC_SUBST([WRAPPEREXT])
     204                MATLABWRAPPEREXT=$MEXEXT
     205                AC_SUBST([MATLABWRAPPEREXT])
    206206                AC_SUBST([MEXLIB])
    207207                AC_SUBST([MEXLINK])
     
    320320                AC_SUBST([PYTHONINCL])
    321321                AC_SUBST([PYTHONLIB])
    322                 WRAPPEREXT=$PYTHONEXT
    323                 AC_SUBST([WRAPPEREXT])
     322                PYTHONWRAPPEREXT=$PYTHONEXT
     323                AC_SUBST([PYTHONWRAPPEREXT])
    324324                AC_SUBST([PYTHONLINK])
    325325        else
  • issm/trunk-jpl/src/c/issm-binding.h

    r12013 r12031  
    88#endif
    99
    10 #ifdef  _HAVE_MATLAB_
     10#ifdef  _HAVE_MATLAB_MODULES_
    1111#include "./matlab/matlab-binding.h"
    1212#endif
    1313
    14 #ifdef  _HAVE_PYTHON_
     14#ifdef  _HAVE_PYTHON_MODULES_
    1515#include "./python/python-binding.h"
    1616#endif
  • issm/trunk-jpl/src/c/matlab/include/matlab_macros.h

    r12022 r12031  
    1414/*}}}*/
    1515
     16#ifdef _HAVE_MATLAB_
    1617/* MODULEBOOT/MODULEEND {{{1*/
    1718
     
    3435//}}}
    3536/* WRAPPER {{{1*/
    36 #ifdef _HAVE_MATLAB_
    3737#define WRAPPER(modulename,...) void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
    38 #endif
    3938
    4039/*}}}*/
    4140/* CHECKARGUMENTS {{{1*/
    42 #ifdef _HAVE_MATLAB_
    4341#define CHECKARGUMENTS(NLHS,NRHS,functionpointer) CheckNumMatlabArguments(nlhs,NLHS,nrhs,NRHS,__FUNCT__,functionpointer)
     42/*}}}*/
    4443#endif
    45 /*}}}*/
    4644
    4745#endif
  • issm/trunk-jpl/src/c/matlab/matlab-binding.h

    r12013 r12031  
    44#include "./io/matlabio.h"
    55#include "./include/matlab_macros.h"
     6
    67#endif
  • issm/trunk-jpl/src/c/python/include/python_macros.h

    r12015 r12031  
    1515/*}}}*/
    1616
     17#ifdef _HAVE_PYTHON_
    1718/* MODULEBOOT/MODULEEND {{{1*/
    1819
     
    5657#define CHECKARGUMENTS(NLHS,NRHS,functionpointer) CheckNumPythonArguments(args, NRHS,functionpointer)
    5758/*}}}*/
     59#endif
    5860
    5961#endif
  • issm/trunk-jpl/src/mex/Makefile.am

    r12029 r12031  
    1 INCLUDES = @MATLABINCL@ @PETSCINCL@ @MPIINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @BOOSTINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@
    2 EXEEXT=$(WRAPPEREXT)
    3 #Bin programs {{{1
    4 if MODULES
     1SUBDIRS =
    52if MATLAB
    6 bin_PROGRAMS =  AverageFilter\
    7                                 BamgMesher\
    8                                 BamgConvertMesh\
    9                                 BamgTriangulate\
    10                                 Chaco\
    11                                 ContourToMesh \
    12                                 ContourToNodes \
    13                                 ElementConnectivity\
    14                                 EnumToString\
    15                                 Exp2Kml \
    16                                 HoleFiller \
    17                                 InternalFront\
    18                                 InterpFromGridToMesh \
    19                                 InterpFromMeshToMesh2d \
    20                                 InterpFromMeshToMesh3d \
    21                                 InterpFromMeshToGrid \
    22                                 InterpFromMesh2d \
    23                                 KMLFileRead \
    24                                 KMLMeshWrite \
    25                                 KMLOverlay \
    26                                 Kml2Exp \
    27                                 Ll2xy \
    28                                 NodeConnectivity \
    29                                 MeshPartition\
    30                                 MeshProfileIntersection\
    31                                 PointCloudFindNeighbors\
    32                                 PropagateFlagsFromConnectivity\
    33                                 Scotch\
    34                                 Shp2Kml\
    35                                 StringToEnum\
    36                                 TriaSearch\
    37                                 TriMesh\
    38                                 TriMeshRifts\
    39                                 TriMeshNoDensity\
    40                                 TriMeshProcessRifts\
    41                                 TriMeshRefine\
    42                                 Xy2ll
    43 endif
    44 if PYTHON
    45 bin_PROGRAMS = TriMesh
    46 endif
    47 endif
    48 #}}}
    49 #Flags and libraries {{{1
    50 LDADD = ../c/libISSMCore.a ../c/libISSMModules.a $(TRIANGLELIB) $(PETSCLIB) $(FLIBS) $(PLAPACKLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MPILIB) $(MATHLIB) $(FORTRANLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(SHAPELIBLIB) $(GSLLIB)
    51 
    52 #Triangle library
    53 AM_CXXFLAGS =  -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER
    54 
    55 if MATLAB
    56 AM_LDFLAGS   = $(MEXLINK)
    57 AM_CXXFLAGS +=  -D_HAVE_MATLAB_ -D_GNU_SOURCE -fPIC -fno-omit-frame-pointer -pthread
    58 LDADD       += $(MEXLIB) ../c/libISSMMatlab.a
     3SUBDIRS += matlab
    594endif
    605
    616if PYTHON
    62 AM_LDFLAGS   = $(PYTHONLINK)
    63 AM_CXXFLAGS +=  -D_HAVE_PYTHON_ -DNPY_NO_DEPRECATED_API
    64 LDADD       += $(BOOSTLIB) $(PYTHONLIB) ../c/libISSMPython.a
     7SUBDIRS += python
    658endif
    66 
    67 LDADD       += ../c/libISSMCore.a ../c/libISSMModules.a
    68 
    69 #Optimization flags:
    70 AM_CXXFLAGS += $(CXXOPTFLAGS)
    71 #}}}
    72 #Bin sources {{{1
    73 AverageFilter_SOURCES = AverageFilter/AverageFilter.cpp\
    74                           AverageFilter/AverageFilter.h
    75 
    76 BamgMesher_SOURCES = BamgMesher/BamgMesher.cpp\
    77                                         BamgMesher/BamgMesher.h
    78 
    79 BamgConvertMesh_SOURCES = BamgConvertMesh/BamgConvertMesh.cpp\
    80                                         BamgConvertMesh/BamgConvertMesh.h
    81 
    82 BamgTriangulate_SOURCES = BamgTriangulate/BamgTriangulate.cpp\
    83                                                                   BamgTriangulate/BamgTriangulate.h
    84 
    85 Chaco_SOURCES = Chaco/Chaco.cpp\
    86                                         Chaco/Chaco.h
    87 
    88 ContourToMesh_SOURCES = ContourToMesh/ContourToMesh.cpp\
    89                           ContourToMesh/ContourToMesh.h
    90 
    91 ContourToNodes_SOURCES = ContourToNodes/ContourToNodes.cpp\
    92                           ContourToNodes/ContourToNodes.h
    93 
    94 ElementConnectivity_SOURCES = ElementConnectivity/ElementConnectivity.cpp\
    95                           ElementConnectivity/ElementConnectivity.h
    96 
    97 EnumToString_SOURCES = EnumToString/EnumToString.cpp\
    98                           EnumToString/EnumToString.h
    99 
    100 StringToEnum_SOURCES = StringToEnum/StringToEnum.cpp\
    101                           StringToEnum/StringToEnum.h
    102 
    103 HoleFiller_SOURCES = HoleFiller/HoleFiller.cpp\
    104                           HoleFiller/HoleFiller.h
    105 
    106 InternalFront_SOURCES = InternalFront/InternalFront.cpp\
    107                                                                                  InternalFront/InternalFront.h
    108 
    109 InterpFromGridToMesh_SOURCES = InterpFromGridToMesh/InterpFromGridToMesh.cpp\
    110                           InterpFromGridToMesh/InterpFromGridToMesh.h
    111 
    112 InterpFromMeshToMesh2d_SOURCES = InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp\
    113                                                         InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.h
    114 
    115 InterpFromMeshToMesh3d_SOURCES = InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp\
    116                                                                         InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.h
    117 
    118 InterpFromMeshToGrid_SOURCES = InterpFromMeshToGrid/InterpFromMeshToGrid.cpp\
    119                                                                         InterpFromMeshToGrid/InterpFromMeshToGrid.h
    120 
    121 InterpFromMesh2d_SOURCES = InterpFromMesh2d/InterpFromMesh2d.cpp\
    122                                                                         InterpFromMesh2d/InterpFromMesh2d.h
    123 
    124 KMLFileRead_SOURCES = KMLFileRead/KMLFileRead.cpp\
    125                           KMLFileRead/KMLFileRead.h
    126 
    127 KMLMeshWrite_SOURCES = KMLMeshWrite/KMLMeshWrite.cpp\
    128                           KMLMeshWrite/KMLMeshWrite.h
    129 
    130 KMLOverlay_SOURCES = KMLOverlay/KMLOverlay.cpp\
    131                           KMLOverlay/KMLOverlay.h
    132 
    133 Xy2ll_SOURCES = Xy2ll/Xy2ll.cpp\
    134                           Xy2ll/Xy2ll.h
    135 
    136 Ll2xy_SOURCES = Ll2xy/Ll2xy.cpp\
    137                           Ll2xy/Ll2xy.h
    138 
    139 Exp2Kml_SOURCES = Exp2Kml/Exp2Kml.cpp\
    140                           Exp2Kml/Exp2Kml.h
    141 
    142 Kml2Exp_SOURCES = Kml2Exp/Kml2Exp.cpp\
    143                           Kml2Exp/Kml2Exp.h
    144 
    145 MeshPartition_SOURCES = MeshPartition/MeshPartition.cpp\
    146                           MeshPartition/MeshPartition.h
    147 
    148 MeshProfileIntersection_SOURCES = MeshProfileIntersection/MeshProfileIntersection.cpp\
    149                           MeshProfileIntersection/MeshProfileIntersection.h
    150 
    151 NodeConnectivity_SOURCES = NodeConnectivity/NodeConnectivity.cpp\
    152                                                                                 NodeConnectivity/NodeConnectivity.h
    153 
    154 PointCloudFindNeighbors_SOURCES = PointCloudFindNeighbors/PointCloudFindNeighbors.cpp\
    155                           PointCloudFindNeighbors/PointCloudFindNeighbors.h
    156 
    157 PropagateFlagsFromConnectivity_SOURCES = PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp\
    158                           PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.h
    159 
    160 Scotch_SOURCES = Scotch/Scotch.cpp\
    161                           Scotch/Scotch.h
    162 
    163 Shp2Kml_SOURCES = Shp2Kml/Shp2Kml.cpp\
    164                           Shp2Kml/Shp2Kml.h
    165 
    166 TriaSearch_SOURCES = TriaSearch/TriaSearch.cpp\
    167                           TriaSearch/TriaSearch.h
    168 
    169 TriMesh_SOURCES = TriMesh/TriMesh.cpp\
    170                           TriMesh/TriMesh.h
    171 
    172 TriMeshRifts_SOURCES = TriMeshRifts/TriMeshRifts.cpp\
    173                           TriMeshRifts/TriMeshRifts.h
    174 
    175 TriMeshNoDensity_SOURCES = TriMeshNoDensity/TriMeshNoDensity.cpp\
    176                           TriMeshNoDensity/TriMeshNoDensity.h
    177 
    178 TriMeshProcessRifts_SOURCES = TriMeshProcessRifts/TriMeshProcessRifts.cpp\
    179                           TriMeshProcessRifts/TriMeshProcessRifts.h
    180 
    181 TriMeshRefine_SOURCES = TriMeshRefine/TriMeshRefine.cpp\
    182                           TriMeshRefine/TriMeshRefine.h
    183 #}}}
  • issm/trunk-jpl/src/mex/TriMesh/TriMesh.h

    r12025 r12031  
    2828#include "../../c/EnumDefinitions/EnumDefinitions.h"
    2929
    30 #ifdef _HAVE_MATLAB_
     30#ifdef _HAVE_MATLAB_MODULES_
    3131/* serial input macros: */
    3232#define DOMAINOUTLINE  (mxArray *)prhs[0]
     
    4141#endif
    4242
    43 #ifdef _HAVE_PYTHON_
     43#ifdef _HAVE_PYTHON_MODULES_
    4444/* serial input macros: */
    4545#define DOMAINOUTLINE PyTuple_GetItem(args,0)
Note: See TracChangeset for help on using the changeset viewer.