configure

changeset 1660
802ab24f67aa
parent 1620
bf5d647f939d
child 1661
a389bf17eaaa
equal deleted inserted replaced
1659:a726281c809f 1660:802ab24f67aa
154 154
155 Optional Features: 155 Optional Features:
156 --enable-api-docs run Doxygen during build 156 --enable-api-docs run Doxygen during build
157 --enable-coverage test coverage with gcov 157 --enable-coverage test coverage with gcov
158 --enable-asan address sanitizer 158 --enable-asan address sanitizer
159 --enable-ubsan undefined behavior sanitizer
159 --disable-cxx-tests the check-cxx makefile target 160 --disable-cxx-tests the check-cxx makefile target
160 --disable-szmul-builtin use custom implementation, instead 161 --disable-szmul-builtin use custom implementation, instead
161 --disable-memrchr 162 --disable-memrchr
162 --disable-qsort_r 163 --disable-qsort_r
163 164
304 "--disable-api-docs") unset FEATURE_API_DOCS ;; 305 "--disable-api-docs") unset FEATURE_API_DOCS ;;
305 "--enable-coverage") FEATURE_COVERAGE=on ;; 306 "--enable-coverage") FEATURE_COVERAGE=on ;;
306 "--disable-coverage") unset FEATURE_COVERAGE ;; 307 "--disable-coverage") unset FEATURE_COVERAGE ;;
307 "--enable-asan") FEATURE_ASAN=on ;; 308 "--enable-asan") FEATURE_ASAN=on ;;
308 "--disable-asan") unset FEATURE_ASAN ;; 309 "--disable-asan") unset FEATURE_ASAN ;;
310 "--enable-ubsan") FEATURE_UBSAN=on ;;
311 "--disable-ubsan") unset FEATURE_UBSAN ;;
309 "--enable-cxx-tests") FEATURE_CXX_TESTS=on ;; 312 "--enable-cxx-tests") FEATURE_CXX_TESTS=on ;;
310 "--disable-cxx-tests") unset FEATURE_CXX_TESTS ;; 313 "--disable-cxx-tests") unset FEATURE_CXX_TESTS ;;
311 "--enable-szmul-builtin") FEATURE_SZMUL_BUILTIN=on ;; 314 "--enable-szmul-builtin") FEATURE_SZMUL_BUILTIN=on ;;
312 "--disable-szmul-builtin") unset FEATURE_SZMUL_BUILTIN ;; 315 "--disable-szmul-builtin") unset FEATURE_SZMUL_BUILTIN ;;
313 "--enable-memrchr") FEATURE_MEMRCHR=on ;; 316 "--enable-memrchr") FEATURE_MEMRCHR=on ;;
592 595
593 print_check_msg "$dep_checked_no_coverage" "no\n" 596 print_check_msg "$dep_checked_no_coverage" "no\n"
594 dep_checked_no_coverage=1 597 dep_checked_no_coverage=1
595 return 0 598 return 0
596 } 599 }
600 dependency_error_ubsan()
601 {
602 print_check_msg "$dep_checked_ubsan" "checking for ubsan... "
603 # dependency ubsan toolchain="gnuc"
604 while true
605 do
606 if notistoolchain "gnuc"; then
607 break
608 fi
609 TEMP_CFLAGS="$TEMP_CFLAGS -fsanitize=undefined"
610 TEMP_LDFLAGS="$TEMP_LDFLAGS -fsanitize=undefined"
611 print_check_msg "$dep_checked_ubsan" "yes\n"
612 dep_checked_ubsan=1
613 return 1
614 done
615
616 print_check_msg "$dep_checked_ubsan" "no\n"
617 dep_checked_ubsan=1
618 return 0
619 }
597 dependency_error_qsort_r() 620 dependency_error_qsort_r()
598 { 621 {
599 print_check_msg "$dep_checked_qsort_r" "checking for qsort_r... " 622 print_check_msg "$dep_checked_qsort_r" "checking for qsort_r... "
600 # dependency qsort_r 623 # dependency qsort_r
601 while true 624 while true
820 if [ -n "$DISABLE_FEATURE_ASAN" ]; then 843 if [ -n "$DISABLE_FEATURE_ASAN" ]; then
821 unset FEATURE_ASAN 844 unset FEATURE_ASAN
822 fi 845 fi
823 fi 846 fi
824 if [ -n "$FEATURE_ASAN" ]; then 847 if [ -n "$FEATURE_ASAN" ]; then
848 :
849 else
850 :
851 fi
852 if [ -n "$FEATURE_UBSAN" ]; then
853 # check dependency
854 if dependency_error_ubsan ; then
855 # "auto" features can fail and are just disabled in this case
856 if [ "$FEATURE_UBSAN" = "auto" ]; then
857 DISABLE_FEATURE_UBSAN=1
858 else
859 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ubsan "
860 ERROR=1
861 fi
862 fi
863 if [ -n "$DISABLE_FEATURE_UBSAN" ]; then
864 unset FEATURE_UBSAN
865 fi
866 fi
867 if [ -n "$FEATURE_UBSAN" ]; then
825 : 868 :
826 else 869 else
827 : 870 :
828 fi 871 fi
829 if [ -n "$FEATURE_CXX_TESTS" ]; then 872 if [ -n "$FEATURE_CXX_TESTS" ]; then
981 if [ -n "$FEATURE_ASAN" ]; then 1024 if [ -n "$FEATURE_ASAN" ]; then
982 echo 'on' 1025 echo 'on'
983 else 1026 else
984 echo 'off' 1027 echo 'off'
985 fi 1028 fi
1029 printf ' %-16s' 'ubsan:'
1030 if [ -n "$FEATURE_UBSAN" ]; then
1031 echo 'on'
1032 else
1033 echo 'off'
1034 fi
986 printf ' %-16s' 'cxx-tests:' 1035 printf ' %-16s' 'cxx-tests:'
987 if [ -n "$FEATURE_CXX_TESTS" ]; then 1036 if [ -n "$FEATURE_CXX_TESTS" ]; then
988 echo 'on' 1037 echo 'on'
989 else 1038 else
990 echo 'off' 1039 echo 'off'

mercurial