configure

changeset 1413
c5a225d7228c
parent 1335
158eb29f0b27
child 1414
597cf869e8bc
equal deleted inserted replaced
1412:a6f357c18ac6 1413:c5a225d7228c
113 113
114 Optional Features: 114 Optional Features:
115 --enable-api-docs run Doxygen during build 115 --enable-api-docs run Doxygen during build
116 --enable-coverage test coverage with gcov 116 --enable-coverage test coverage with gcov
117 --enable-asan address sanitizer 117 --enable-asan address sanitizer
118 --disable-memrchr
118 --disable-cxx-tests the check-cxx makefile target 119 --disable-cxx-tests the check-cxx makefile target
119 --disable-szmul-builtin use custom implementation, instead 120 --disable-szmul-builtin use custom implementation, instead
120 121
121 __EOF__ 122 __EOF__
122 } 123 }
159 root_dir=`pwd` 160 root_dir=`pwd`
160 DOXYGEN=`command -v doxygen` 161 DOXYGEN=`command -v doxygen`
161 fi 162 fi
162 163
163 # features 164 # features
165 FEATURE_MEMRCHR=auto
164 FEATURE_CXX_TESTS=auto 166 FEATURE_CXX_TESTS=auto
165 FEATURE_SZMUL_BUILTIN=auto 167 FEATURE_SZMUL_BUILTIN=auto
166 168
167 # 169 #
168 # parse arguments 170 # parse arguments
193 "--disable-api-docs") unset FEATURE_API_DOCS ;; 195 "--disable-api-docs") unset FEATURE_API_DOCS ;;
194 "--enable-coverage") FEATURE_COVERAGE=on ;; 196 "--enable-coverage") FEATURE_COVERAGE=on ;;
195 "--disable-coverage") unset FEATURE_COVERAGE ;; 197 "--disable-coverage") unset FEATURE_COVERAGE ;;
196 "--enable-asan") FEATURE_ASAN=on ;; 198 "--enable-asan") FEATURE_ASAN=on ;;
197 "--disable-asan") unset FEATURE_ASAN ;; 199 "--disable-asan") unset FEATURE_ASAN ;;
200 "--enable-memrchr") FEATURE_MEMRCHR=on ;;
201 "--disable-memrchr") unset FEATURE_MEMRCHR ;;
198 "--enable-cxx-tests") FEATURE_CXX_TESTS=on ;; 202 "--enable-cxx-tests") FEATURE_CXX_TESTS=on ;;
199 "--disable-cxx-tests") unset FEATURE_CXX_TESTS ;; 203 "--disable-cxx-tests") unset FEATURE_CXX_TESTS ;;
200 "--enable-szmul-builtin") FEATURE_SZMUL_BUILTIN=on ;; 204 "--enable-szmul-builtin") FEATURE_SZMUL_BUILTIN=on ;;
201 "--disable-szmul-builtin") unset FEATURE_SZMUL_BUILTIN ;; 205 "--disable-szmul-builtin") unset FEATURE_SZMUL_BUILTIN ;;
202 "-"*) echo "unknown option: $ARG"; abort_configure ;; 206 "-"*) echo "unknown option: $ARG"; abort_configure ;;
347 while true 351 while true
348 do 352 do
349 if notistoolchain "gcc"; then 353 if notistoolchain "gcc"; then
350 break 354 break
351 fi 355 fi
352 if command -v gcovr > /dev/null ; then 356 if command -v gcovr > /dev/null 2>&1 ; then
353 : 357 :
354 else 358 else
355 break 359 break
356 fi 360 fi
357 TEMP_CFLAGS="$TEMP_CFLAGS \${COVERAGE_CFLAGS}" 361 TEMP_CFLAGS="$TEMP_CFLAGS \${COVERAGE_CFLAGS}"
495 499
496 print_check_msg "$dep_checked_file_tools" "no\n" 500 print_check_msg "$dep_checked_file_tools" "no\n"
497 dep_checked_file_tools=1 501 dep_checked_file_tools=1
498 return 0 502 return 0
499 } 503 }
504 dependency_error_memrchr()
505 {
506 print_check_msg "$dep_checked_memrchr" "checking for memrchr... "
507 # dependency memrchr
508 while true
509 do
510 if $TOOLCHAIN_CC -o /dev/null make/test_memrchr.c > /dev/null 2>&1 ; then
511 :
512 else
513 break
514 fi
515 TEMP_CFLAGS="$TEMP_CFLAGS -DWITH_MEMRCHR"
516 print_check_msg "$dep_checked_memrchr" "yes\n"
517 dep_checked_memrchr=1
518 return 1
519 done
520
521 # dependency memrchr
522 while true
523 do
524 if $TOOLCHAIN_CC -o /dev/null -D_GNU_SOURCE make/test_memrchr.c > /dev/null 2>&1 ; then
525 :
526 else
527 break
528 fi
529 TEMP_CFLAGS="$TEMP_CFLAGS -DWITH_MEMRCHR -DMEMRCHR_NEED_GNU"
530 print_check_msg "$dep_checked_memrchr" "yes\n"
531 dep_checked_memrchr=1
532 return 1
533 done
534
535 print_check_msg "$dep_checked_memrchr" "no\n"
536 dep_checked_memrchr=1
537 return 0
538 }
500 dependency_error_doxygen() 539 dependency_error_doxygen()
501 { 540 {
502 print_check_msg "$dep_checked_doxygen" "checking for doxygen... " 541 print_check_msg "$dep_checked_doxygen" "checking for doxygen... "
503 # dependency doxygen 542 # dependency doxygen
504 while true 543 while true
505 do 544 do
506 if test -n "$DOXYGEN" > /dev/null ; then 545 if test -n "$DOXYGEN" > /dev/null 2>&1 ; then
507 : 546 :
508 else 547 else
509 break 548 break
510 fi 549 fi
511 cat >> $TEMP_DIR/make.mk << __EOF__ 550 cat >> $TEMP_DIR/make.mk << __EOF__
525 { 564 {
526 print_check_msg "$dep_checked_no_coverage" "checking for no_coverage... " 565 print_check_msg "$dep_checked_no_coverage" "checking for no_coverage... "
527 # dependency no_coverage 566 # dependency no_coverage
528 while true 567 while true
529 do 568 do
530 if test -z "$FEATURE_COVERAGE" > /dev/null ; then 569 if test -z "$FEATURE_COVERAGE" > /dev/null 2>&1 ; then
531 : 570 :
532 else 571 else
533 break 572 break
534 fi 573 fi
535 print_check_msg "$dep_checked_no_coverage" "yes\n" 574 print_check_msg "$dep_checked_no_coverage" "yes\n"
695 if [ -n "$FEATURE_ASAN" ]; then 734 if [ -n "$FEATURE_ASAN" ]; then
696 : 735 :
697 else 736 else
698 : 737 :
699 fi 738 fi
739 if [ -n "$FEATURE_MEMRCHR" ]; then
740 # check dependency
741 if dependency_error_memrchr ; then
742 # "auto" features can fail and are just disabled in this case
743 if [ "$FEATURE_MEMRCHR" = "auto" ]; then
744 DISABLE_FEATURE_MEMRCHR=1
745 else
746 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED memrchr "
747 ERROR=1
748 fi
749 fi
750 if [ -n "$DISABLE_FEATURE_MEMRCHR" ]; then
751 unset FEATURE_MEMRCHR
752 fi
753 fi
754 if [ -n "$FEATURE_MEMRCHR" ]; then
755 :
756 else
757 :
758 fi
700 if [ -n "$FEATURE_CXX_TESTS" ]; then 759 if [ -n "$FEATURE_CXX_TESTS" ]; then
701 # check dependency 760 # check dependency
702 if dependency_error_cxx ; then 761 if dependency_error_cxx ; then
703 # "auto" features can fail and are just disabled in this case 762 # "auto" features can fail and are just disabled in this case
704 if [ "$FEATURE_CXX_TESTS" = "auto" ]; then 763 if [ "$FEATURE_CXX_TESTS" = "auto" ]; then
840 fi 899 fi
841 if [ -n "$FEATURE_ASAN" ]; then 900 if [ -n "$FEATURE_ASAN" ]; then
842 echo " asan: on" 901 echo " asan: on"
843 else 902 else
844 echo " asan: off" 903 echo " asan: off"
904 fi
905 if [ -n "$FEATURE_MEMRCHR" ]; then
906 echo " memrchr: on"
907 else
908 echo " memrchr: off"
845 fi 909 fi
846 if [ -n "$FEATURE_CXX_TESTS" ]; then 910 if [ -n "$FEATURE_CXX_TESTS" ]; then
847 echo " cxx-tests: on" 911 echo " cxx-tests: on"
848 else 912 else
849 echo " cxx-tests: off" 913 echo " cxx-tests: off"

mercurial