comparison rDiff/configure @ 0:0f80a5141704

version 0.3 uploaded
author vipints
date Thu, 14 Feb 2013 23:38:36 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:0f80a5141704
1 #/bin/bash
2 #
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
7 #
8 # Copyright (C) 2009-2013 Max Planck Society, Sloan-Kettering Institute
9 #
10
11 set -e
12 echo "To get more information please run: configure -h"
13 if [ $# != "0" ];
14 then
15 if [ "$1" == "-h" -o $# != "1" ];
16 then
17 echo Usage: $0 -h \(this help\)
18 echo Usage: $0 -i \(interactive configuration\)
19 echo Usage: $0 [-a] \(automatic configuration\)
20 exit -1
21 fi
22 fi
23
24 . ./bin/rdiff_config.sh
25
26 echo ======================================
27 echo rDiff configure \(version $RDIFF_VERSION\)
28 echo ======================================
29 echo
30
31 if [ "$1" == "-i" ];
32 then
33 echo rDiff base directory \(currently set to \"$RDIFF_PATH\", suggest to set to \"`pwd`\", used if left empty\)
34 read RDIFF_PATH
35 else
36 echo "Running automatic configuration"
37 RDIFF_PATH=""
38 fi
39 if [ "$RDIFF_PATH" == "" ];
40 then
41 RDIFF_PATH=`pwd`
42 fi
43 echo '=>' Setting rDiff base directory to \"$RDIFF_PATH\"
44 echo
45
46 if [ "$1" == "-i" ];
47 then
48 echo SAMTools directory \(currently set to \"$RDIFF_SAMTOOLS_BIN_DIR\", system version used if left empty\)
49 read RDIFF_SAMTOOLS_BIN_DIR
50 else
51 echo Checking for samtools
52 RDIFF_SAMTOOLS_BIN_DIR=""
53 fi
54 if [ "$RDIFF_SAMTOOLS_BIN_DIR" == "" ];
55 then
56 if [ "$(which samtools)" != "" ] ;
57 then
58 RDIFF_SAMTOOLS_BIN_DIR=$(which samtools)
59 if [ -f $(dirname $(which samtools))/../include/bam/sam.h ]
60 then
61 RDIFF_SAMTOOLS_INCLUDE_DIR=$(dirname $(which samtools))/../include/bam/
62 echo "Include found: $RDIFF_SAMTOOLS_INCLUDE_DIR"
63 elif [ -f $(dirname $(which samtools))/sam.h ]
64 then
65 RDIFF_SAMTOOLS_INCLUDE_DIR=$(dirname $(which samtools))/
66 echo "Include found: $RDIFF_SAMTOOLS_INCLUDE_DIR"
67 else
68 echo "ERROR: Include sam.h include not found"
69 exit -1 ;
70 fi
71 if [ -f $(dirname $(which samtools))/../lib/libbam.a ]
72 then
73 RDIFF_SAMTOOLS_LIB_DIR=$(dirname $(which samtools))/../lib/
74 echo "Library found: $RDIFF_SAMTOOLS_LIB_DIR"
75 elif [ -f $(dirname $(which samtools))/libbam.a ]
76 then
77 RDIFF_SAMTOOLS_LIB_DIR=$(dirname $(which samtools))/
78 echo "Library found: $RDIFF_SAMTOOLS_LIB_DIR"
79 else
80 echo "ERROR: Library libbam.a not found"
81 exit -1 ;
82 fi
83 else
84 echo SAMTools libraries not found
85 echo please run interactive mode: ./configure -i
86 exit -1 ;
87 fi
88 else
89 if [ ! -f $RDIFF_SAMTOOLS_BIN_DIR ];
90 then
91 echo "ERROR: Binary $RDIFF_SAMTOOLS_BIN_DIR not found"
92 echo please run interactive mode: ./configure -i
93 exit -1 ;
94 fi
95
96 echo SAMTools Include directory \(currently set to \"$RDIFF_SAMTOOLS_INCLUDE_DIR\"\)
97 read RDIFF_SAMTOOLS_INCLUDE_DIR
98 if [ ! -f $RDIFF_SAMTOOLS_INCLUDE_DIR/sam.h ]
99 then
100 echo "ERROR: Include $RDIFF_SAMTOOLS_INCLUDE_DIR/sam.h include not found"
101 echo please run interactive mode: ./configure -i
102 exit -1 ;
103 fi
104
105 echo SAMTools library directory \(currently set to \"$RDIFF_SAMTOOLS_LIB_DIR\"\)
106 read RDIFF_SAMTOOLS_LIB_DIR
107 if [ ! -f $RDIFF_SAMTOOLS_LIB_DIR/libbam.a ]
108 then
109 echo "ERROR: Library $RDIFF_SAMTOOLS_LIB_DIR/libbam.a include not found"
110 echo please run interactive mode: ./configure -i
111 exit -1 ;
112 fi
113 fi
114 echo '=>' Setting samtools directory to \"$RDIFF_SAMTOOLS_BIN_DIR\"
115 echo
116
117 if [ "$1" == "-i" ];
118 then
119 echo Path to the python binary \(currently set to \"$RDIFF_PYTHON_PATH\", system version used, if left empty\)
120 read RDIFF_PYTHON_PATH
121 else
122 echo Checking for python and Scipy
123 RDIFF_PYTHON_PATH=""
124 fi
125 if [ "$RDIFF_PYTHON_PATH" == "" ];
126 then
127 python_found=
128 scipy_found=
129 for i in python python2.7 python2.6 python2.5 python2.4;
130 do
131 RDIFF_PYTHON_PATH=`which $i`
132 python_found=$i
133 if [ "$RDIFF_PYTHON_PATH" != "" ];
134 then
135 scipy=`echo import scipy | $RDIFF_PYTHON_PATH 2>&1 | grep -e ImportError|wc -l`
136 if [ $scipy == "0" ];
137 then
138 scipy_found=$RDIFF_PYTHON_PATH
139 break
140 fi
141 fi
142 done
143 if [ "$python_found" == "" ];
144 then
145 echo "ERROR: Python not found"
146 echo please run interactive mode: ./configure -i
147 exit -1
148 fi
149 if [ "$scipy_found" == "" ];
150 then
151 echo "ERROR: Scipy not found (for $python_found)"
152 echo please run interactive mode: ./configure -i
153 exit -1
154 fi
155 fi
156 echo '=>' Setting Python path to \"$RDIFF_PYTHON_PATH\"
157 echo
158
159 RDIFF_INTERPRETER="octave"
160 if [ "$RDIFF_INTERPRETER" == 'octave' ];
161 then
162 if [ "$1" == "-i" ];
163 then
164 echo Please enter the full path to octave \(currently set to \"$RDIFF_OCTAVE_BIN_PATH\", system version used, if left empty\)
165 read RDIFF_OCTAVE_BIN_PATH
166 else
167 RDIFF_OCTAVE_BIN_PATH=""
168 echo checking for octave
169 fi
170 if [ "$RDIFF_OCTAVE_BIN_PATH" == "" ];
171 then
172 RDIFF_OCTAVE_BIN_PATH=`which octave`
173 if [ "$RDIFF_OCTAVE_BIN_PATH" == "" ];
174 then
175 echo octave not found
176 echo please run interactive mode: ./configure -i
177 exit -1
178 fi
179 fi
180 echo '=>' Setting octave\'s path to \"$RDIFF_OCTAVE_BIN_PATH\"
181 if [ "$1" == "-i" ];
182 then
183 echo Please enter the full path to mkoctfile \(currently set to \"$RDIFF_OCTAVE_MKOCT\", system version used, if left empty\)
184 read RDIFF_OCTAVE_MKOCT
185 else
186 RDIFF_OCTAVE_MKOCT=""
187 fi
188 if [ "$RDIFF_OCTAVE_MKOCT" == "" ];
189 then
190 RDIFF_OCTAVE_MKOCT=`which mkoctfile`
191 if [ "$RDIFF_OCTAVE_MKOCT" == "" ];
192 then
193 RDIFF_OCTAVE_MKOCT=$(dirname $RDIFF_OCTAVE_BIN_PATH)/mkoctfile
194 if [ ! -f RDIFF_OCTAVE_MKOCT ];
195 then
196 echo mkoctfile not found
197 echo please run interactive mode: ./configure -i
198 exit -1
199 fi
200 fi
201 fi
202 echo '=>' Setting octave\'s path to \"$RDIFF_OCTAVE_MKOCT\"
203 echo
204 fi
205
206 if [ "$RDIFF_INTERPRETER" == 'matlab' ];
207 then
208 echo Please enter the full path to matlab \(currently set to \"$MATLAB_BIN_PATH\", system version used, if left empty\)
209 read MATLAB_BIN_PATH
210 if [ "$MATLAB_BIN_PATH" == "" ];
211 then
212 MATLAB_BIN_PATH=`which matlab`
213 if [ "$MATLAB_BIN_PATH" == "" ];
214 then
215 echo matlab not found
216 echo please run interactive mode: ./configure -i
217 exit -1
218 fi
219 fi
220 if [ ! -f $MATLAB_BIN_PATH ];
221 then
222 echo matlab not found
223 echo please run interactive mode: ./configure -i
224 exit -1
225 fi
226 echo '=>' Setting matlab\'s path to \"$MATLAB_BIN_PATH\"
227 echo
228
229 echo Please enter the full path to mex binary \(currently set to \"$MATLAB_MEX_PATH\", system version used if left empty\)
230 read MATLAB_MEX_PATH
231 if [ "$MATLAB_MEX_PATH" == "" ];
232 then
233 MATLAB_MEX_PATH=`which mex`
234 if [ "$MATLAB_MEX_PATH" == "" ];
235 then
236 echo mex not found
237 echo please run interactive mode: ./configure -i
238 exit -1
239 fi
240 fi
241 if [ ! -f "$MATLAB_MEX_PATH" ];
242 then
243 echo mex not found
244 echo please run interactive mode: ./configure -i
245 exit -1
246 fi
247 echo '=>' Setting mex\' path to \"$MATLAB_MEX_PATH\"
248 echo
249
250 echo Please enter the full path to the matlab include directory \(currently set to \"$MATLAB_INCLUDE_DIR\", system version used, if left empty\)
251 read MATLAB_INCLUDE_DIR
252 if [ "$MATLAB_INCLUDE_DIR" == "" ];
253 then
254 MATLAB_INCLUDE_DIR=$(dirname $MATLAB_BIN_PATH)/../extern/include
255 fi
256 if [ ! -d "$MATLAB_INCLUDE_DIR" ];
257 then
258 echo matlab include dir not found
259 echo please run interactive mode: ./configure -i
260 exit -1
261 fi
262 echo '=>' Setting matlab\'s include directory to \"$MATLAB_INCLUDE_DIR\"
263 echo
264
265 RDIFF_OCTAVE_BIN_PATH=
266 fi
267
268 cp -p bin/rdiff_config.sh bin/rdiff_config.sh.bak
269
270 grep -v -e RDIFF_OCTAVE_BIN_PATH -e RDIFF_OCTAVE_MKOCT -e MATLAB_BIN_PATH -e MATLAB_MEX_PATH -e MATLAB_INCLUDE_DIR \
271 -e RDIFF_PATH -e RDIFF_SRC_PATH -e RDIFF_BIN_PATH \
272 -e RDIFF_INTERPRETER bin/rdiff_config.sh.bak \
273 -e RDIFF_SAMTOOLS_BIN_DIR -e RDIFF_SAMTOOLS_LIB_DIR -e RDIFF_SAMTOOLS_INCLUDE_DIR -e RDIFF_PYTHON_PATH -e SCIPY_PATH -e $RDIFF_VERSION > bin/rdiff_config.sh
274
275 echo Generating config file ...
276
277 # appending the relevant lines to rdiff_config.sh
278 echo export RDIFF_VERSION=$RDIFF_VERSION >> bin/rdiff_config.sh
279 echo export RDIFF_PATH=$RDIFF_PATH >> bin/rdiff_config.sh
280 echo export RDIFF_SRC_PATH=${RDIFF_PATH}/src >> bin/rdiff_config.sh
281 echo export RDIFF_BIN_PATH=${RDIFF_PATH}/bin >> bin/rdiff_config.sh
282 echo export RDIFF_INTERPRETER=$RDIFF_INTERPRETER >> bin/rdiff_config.sh
283 echo export RDIFF_MATLAB_BIN_PATH=$MATLAB_BIN_PATH >> bin/rdiff_config.sh
284 echo export RDIFF_MATLAB_MEX_PATH=$MATLAB_MEX_PATH >> bin/rdiff_config.sh
285 echo export RDIFF_MATLAB_INCLUDE_DIR=$MATLAB_INCLUDE_DIR >> bin/rdiff_config.sh
286 echo export RDIFF_OCTAVE_BIN_PATH=$RDIFF_OCTAVE_BIN_PATH >> bin/rdiff_config.sh
287 echo export RDIFF_OCTAVE_MKOCT=$RDIFF_OCTAVE_MKOCT >> bin/rdiff_config.sh
288 echo export RDIFF_SAMTOOLS_BIN_DIR=$RDIFF_SAMTOOLS_BIN_DIR >> bin/rdiff_config.sh
289 echo export RDIFF_SAMTOOLS_LIB_DIR=$RDIFF_SAMTOOLS_LIB_DIR >> bin/rdiff_config.sh
290 echo export RDIFF_SAMTOOLS_INCLUDE_DIR=$RDIFF_SAMTOOLS_INCLUDE_DIR >> bin/rdiff_config.sh
291 echo export RDIFF_PYTHON_PATH=$RDIFF_PYTHON_PATH >> bin/rdiff_config.sh
292
293 echo Done.
294 echo
295
296 echo Please use \'make\' to compile the mex files before using rDiff.
297 echo To test rDiff use \'make example\' or \'make threeexamples\'.
298 echo