Mercurial > repos > vipints > rdiff
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 |