test/configure

changeset 66
dc758dcd4645
parent 63
ac47c2fb2c4a
child 67
e43d30273f74
equal deleted inserted replaced
65:6db50c6df6e3 66:dc758dcd4645
27 INCLUDEDIR= 27 INCLUDEDIR=
28 INFODIR= 28 INFODIR=
29 MANDIR= 29 MANDIR=
30 30
31 # custom variables 31 # custom variables
32 HOST=`uname -n`
33 PREFIX=`pwd`/work
34 INSTALL_DIR=$PREFIX
35 32
36 # features 33 # features
37 FEATURE_PG=auto 34 FEATURE_DB=auto
38 35
39 # clean abort 36 # clean abort
40 abort_configure() 37 abort_configure()
41 { 38 {
42 rm -Rf "$TEMP_DIR" 39 rm -Rf "$TEMP_DIR"
65 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] 62 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
66 --datadir=DIR read-only architecture-independent data [DATAROOTDIR] 63 --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
67 --infodir=DIR info documentation [DATAROOTDIR/info] 64 --infodir=DIR info documentation [DATAROOTDIR/info]
68 --mandir=DIR man documentation [DATAROOTDIR/man] 65 --mandir=DIR man documentation [DATAROOTDIR/man]
69 66
67 Options:
68 --debug add extra compile flags for debug builds
69 --release add extra compile flags for release builds
70 --toolkit=(gtk3|cli|gtk2|wpf)
71
70 Optional Features: 72 Optional Features:
71 --disable-pg 73 --disable-db
74 --enable-gui
72 75
73 __EOF__ 76 __EOF__
74 } 77 }
75 78
76 # 79 #
94 "--infodir="*) INFODIR=${ARG#--infodir=} ;; 97 "--infodir="*) INFODIR=${ARG#--infodir=} ;;
95 "--mandir"*) MANDIR=${ARG#--mandir} ;; 98 "--mandir"*) MANDIR=${ARG#--mandir} ;;
96 "--help"*) printhelp; abort_configure ;; 99 "--help"*) printhelp; abort_configure ;;
97 "--debug") BUILD_TYPE="debug" ;; 100 "--debug") BUILD_TYPE="debug" ;;
98 "--release") BUILD_TYPE="release" ;; 101 "--release") BUILD_TYPE="release" ;;
99 "--enable-pg") FEATURE_PG=on ;; 102 "--toolkit="*) OPT_TOOLKIT=${ARG#--toolkit=} ;;
100 "--disable-pg") unset FEATURE_PG ;; 103 "--enable-db") FEATURE_DB=on ;;
104 "--disable-db") unset FEATURE_DB ;;
105 "--enable-gui") FEATURE_GUI=on ;;
106 "--disable-gui") unset FEATURE_GUI ;;
101 "-"*) echo "unknown option: $ARG"; abort_configure ;; 107 "-"*) echo "unknown option: $ARG"; abort_configure ;;
102 esac 108 esac
103 done 109 done
104 110
105 111
165 done 171 done
166 return 0 172 return 0
167 } 173 }
168 174
169 175
170 # generate config.mk 176 # generate vars.mk
171 cat > "$TEMP_DIR/vars.mk" << __EOF__ 177 cat > "$TEMP_DIR/vars.mk" << __EOF__
172 PREFIX=$PREFIX 178 PREFIX=$PREFIX
173 EPREFIX=$EPREFIX 179 EPREFIX=$EPREFIX
174 BINDIR=$BINDIR 180 BINDIR=$BINDIR
175 SBINDIR=$SBINDIR 181 SBINDIR=$SBINDIR
180 SHAREDSTATEDIR=$SHAREDSTATEDIR 186 SHAREDSTATEDIR=$SHAREDSTATEDIR
181 LOCALSTATEDIR=$LOCALSTATEDIR 187 LOCALSTATEDIR=$LOCALSTATEDIR
182 INCLUDEDIR=$INCLUDEDIR 188 INCLUDEDIR=$INCLUDEDIR
183 INFODIR=$INFODIR 189 INFODIR=$INFODIR
184 MANDIR=$MANDIR 190 MANDIR=$MANDIR
185 HOST=$HOST
186 PREFIX=$PREFIX
187 INSTALL_DIR=$INSTALL_DIR
188 __EOF__ 191 __EOF__
189 cat > "$TEMP_DIR/config.mk" << __EOF__ 192 sort -u -o "$TEMP_DIR/vars.mk" "$TEMP_DIR/vars.mk"
190 # 193
191 # config.mk generated by configure 194
192 # 195 # toolchain detection utilities
193 __EOF__
194 sort -u "$TEMP_DIR/vars.mk" >> "$TEMP_DIR/config.mk"
195
196
197 # toolchain detection
198 # this will insert make vars to config.mk
199 . make/toolchain.sh 196 . make/toolchain.sh
200 if [ -n "$TOOLCHAIN_ERROR" ]; then
201 echo "Toolchain error: $TOOLCHAIN_ERROR"
202 echo "Abort."
203 abort_configure
204 fi
205 197
206 # 198 #
207 # DEPENDENCIES 199 # DEPENDENCIES
208 # 200 #
209 201
212 204
213 test_pkg_config() 205 test_pkg_config()
214 { 206 {
215 if "$PKG_CONFIG" --exists "$1" ; then : 207 if "$PKG_CONFIG" --exists "$1" ; then :
216 else return 1 ; fi 208 else return 1 ; fi
217 if [ -n "$2" ] && "$PKG_CONFIG" --atleast-version="$2" "$1" ; then : 209 if [ -z "$2" ] || "$PKG_CONFIG" --atleast-version="$2" "$1" ; then :
218 else return 1 ; fi 210 else return 1 ; fi
219 if [ -n "$3" ] && "$PKG_CONFIG" --exact-version="$3" "$1" ; then : 211 if [ -z "$3" ] || "$PKG_CONFIG" --exact-version="$3" "$1" ; then :
220 else return 1 ; fi 212 else return 1 ; fi
221 if [ -n "$4" ] && "$PKG_CONFIG" --max-version="$4" "$1" ; then : 213 if [ -z "$4" ] || "$PKG_CONFIG" --max-version="$4" "$1" ; then :
222 else return 1 ; fi 214 else return 1 ; fi
223 return 0 215 return 0
224 } 216 }
225 217
226 dependency_error_libpq() 218 dependency_error_qt4()
227 { 219 {
228 printf "checking for libpq... " 220 printf "checking for qt4... "
229 # dependency libpq 221 # dependency qt4
222 while true
223 do
224 if which qmake-qt4 > /dev/null ; then
225 :
226 else
227 break
228 fi
229 echo yes
230 return 1
231 done
232
233 echo no
234 return 0
235 }
236 dependency_error_curl()
237 {
238 printf "checking for curl... "
239 # dependency curl platform="windows"
240 while true
241 do
242 if notisplatform "windows"; then
243 break
244 fi
245 TEMP_CFLAGS="$TEMP_CFLAGS -I/mingw/include"
246 TEMP_LDFLAGS="$TEMP_LDFLAGS -lcurl"
247 echo yes
248 return 1
249 done
250
251 # dependency curl platform="macos"
252 while true
253 do
254 if notisplatform "macos"; then
255 break
256 fi
257 if tmp_flags=`curl-config --cflags` ; then
258 TEMP_CFLAGS="$TEMP_CFLAGS $tmp_flags"
259 else
260 break
261 fi
262 if tmp_flags=`curl-config --ldflags` ; then
263 TEMP_LDFLAGS="$TEMP_LDFLAGS $tmp_flags"
264 else
265 break
266 fi
267 echo yes
268 return 1
269 done
270
271 # dependency curl
230 while true 272 while true
231 do 273 do
232 if [ -z "$PKG_CONFIG" ]; then 274 if [ -z "$PKG_CONFIG" ]; then
233 break 275 break
234 fi 276 fi
235 if test_pkg_config "libpq" "" "" "" ; then 277 if test_pkg_config "libcurl" "" "" "" ; then
236 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags libpq`" 278 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags libcurl`"
237 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs libpq`" 279 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs libcurl`"
238 else 280 else
239 break 281 break
240 fi 282 fi
241 echo yes 283 echo yes
242 return 1 284 return 1
243 done 285 done
244 286
245 echo no 287 echo no
246 return 0 288 return 0
247 } 289 }
248 dependency_error_openssl() 290 dependency_error_gtk2()
249 { 291 {
250 printf "checking for openssl... " 292 printf "checking for gtk2... "
251 # dependency openssl 293 # dependency gtk2
252 while true 294 while true
253 do 295 do
254 if [ -z "$PKG_CONFIG" ]; then 296 if [ -z "$PKG_CONFIG" ]; then
255 break 297 break
256 fi 298 fi
257 if test_pkg_config "openssl" "" "" "" ; then 299 if test_pkg_config "gtk+-2.0" "" "" "" ; then
258 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags openssl`" 300 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags gtk+-2.0`"
259 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs openssl`" 301 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs gtk+-2.0`"
260 else 302 else
261 break 303 break
262 fi 304 fi
263 echo yes 305 echo yes
264 return 1 306 return 1
265 done 307 done
266 308
267 # dependency openssl platform="bsd" 309 echo no
310 return 0
311 }
312 dependency_error_sqlite()
313 {
314 printf "checking for sqlite... "
315 # dependency sqlite
316 while true
317 do
318 if [ -z "$PKG_CONFIG" ]; then
319 break
320 fi
321 if test_pkg_config "sqlite3" "" "" "" ; then
322 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags sqlite3`"
323 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs sqlite3`"
324 else
325 break
326 fi
327 echo yes
328 return 1
329 done
330
331 echo no
332 return 0
333 }
334 dependency_error_test()
335 {
336 printf "checking for test... "
337 # dependency test platform="bsd"
268 while true 338 while true
269 do 339 do
270 if notisplatform "bsd"; then 340 if notisplatform "bsd"; then
271 break 341 break
272 fi 342 fi
273 TEMP_LDFLAGS="$TEMP_LDFLAGS -lssl -lcrypto" 343 if isplatform "macos"; then
344 break
345 fi
346 TEMP_CFLAGS="$TEMP_CFLAGS -DBSD"
347 echo yes
348 return 1
349 done
350
351 # dependency test
352 while true
353 do
354 TEMP_CFLAGS="$TEMP_CFLAGS -DTEST"
274 echo yes 355 echo yes
275 return 1 356 return 1
276 done 357 done
277 358
278 echo no 359 echo no
279 return 0 360 return 0
280 } 361 }
362 dependency_error_gtk3()
363 {
364 printf "checking for gtk3... "
365 # dependency gtk3
366 while true
367 do
368 if [ -z "$PKG_CONFIG" ]; then
369 break
370 fi
371 if test_pkg_config "gtk+-5.0" "" "" "" ; then
372 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags gtk+-5.0`"
373 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs gtk+-5.0`"
374 else
375 break
376 fi
377 echo yes
378 return 1
379 done
380
381 echo no
382 return 0
383 }
384 dependency_error_deptest()
385 {
386 printf "checking for deptest... "
387 # dependency deptest
388 while true
389 do
390 TEMP_CFLAGS="$TEMP_CFLAGS -DDEPTEST"
391 echo yes
392 return 1
393 done
394
395 echo no
396 return 0
397 }
281 dependency_error_libxml2() 398 dependency_error_libxml2()
282 { 399 {
283 printf "checking for libxml2... " 400 printf "checking for libxml2... "
284 # dependency libxml2 platform="macos"
285 while true
286 do
287 if notisplatform "macos"; then
288 break
289 fi
290 if tmp_flags=`xml2-config --cflags` ; then
291 TEMP_CFLAGS="$TEMP_CFLAGS $tmp_flags"
292 else
293 break
294 fi
295 if tmp_flags=`xml2-config --libs` ; then
296 TEMP_LDFLAGS="$TEMP_LDFLAGS $tmp_flags"
297 else
298 break
299 fi
300 echo yes
301 return 1
302 done
303
304 # dependency libxml2 401 # dependency libxml2
305 while true 402 while true
306 do 403 do
307 if [ -z "$PKG_CONFIG" ]; then 404 if [ -z "$PKG_CONFIG" ]; then
308 break 405 break
309 fi 406 fi
310 if test_pkg_config "libxml-2.0" "" "" "" ; then 407 if test_pkg_config "libxml-2.0" "2.8" "" "" ; then
311 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags libxml-2.0`" 408 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags libxml-2.0`"
312 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs libxml-2.0`" 409 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs libxml-2.0`"
313 else 410 else
314 break 411 break
315 fi 412 fi
413 cat >> $TEMP_DIR/make.mk << __EOF__
414 # Dependency: libxml2
415 xml = libxml2
416
417 __EOF__
316 echo yes 418 echo yes
317 return 1 419 return 1
318 done 420 done
319 421
320 echo no 422 echo no
321 return 0 423 return 0
322 } 424 }
425
426 # start collecting dependency information
427 echo > "$TEMP_DIR/flags.mk"
323 428
324 DEPENDENCIES_FAILED= 429 DEPENDENCIES_FAILED=
325 ERROR=0 430 ERROR=0
326 # unnamed dependencies 431 # unnamed dependencies
327 TEMP_CFLAGS= 432 TEMP_CFLAGS=
433 TEMP_CXXFLAGS=
328 TEMP_LDFLAGS= 434 TEMP_LDFLAGS=
329 while true 435 while true
330 do 436 do
331 while true 437 while true
332 do 438 do
333 439 if detect_c_compiler ; then
440 :
441 else
442 ERROR=1
443 break
444 fi
445
446 cat >> "$TEMP_DIR/make.mk" << __EOF__
447 MVAR = 123
448 MVAR += 123
449
450 __EOF__
334 break 451 break
335 done 452 done
336 break 453 break
337 done 454 done
338 455
339 # add unnamed dependency flags to config.mk 456 # add general dependency flags to flags.mk
340 echo >> "$TEMP_DIR/config.mk" 457 echo "# general flags" >> "$TEMP_DIR/flags.mk"
341 if [ -n "${TEMP_CFLAGS}" ]; then 458 if [ -n "${TEMP_CFLAGS}" ]; then
342 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/config.mk" 459 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk"
460 fi
461 if [ -n "${TEMP_CXXFLAGS}" ]; then
462 echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk"
343 fi 463 fi
344 if [ -n "${TEMP_LDFLAGS}" ]; then 464 if [ -n "${TEMP_LDFLAGS}" ]; then
345 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/config.mk" 465 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk"
346 fi 466 fi
347 467
348 # 468 #
349 # OPTION VALUES 469 # OPTION VALUES
350 # 470 #
471 checkopt_toolkit_gtk3()
472 {
473 VERR=0
474 if dependency_error_gtk3 ; then
475 VERR=1
476 fi
477 if [ $VERR -ne 0 ]; then
478 return 1
479 fi
480 TEMP_CFLAGS="$TEMP_CFLAGS -Da=b"
481 TEMP_CXXFLAGS="$TEMP_CXXFLAGS -Da=b"
482 cat >> "$TEMP_DIR/make.mk" << __EOF__
483 UIOBJ += graphics_cairo.o
484
485 __EOF__
486 return 0
487 }
488 checkopt_toolkit_cli()
489 {
490 VERR=0
491 if dependency_error_curl ; then
492 VERR=1
493 fi
494 if dependency_error_test ; then
495 VERR=1
496 fi
497 if [ $VERR -ne 0 ]; then
498 return 1
499 fi
500 return 0
501 }
502 checkopt_toolkit_gtk2()
503 {
504 VERR=0
505 if dependency_error_gtk2 ; then
506 VERR=1
507 fi
508 if [ $VERR -ne 0 ]; then
509 return 1
510 fi
511 return 0
512 }
513 checkopt_toolkit_wpf()
514 {
515 VERR=0
516 if dependency_error_test ; then
517 VERR=1
518 fi
519 if [ $VERR -ne 0 ]; then
520 return 1
521 fi
522 return 0
523 }
351 524
352 # 525 #
353 # TARGETS 526 # TARGETS
354 # 527 #
355 528
356 # Target 529 echo >> "$TEMP_DIR/flags.mk"
530 # Target: dav
531 echo "# flags for target dav" >> "$TEMP_DIR/flags.mk"
357 TEMP_CFLAGS= 532 TEMP_CFLAGS=
533 TEMP_CXXFLAGS=
358 TEMP_LDFLAGS= 534 TEMP_LDFLAGS=
359 535
536 if dependency_error_curl; then
537 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED curl "
538 ERROR=1
539 fi
360 if dependency_error_libxml2; then 540 if dependency_error_libxml2; then
361 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED libxml2 " 541 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED libxml2 "
362 ERROR=1 542 ERROR=1
363 fi 543 fi
364 if dependency_error_openssl; then 544 if dependency_error_test; then
365 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED openssl " 545 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED test "
366 ERROR=1 546 ERROR=1
367 fi 547 fi
368 548
369 # Features 549 # Features
370 if [ -n "$FEATURE_PG" ]; then 550 if [ -n "$FEATURE_DB" ]; then
371 # check dependency 551 # check dependency
372 if dependency_error_libpq ; then 552 if dependency_error_sqlite ; then
373 # "auto" features can fail and are just disabled in this case 553 # "auto" features can fail and are just disabled in this case
374 if [ "$FEATURE_PG" = "auto" ]; then 554 if [ "$FEATURE_DB" = "auto" ]; then
375 unset FEATURE_PG 555 unset FEATURE_DB
376 else 556 else
377 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED libpq " 557 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED sqlite "
378 ERROR=1 558 ERROR=1
379 fi 559 fi
380 fi 560 fi
381 fi 561 fi
382 562 if [ -n "$FEATURE_GUI" ]; then
383 563 # check dependency
384 echo >> "$TEMP_DIR/config.mk" 564 if dependency_error_gtk3 ; then
565 # "auto" features can fail and are just disabled in this case
566 if [ "$FEATURE_GUI" = "auto" ]; then
567 unset FEATURE_GUI
568 else
569 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED gtk3 "
570 ERROR=1
571 fi
572 fi
573 fi
574
575 # Option: --toolkit
576 if [ -z $OPT_TOOLKIT ]; then
577 SAVED_ERROR="$ERROR"
578 SAVED_DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED"
579 ERROR=1
580 while true
581 do
582 if isplatform "windows"; then
583 if checkopt_toolkit_wpf ; then
584 echo " toolkit: wpf" >> "$TEMP_DIR/options"
585 ERROR=0
586 break
587 fi
588 fi
589 if checkopt_toolkit_gtk3 ; then
590 echo " toolkit: gtk3" >> "$TEMP_DIR/options"
591 ERROR=0
592 break
593 fi
594 if checkopt_toolkit_gtk2 ; then
595 echo " toolkit: gtk2" >> "$TEMP_DIR/options"
596 ERROR=0
597 break
598 fi
599 break
600 done
601 if [ $ERROR -ne 0 ]; then
602 SAVED_ERROR=1
603 fi
604 ERROR="$SAVED_ERROR"
605 DEPENDENCIES_FAILED="$SAVED_DEPENDENCIES_FAILED"
606 else
607 if false; then
608 false
609 elif [ "$OPT_TOOLKIT" = "gtk3" ]; then
610 echo " toolkit: $OPT_TOOLKIT" >> $TEMP_DIR/options
611 if checkopt_toolkit_gtk3 ; then
612 :
613 else
614 ERROR=1
615 fi
616 elif [ "$OPT_TOOLKIT" = "cli" ]; then
617 echo " toolkit: $OPT_TOOLKIT" >> $TEMP_DIR/options
618 if checkopt_toolkit_cli ; then
619 :
620 else
621 ERROR=1
622 fi
623 elif [ "$OPT_TOOLKIT" = "gtk2" ]; then
624 echo " toolkit: $OPT_TOOLKIT" >> $TEMP_DIR/options
625 if checkopt_toolkit_gtk2 ; then
626 :
627 else
628 ERROR=1
629 fi
630 elif [ "$OPT_TOOLKIT" = "wpf" ]; then
631 echo " toolkit: $OPT_TOOLKIT" >> $TEMP_DIR/options
632 if checkopt_toolkit_wpf ; then
633 :
634 else
635 ERROR=1
636 fi
637 fi
638 fi
639
385 if [ -n "${TEMP_CFLAGS}" ]; then 640 if [ -n "${TEMP_CFLAGS}" ]; then
386 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/config.mk" 641 echo "DAV_CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk"
642 fi
643 if [ -n "${TEMP_CXXFLAGS}" ]; then
644 echo "DAV_CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk"
387 fi 645 fi
388 if [ "$BUILD_TYPE" = "debug" ]; then 646 if [ "$BUILD_TYPE" = "debug" ]; then
389 echo 'CFLAGS += ${DEBUG_FLAGS}' >> "$TEMP_DIR/config.mk" 647 echo 'DAV_CFLAGS += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk"
648 echo 'DAV_CXXFLAGS += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk"
390 fi 649 fi
391 if [ "$BUILD_TYPE" = "release" ]; then 650 if [ "$BUILD_TYPE" = "release" ]; then
392 echo 'CFLAGS += ${RELEASE_FLAGS}' >> "$TEMP_DIR/config.mk" 651 echo 'DAV_CFLAGS += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk"
652 echo 'DAV_CXXFLAGS += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk"
393 fi 653 fi
394 if [ -n "${TEMP_LDFLAGS}" ]; then 654 if [ -n "${TEMP_LDFLAGS}" ]; then
395 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/config.mk" 655 echo "DAV_LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk"
396 fi 656 fi
397 657
658 echo >> "$TEMP_DIR/flags.mk"
659 # Target
660 echo "# flags for unnamed target" >> "$TEMP_DIR/flags.mk"
661 TEMP_CFLAGS=
662 TEMP_CXXFLAGS=
663 TEMP_LDFLAGS=
664
665 if dependency_error_deptest; then
666 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED deptest "
667 ERROR=1
668 fi
669
670 # Features
671
672
673 if [ -n "${TEMP_CFLAGS}" ]; then
674 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk"
675 fi
676 if [ -n "${TEMP_CXXFLAGS}" ]; then
677 echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk"
678 fi
679 if [ "$BUILD_TYPE" = "debug" ]; then
680 echo 'CFLAGS += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk"
681 echo 'CXXFLAGS += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk"
682 fi
683 if [ "$BUILD_TYPE" = "release" ]; then
684 echo 'CFLAGS += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk"
685 echo 'CXXFLAGS += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk"
686 fi
687 if [ -n "${TEMP_LDFLAGS}" ]; then
688 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk"
689 fi
690
691
692 # final result
398 if [ $ERROR -ne 0 ]; then 693 if [ $ERROR -ne 0 ]; then
399 echo 694 echo
400 echo "Error: Unresolved dependencies" 695 echo "Error: Unresolved dependencies"
401 echo "$DEPENDENCIES_FAILED" 696 echo "$DEPENDENCIES_FAILED"
402 abort_configure 697 abort_configure
405 echo "configure finished" 700 echo "configure finished"
406 echo 701 echo
407 echo "Build Config:" 702 echo "Build Config:"
408 echo " PREFIX: $PREFIX" 703 echo " PREFIX: $PREFIX"
409 echo " TOOLCHAIN: $TOOLCHAIN_NAME" 704 echo " TOOLCHAIN: $TOOLCHAIN_NAME"
705 echo "Options:"
706 cat "$TEMP_DIR/options"
410 echo "Features:" 707 echo "Features:"
411 if [ -n "$FEATURE_PG" ]; then 708 if [ -n "$FEATURE_DB" ]; then
412 echo " pg: on" 709 echo " db: on"
413 else 710 else
414 echo " pg: off" 711 echo " db: off"
712 fi
713 if [ -n "$FEATURE_GUI" ]; then
714 echo " gui: on"
715 else
716 echo " gui: off"
415 fi 717 fi
416 echo 718 echo
417 cat "$TEMP_DIR/config.mk" "$TEMP_DIR/make.mk" > config.mk 719
720 # generate the config.mk file
721 cat > "$TEMP_DIR/config.mk" << __EOF__
722 #
723 # config.mk generated by configure
724 #
725
726 __EOF__
727 write_toolchain_defaults "$TEMP_DIR/config.mk"
728 cat "$TEMP_DIR/config.mk" "$TEMP_DIR/flags.mk" "$TEMP_DIR/make.mk" > config.mk
418 rm -Rf "$TEMP_DIR" 729 rm -Rf "$TEMP_DIR"
419 730
420 731

mercurial