configure

changeset 1320
f76b70a72614
parent 1310
ca52ea73a4ca
equal deleted inserted replaced
1319:aa1f580f8f59 1320:f76b70a72614
109 Build Types: 109 Build Types:
110 --debug add extra compile flags for debug builds 110 --debug add extra compile flags for debug builds
111 --release add extra compile flags for release builds 111 --release add extra compile flags for release builds
112 112
113 Optional Features: 113 Optional Features:
114 --enable-api-docs 114 --enable-api-docs run Doxygen during build
115 --enable-coverage 115 --enable-coverage test coverage with gcov
116 --enable-asan address sanitizer
116 --disable-cxx-tests the check-cxx makefile target 117 --disable-cxx-tests the check-cxx makefile target
117 --disable-szmul-builtin use custom implementation, instead 118 --disable-szmul-builtin use custom implementation, instead
118 119
119 __EOF__ 120 __EOF__
120 } 121 }
189 "--release") BUILD_TYPE="release" ;; 190 "--release") BUILD_TYPE="release" ;;
190 "--enable-api-docs") FEATURE_API_DOCS=on ;; 191 "--enable-api-docs") FEATURE_API_DOCS=on ;;
191 "--disable-api-docs") unset FEATURE_API_DOCS ;; 192 "--disable-api-docs") unset FEATURE_API_DOCS ;;
192 "--enable-coverage") FEATURE_COVERAGE=on ;; 193 "--enable-coverage") FEATURE_COVERAGE=on ;;
193 "--disable-coverage") unset FEATURE_COVERAGE ;; 194 "--disable-coverage") unset FEATURE_COVERAGE ;;
195 "--enable-asan") FEATURE_ASAN=on ;;
196 "--disable-asan") unset FEATURE_ASAN ;;
194 "--enable-cxx-tests") FEATURE_CXX_TESTS=on ;; 197 "--enable-cxx-tests") FEATURE_CXX_TESTS=on ;;
195 "--disable-cxx-tests") unset FEATURE_CXX_TESTS ;; 198 "--disable-cxx-tests") unset FEATURE_CXX_TESTS ;;
196 "--enable-szmul-builtin") FEATURE_SZMUL_BUILTIN=on ;; 199 "--enable-szmul-builtin") FEATURE_SZMUL_BUILTIN=on ;;
197 "--disable-szmul-builtin") unset FEATURE_SZMUL_BUILTIN ;; 200 "--disable-szmul-builtin") unset FEATURE_SZMUL_BUILTIN ;;
198 "-"*) echo "unknown option: $ARG"; abort_configure ;; 201 "-"*) echo "unknown option: $ARG"; abort_configure ;;
337 340
338 print_check_msg "$dep_checked_coverage" "no\n" 341 print_check_msg "$dep_checked_coverage" "no\n"
339 dep_checked_coverage=1 342 dep_checked_coverage=1
340 return 0 343 return 0
341 } 344 }
345 dependency_error_asan()
346 {
347 print_check_msg "$dep_checked_asan" "checking for asan... "
348 # dependency asan toolchain="gnuc"
349 while true
350 do
351 if notistoolchain "gnuc"; then
352 break
353 fi
354 TEMP_CFLAGS="$TEMP_CFLAGS -fsanitize=address"
355 TEMP_LDFLAGS="$TEMP_LDFLAGS -fsanitize=address"
356 print_check_msg "$dep_checked_asan" "yes\n"
357 dep_checked_asan=1
358 return 1
359 done
360
361 print_check_msg "$dep_checked_asan" "no\n"
362 dep_checked_asan=1
363 return 0
364 }
342 dependency_error_cxx() 365 dependency_error_cxx()
343 { 366 {
344 print_check_msg "$dep_checked_cxx" "checking for cxx... " 367 print_check_msg "$dep_checked_cxx" "checking for cxx... "
345 # dependency cxx 368 # dependency cxx
346 while true 369 while true
629 if [ -n "$FEATURE_COVERAGE" ]; then 652 if [ -n "$FEATURE_COVERAGE" ]; then
630 : 653 :
631 else 654 else
632 : 655 :
633 fi 656 fi
657 if [ -n "$FEATURE_ASAN" ]; then
658 # check dependency
659 if dependency_error_asan ; then
660 # "auto" features can fail and are just disabled in this case
661 if [ "$FEATURE_ASAN" = "auto" ]; then
662 DISABLE_FEATURE_ASAN=1
663 else
664 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED asan "
665 ERROR=1
666 fi
667 fi
668 if [ -n "$DISABLE_FEATURE_ASAN" ]; then
669 unset FEATURE_ASAN
670 fi
671 fi
672 if [ -n "$FEATURE_ASAN" ]; then
673 :
674 else
675 :
676 fi
634 if [ -n "$FEATURE_CXX_TESTS" ]; then 677 if [ -n "$FEATURE_CXX_TESTS" ]; then
635 # check dependency 678 # check dependency
636 if dependency_error_cxx ; then 679 if dependency_error_cxx ; then
637 # "auto" features can fail and are just disabled in this case 680 # "auto" features can fail and are just disabled in this case
638 if [ "$FEATURE_CXX_TESTS" = "auto" ]; then 681 if [ "$FEATURE_CXX_TESTS" = "auto" ]; then
770 if [ -n "$FEATURE_COVERAGE" ]; then 813 if [ -n "$FEATURE_COVERAGE" ]; then
771 echo " coverage: on" 814 echo " coverage: on"
772 else 815 else
773 echo " coverage: off" 816 echo " coverage: off"
774 fi 817 fi
818 if [ -n "$FEATURE_ASAN" ]; then
819 echo " asan: on"
820 else
821 echo " asan: off"
822 fi
775 if [ -n "$FEATURE_CXX_TESTS" ]; then 823 if [ -n "$FEATURE_CXX_TESTS" ]; then
776 echo " cxx-tests: on" 824 echo " cxx-tests: on"
777 else 825 else
778 echo " cxx-tests: off" 826 echo " cxx-tests: off"
779 fi 827 fi

mercurial