62 # |
63 # |
63 # parse arguments |
64 # parse arguments |
64 # |
65 # |
65 for ARG in $@ |
66 for ARG in $@ |
66 do |
67 do |
67 if [[ $ARG == --prefix=* ]]; then |
68 case "$ARG" in |
68 PREFIX=${ARG:9} |
69 "--prefix="*) PREFIX=${ARG#--prefix=} ;; |
69 elif [[ $ARG = --exec-prefix=* ]]; then |
70 "--exec-prefix="*) EPREFIX=${ARG#--exec-prefix=} ;; |
70 EPREFIX=${ARG:14} |
71 "--bindir="*) BINDIR=${ARG#----bindir=} ;; |
71 elif [[ $ARG = --bindir=* ]]; then |
72 "--sbindir="*) SBINDIR=${ARG#--sbindir=} ;; |
72 BINDIR=${ARG:9} |
73 "--libdir="*) LIBDIR=${ARG#--libdir=} ;; |
73 elif [[ $ARG = --sbindir=* ]]; then |
74 "--libexecdir="*) LIBEXECDIR=${ARG#--libexecdir=} ;; |
74 SBINDIR=${ARG:10} |
75 "--datadir="*) DATADIR=${ARG#--datadir=} ;; |
75 elif [[ $ARG = --libdir=* ]]; then |
76 "--sysconfdir="*) SYSCONFDIR=${ARG#--sysconfdir=} ;; |
76 LIBDIR=${ARG:9} |
77 "--sharedstatedir="*) SHAREDSTATEDIR=${ARG#--sharedstatedir=} ;; |
77 elif [[ $ARG = --libexecdir=* ]]; then |
78 "--localstatedir="*) LOCALSTATEDIR=${ARG#--localstatedir=} ;; |
78 LIBEXECDIR=${ARG:13} |
79 "--includedir="*) INCLUDEDIR=${ARG#--includedir=} ;; |
79 elif [[ $ARG = --datadir=* ]]; then |
80 "--infodir="*) INFODIR=${ARG#--infodir=} ;; |
80 DATADIR=${ARG:10} |
81 "--mandir"*) MANDIR=${ARG#--mandir} ;; |
81 elif [[ $ARG = --sysconfdir=* ]]; then |
82 "--help"*) printhelp; exit 1 ;; |
82 SYSCONFDIR=${ARG:13} |
83 "--toolkit="*) OPT_TOOLKIT={ARG#toolkit=} ;; |
83 elif [[ $ARG = --sharedstatedir=* ]]; then |
84 "-"*) echo "unknown option: $ARG"; exit 1 ;; |
84 SHAREDSTATEDIR=${ARG:17} |
85 esac |
85 elif [[ $ARG = --localstatedir=* ]]; then |
|
86 LOCALSTATEDIR=${ARG:16} |
|
87 elif [[ $ARG = --includedir=* ]]; then |
|
88 INCLUDEDIR=${ARG:12} |
|
89 elif [[ $ARG = --infodir=* ]]; then |
|
90 INFODIR=${ARG:10} |
|
91 elif [[ $ARG = --mandir=* ]]; then |
|
92 MANDIR=${ARG:9} |
|
93 elif [ $ARG = "--help" ]; then |
|
94 printhelp |
|
95 exit 0 |
|
96 elif [[ $ARG == --toolkit=* ]]; then |
|
97 OPT_TOOLKIT=${ARG:10} |
|
98 fi |
|
99 done |
86 done |
100 |
87 |
101 # set dir variables |
88 # set dir variables |
102 if [ -z $BINDIR ]; then |
89 if [ -z "$BINDIR" ]; then |
103 BINDIR=$EPREFIX/bin |
90 BINDIR=$EPREFIX/bin |
104 fi |
91 fi |
105 if [ -z $SBINDIR ]; then |
92 if [ -z "$SBINDIR" ]; then |
106 SBINDIR=$EPREFIX/sbin |
93 SBINDIR=$EPREFIX/sbin |
107 fi |
94 fi |
108 if [ -z $LIBDIR ]; then |
95 if [ -z "$LIBDIR" ]; then |
109 LIBDIRDIR=$EPREFIX/lib |
96 LIBDIR=$EPREFIX/lib |
110 fi |
97 fi |
111 if [ -z $LIBEXEC ]; then |
98 if [ -z "$LIBEXEC" ]; then |
112 LIBExECDIR=$EPREFIX/libexec |
99 LIBEXECDIR=$EPREFIX/libexec |
113 fi |
100 fi |
114 if [ -z $DATADIR ]; then |
101 if [ -z "$DATADIR" ]; then |
115 DATADIR=$PREFIX/share |
102 DATADIR=$PREFIX/share |
116 fi |
103 fi |
117 if [ -z $SYSCONFDIR]; then |
104 if [ -z "$SYSCONFDIR" ]; then |
118 SYSCONFDIR=$PREFIX/etc |
105 SYSCONFDIR=$PREFIX/etc |
119 fi |
106 fi |
120 if [ -z $SHAREDSTATEDIR ]; then |
107 if [ -z "$SHAREDSTATEDIR" ]; then |
121 SHAREDSTATEDIR=$PREFIX/com |
108 SHAREDSTATEDIR=$PREFIX/com |
122 fi |
109 fi |
123 if [ -z $LOCALSTATEDIR ]; then |
110 if [ -z "$LOCALSTATEDIR" ]; then |
124 LOCALSTATEDIR=$PREFIX/var |
111 LOCALSTATEDIR=$PREFIX/var |
125 fi |
112 fi |
126 if [ -z $INCLUDEDIR ]; then |
113 if [ -z "$INCLUDEDIR" ]; then |
127 INCLUDEDIR=$PREFIX/include |
114 INCLUDEDIR=$PREFIX/include |
128 fi |
115 fi |
129 if [ -z $INFODIR ]; then |
116 if [ -z "$INFODIR" ]; then |
130 INFODIR=$PREFIX/info |
117 INFODIR=$PREFIX/info |
131 fi |
118 fi |
132 if [ -z $MANDIR ]; then |
119 if [ -z "$MANDIR" ]; then |
133 MANDIR=$PREFIX/man |
120 MANDIR=$PREFIX/man |
134 fi |
121 fi |
135 |
122 |
136 which pkg-config > /dev/null |
123 which pkg-config > /dev/null |
137 if [ $? -ne 0 ]; then |
124 if [ $? -eq 0 ]; then |
138 PKG_CONFIG=pkg-config |
125 PKG_CONFIG=pkg-config |
139 else |
126 else |
140 PKG_CONFIG=false |
127 PKG_CONFIG=false |
141 fi |
128 fi |
142 |
129 |
179 return 0 |
166 return 0 |
180 fi |
167 fi |
181 done |
168 done |
182 return 1 |
169 return 1 |
183 } |
170 } |
|
171 isnotplatform() |
|
172 { |
|
173 for p in $PLATFORM |
|
174 do |
|
175 if [ $p = $1 ]; then |
|
176 return 1 |
|
177 fi |
|
178 done |
|
179 return 0 |
|
180 } |
184 |
181 |
185 # generate config.mk and config.h |
182 # generate config.mk and config.h |
186 cat > $TEMP_DIR/config.mk << __EOF__ |
183 cat > $TEMP_DIR/config.mk << __EOF__ |
187 # |
184 # |
188 # config.mk generated by configure |
185 # config.mk generated by configure |
189 # |
186 # |
|
187 |
|
188 # general vars |
|
189 |
|
190 PREFIX=$PREFIX |
|
191 EPREFIX=$EPREFIX |
|
192 |
|
193 BINDIR=$BINDIR |
|
194 SBINDIR=$SBINDIR |
|
195 LIBDIR=$LIBDIR |
|
196 LIBEXECDIR=$LIBEXECDIR |
|
197 DATADIR=$DATADIR |
|
198 SYSCONFDIR=$SYSCONFDIR |
|
199 SHAREDSTATEDIR=$SHAREDSTATEDIR |
|
200 LOCALSTATEDIR=$LOCALSTATEDIR |
|
201 INCLUDEDIR=$INCLUDEDIR |
|
202 INFODIR=$INFODIR |
|
203 MANDIR=$MANDIR |
|
204 |
190 __EOF__ |
205 __EOF__ |
191 |
206 |
192 echo > $TEMP_DIR/make.mk |
207 echo > $TEMP_DIR/make.mk |
193 |
208 |
194 ENV_CFLAGS=$CFLAGS |
209 ENV_CFLAGS=$CFLAGS |
195 ENV_LDFLAGS=$LDFLAGS |
210 ENV_LDFLAGS=$LDFLAGS |
196 ENV_CXXFLAGS=$CXXFLAGS |
211 ENV_CXXFLAGS=$CXXFLAGS |
197 |
212 |
198 # Toolchain detection |
213 # Toolchain detection |
199 # this will insert make vars to config.mk |
214 # this will insert make vars to config.mk |
200 source make/toolchain.sh |
215 . make/toolchain.sh |
201 |
216 |
202 # add user specified flags to config.mk |
217 # add user specified flags to config.mk |
203 echo >> $TEMP_DIR/config.mk |
218 echo >> $TEMP_DIR/config.mk |
204 if [[ ! -z ${ENV_CFLAGS} ]]; then |
219 if [ ! -z "${ENV_CFLAGS}" ]; then |
205 echo "CFLAGS += $ENV_CFLAGS" >> $TEMP_DIR/config.mk |
220 echo "CFLAGS += $ENV_CFLAGS" >> $TEMP_DIR/config.mk |
206 fi |
221 fi |
207 if [[ ! -z ${ENV_CXXFLAGS} ]]; then |
222 if [ ! -z "${ENV_CXXFLAGS}" ]; then |
208 echo "CXXFLAGS += $ENV_CXXFLAGS" >> $TEMP_DIR/config.mk |
223 echo "CXXFLAGS += $ENV_CXXFLAGS" >> $TEMP_DIR/config.mk |
209 fi |
224 fi |
210 if [[ ! -z ${ENV_LDFLAGS} ]]; then |
225 if [ ! -z "${ENV_LDFLAGS}" ]; then |
211 echo "LDFLAGS += $ENV_LDFLAGS" >> $TEMP_DIR/config.mk |
226 echo "LDFLAGS += $ENV_LDFLAGS" >> $TEMP_DIR/config.mk |
212 fi |
227 fi |
213 |
228 |
214 # |
229 # |
215 # DEPENDENCIES |
230 # DEPENDENCIES |
221 # dependency qt4 |
236 # dependency qt4 |
222 while true |
237 while true |
223 do |
238 do |
224 qmake-qt4 -o - /dev/null | grep DEFINES\ > /dev/null |
239 qmake-qt4 -o - /dev/null | grep DEFINES\ > /dev/null |
225 if [ $? -eq 0 ]; then |
240 if [ $? -eq 0 ]; then |
226 CFLAGS+=" `qmake-qt4 -o - /dev/null | grep DEFINES\ `" |
241 CFLAGS="$CFLAGS `qmake-qt4 -o - /dev/null | grep DEFINES\ `" |
227 else |
242 else |
228 break |
243 break |
229 fi |
244 fi |
230 qmake-qt4 -o - /dev/null | grep INCPATH\ > /dev/null |
245 qmake-qt4 -o - /dev/null | grep INCPATH\ > /dev/null |
231 if [ $? -eq 0 ]; then |
246 if [ $? -eq 0 ]; then |
232 CFLAGS+=" `qmake-qt4 -o - /dev/null | grep INCPATH\ `" |
247 CFLAGS="$CFLAGS `qmake-qt4 -o - /dev/null | grep INCPATH\ `" |
233 else |
248 else |
234 break |
249 break |
235 fi |
250 fi |
236 > /dev/null |
251 > /dev/null |
237 if [ $? -eq 0 ]; then |
252 if [ $? -eq 0 ]; then |
238 LDFLAGS+=" ``" |
253 LDFLAGS="$LDFLAGS ``" |
239 else |
254 else |
240 break |
255 break |
241 fi |
256 fi |
242 which qmake-qt4 > /dev/null |
257 which qmake-qt4 > /dev/null |
243 if [ $? -ne 0 ]; then |
258 if [ $? -ne 0 ]; then |
244 break |
259 break |
245 fi |
260 fi |
246 echo yes |
261 echo yes |
247 return 0 |
262 return 0 |
248 done |
263 done |
249 |
264 |
250 echo no |
265 echo no |
251 return 1 |
266 return 1 |
279 # dependency qt5 |
295 # dependency qt5 |
280 while true |
296 while true |
281 do |
297 do |
282 qmake-qt5 -o - /dev/null | grep DEFINES\ > /dev/null |
298 qmake-qt5 -o - /dev/null | grep DEFINES\ > /dev/null |
283 if [ $? -eq 0 ]; then |
299 if [ $? -eq 0 ]; then |
284 CFLAGS+=" `qmake-qt5 -o - /dev/null | grep DEFINES\ `" |
300 CFLAGS="$CFLAGS `qmake-qt5 -o - /dev/null | grep DEFINES\ `" |
285 else |
301 else |
286 break |
302 break |
287 fi |
303 fi |
288 qmake-qt5 -o - /dev/null | grep INCPATH\ > /dev/null |
304 qmake-qt5 -o - /dev/null | grep INCPATH\ > /dev/null |
289 if [ $? -eq 0 ]; then |
305 if [ $? -eq 0 ]; then |
290 CFLAGS+=" `qmake-qt5 -o - /dev/null | grep INCPATH\ `" |
306 CFLAGS="$CFLAGS `qmake-qt5 -o - /dev/null | grep INCPATH\ `" |
291 else |
307 else |
292 break |
308 break |
293 fi |
309 fi |
294 > /dev/null |
310 > /dev/null |
295 if [ $? -eq 0 ]; then |
311 if [ $? -eq 0 ]; then |
296 LDFLAGS+=" ``" |
312 LDFLAGS="$LDFLAGS ``" |
297 else |
313 else |
298 break |
314 break |
299 fi |
315 fi |
300 which qmake-qt5 > /dev/null |
316 which qmake-qt5 > /dev/null |
301 if [ $? -ne 0 ]; then |
317 if [ $? -ne 0 ]; then |
302 break |
318 break |
303 fi |
319 fi |
304 echo yes |
320 echo yes |
305 return 0 |
321 return 0 |
306 done |
322 done |
307 |
323 |
308 echo no |
324 echo no |
309 return 1 |
325 return 1 |
312 { |
328 { |
313 printf "checking for gtk2... " |
329 printf "checking for gtk2... " |
314 # dependency gtk2 |
330 # dependency gtk2 |
315 while true |
331 while true |
316 do |
332 do |
317 if [ -z "PKG_CONFIG" ]; then |
333 if [ -z "$PKG_CONFIG" ]; then |
318 break |
334 break |
319 fi |
335 fi |
320 if ! pkg-config gtk+-2.0 ; then |
336 $PKG_CONFIG gtk+-2.0 |
321 break |
337 if [ $? -ne 0 ] ; then |
322 fi |
338 break |
323 CFLAGS+=" `pkg-config --cflags gtk+-2.0`" |
339 fi |
324 LDFLAGS+=" `pkg-config --libs gtk+-2.0`" |
340 CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gtk+-2.0`" |
325 CFLAGS+="-DUI_GTK2" |
341 LDFLAGS="$LDFLAGS `$PKG_CONFIG --libs gtk+-2.0`" |
326 LDFLAGS+="-lpthread" |
342 CFLAGS="$CFLAGS -DUI_GTK2" |
|
343 LDFLAGS="$LDFLAGS -lpthread" |
327 pkg-config --atleast-version=2.20 gtk+-2.0 > /dev/null |
344 pkg-config --atleast-version=2.20 gtk+-2.0 > /dev/null |
328 if [ $? -ne 0 ]; then |
345 if [ $? -ne 0 ]; then |
329 break |
346 break |
330 fi |
347 fi |
331 echo yes |
348 echo yes |
332 return 0 |
349 return 0 |
333 done |
350 done |
334 |
351 |
335 echo no |
352 echo no |
336 return 1 |
353 return 1 |
394 { |
412 { |
395 printf "checking for cocoa... " |
413 printf "checking for cocoa... " |
396 # dependency cocoa platform="macos" |
414 # dependency cocoa platform="macos" |
397 while true |
415 while true |
398 do |
416 do |
399 if ! isplatform "macos"; then |
417 if isnotplatform "macos"; then |
400 break |
418 break |
401 fi |
419 fi |
402 CFLAGS+="-DUI_COCOA" |
420 CFLAGS="$CFLAGS -DUI_COCOA" |
403 LDFLAGS+="-lobjc -framework Cocoa" |
421 LDFLAGS="$LDFLAGS -lobjc -framework Cocoa" |
404 echo yes |
422 echo yes |
405 return 0 |
423 return 0 |
406 done |
424 done |
407 |
425 |
408 echo no |
426 echo no |
409 return 1 |
427 return 1 |
410 } |
428 } |
411 |
429 |
412 DEPENDENCIES_FAILED= |
430 DEPENDENCIES_FAILED= |
413 ERROR=0 |
431 ERROR=0 |
|
432 # general dependencies |
|
433 CFLAGS= |
|
434 LDFLAGS= |
|
435 while true |
|
436 do |
|
437 if isnotplatform "macos"; then |
|
438 break |
|
439 fi |
|
440 while true |
|
441 do |
|
442 |
|
443 cat >> $TEMP_DIR/make.mk << __EOF__ |
|
444 OBJ_EXT = o |
|
445 LIB_EXT = a |
|
446 PACKAGE_SCRIPT = package_osx.sh |
|
447 |
|
448 __EOF__ |
|
449 |
|
450 break |
|
451 done |
|
452 |
|
453 break |
|
454 done |
|
455 while true |
|
456 do |
|
457 if isnotplatform "unix"; then |
|
458 break |
|
459 fi |
|
460 if isplatform "macos"; then |
|
461 break |
|
462 fi |
|
463 while true |
|
464 do |
|
465 |
|
466 cat >> $TEMP_DIR/make.mk << __EOF__ |
|
467 OBJ_EXT = o |
|
468 LIB_EXT = a |
|
469 PACKAGE_SCRIPT = package_unix.sh |
|
470 |
|
471 __EOF__ |
|
472 |
|
473 break |
|
474 done |
|
475 |
|
476 break |
|
477 done |
|
478 |
|
479 # add general dependency flags to config.mk |
|
480 echo >> $TEMP_DIR/config.mk |
|
481 if [ ! -z "${CFLAGS}" ]; then |
|
482 echo "CFLAGS += $CFLAGS" >> $TEMP_DIR/config.mk |
|
483 fi |
|
484 if [ ! -z "${CXXFLAGS}" ]; then |
|
485 echo "CXXFLAGS += $CXXFLAGS" >> $TEMP_DIR/config.mk |
|
486 fi |
|
487 if [ ! -z "${LDFLAGS}" ]; then |
|
488 echo "LDFLAGS += $LDFLAGS" >> $TEMP_DIR/config.mk |
|
489 fi |
414 |
490 |
415 # |
491 # |
416 # OPTION VALUES |
492 # OPTION VALUES |
417 # |
493 # |
418 checkopt_toolkit_gtk3() |
494 checkopt_toolkit_gtk3() |
631 fi |
709 fi |
632 fi |
710 fi |
633 fi |
711 fi |
634 |
712 |
635 echo >> $TEMP_DIR/config.mk |
713 echo >> $TEMP_DIR/config.mk |
636 if [[ ! -z ${CFLAGS} ]]; then |
714 if [ ! -z "${CFLAGS}" ]; then |
637 echo "TK_CFLAGS += $CFLAGS" >> $TEMP_DIR/config.mk |
715 echo "TK_CFLAGS += $CFLAGS" >> $TEMP_DIR/config.mk |
638 fi |
716 fi |
639 if [[ ! -z ${CXXFLAGS} ]]; then |
717 if [ ! -z "${CXXFLAGS}" ]; then |
640 echo "TK_CXXFLAGS += $CXXFLAGS" >> $TEMP_DIR/config.mk |
718 echo "TK_CXXFLAGS += $CXXFLAGS" >> $TEMP_DIR/config.mk |
641 fi |
719 fi |
642 if [[ ! -z ${LDFLAGS} ]]; then |
720 if [ ! -z "${LDFLAGS}" ]; then |
643 echo "TK_LDFLAGS += $LDFLAGS" >> $TEMP_DIR/config.mk |
721 echo "TK_LDFLAGS += $LDFLAGS" >> $TEMP_DIR/config.mk |
644 fi |
722 fi |
645 |
723 |
646 if [ $ERROR -ne 0 ]; then |
724 if [ $ERROR -ne 0 ]; then |
647 echo |
725 echo |
648 echo "Error: Unresolved dependencies" |
726 echo "Error: Unresolved dependencies" |
649 echo $DEPENCIES_FAILED |
727 echo $DEPENDENCIES_FAILED |
650 rm -Rf $TEMP_DIR |
728 rm -Rf $TEMP_DIR |
651 exit 1 |
729 exit 1 |
652 fi |
730 fi |
653 |
731 |
654 echo "configure finished" |
732 echo "configure finished" |