buildSwigWrapper.sh 2.15 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/bin/bash

rm -f *.xml
rm -f OpenMM_headers*
rm -f *.cxx

SWIG_REV_FILE_OPENMM=RevisionNumber_OpenMM.txt
SWIG_REV_FILE_PYOPENMM=RevisionNumber_pyopenmm.txt

PYTHON_PACKAGE_DIR=../../simtk/chem/openmm


if [ -n "$OPENMM_SVN_PATH" ] ; then
  SVN_INFO=$(svn info $OPENMM_SVN_PATH 2>/dev/null | awk '$0~/^Revision:/{print $2}')
  if [ -n "$SVN_INFO" ] ; then
    echo  $SVN_INFO >| $SWIG_REV_FILE_OPENMM
  fi
fi

if [ -z "$OPENMM_INCLUDE_PATH" ] ; then
  OPENMM_INCLUDE_PATH=../../OpenMM/include
fi

SVN_INFO=$(svn info 2>/dev/null | awk '$0~/^Revision:/{print $2}')
if [ -n "$SVN_INFO" ] ; then
  echo  $SVN_INFO >| $SWIG_REV_FILE_PYOPENMM
fi

cd doxygen
rm -rf xml/ html/
echo "Calling doxygen >| doxygen.out 2>| doxygen.err"
doxygen >| doxygen.out 2>| doxygen.err
if [ "$?" -ne "0" ]; then
  echo "ERROR: doxygen did not run"
  echo "       See doxygen/doxygen.out and doxygen/doxygen.err!"
  echo "Exiting!"
  exit 1
fi
cd xml
echo "Calling xsltproc combine.xslt index.xml >| ../../OpenMM_headers.xml"
xsltproc combine.xslt index.xml >| ../../OpenMM_headers.xml
cd ../../


#Build ref platform only
echo "Calling swigInputBuilder.py -i OpenMM_headers.xml -c swigInputConfig.py -o OpenMM_headers.i -d OpenMM_docstring.i -a swig_lib/python/pythonprepend.i  -z swig_lib/python/pythonappend.i "
python swigInputBuilder.py -i OpenMM_headers.xml \
                           -c swigInputConfig.py \
                           -o OpenMM_headers.i \
                           -d OpenMM_docstring.i \
                           -a swig_lib/python/pythonprepend.i \
                           -z swig_lib/python/pythonappend.i \
                        >| swigInputBuilder.out 

USING_SWIG_VERSION=$(swig -version | awk '/^SWIG Version/{print $3}')
USING_SWIG_VERSION_NUM=$(echo $USING_SWIG_VERSION | awk -F. '{print 1000*(1000*$1+$2)+$3}')
if (( $USING_SWIG_VERSION_NUM < 2000000 )) ; then
   echo "ERROR: Using swig $USING_SWIG_VERSION.  Must use 2.0.0 or better"
   exit 1
fi

echo "calling swig -python -c++ -Wall -outdir $PYTHON_PACKAGE_DIR -o OpenMMSwig.cxx OpenMM.i"
swig -python -c++ -Wall \
     -outdir $PYTHON_PACKAGE_DIR \
     -o OpenMMSwig.cxx \
     OpenMM.i


echo "Done: swig -python -c++\n"