configure

branch
docs/3.1
changeset 1140
88a9ee79c102
parent 1064
f3b04cd60776
equal deleted inserted replaced
1139:7dfa5bcf39ee 1140:88a9ee79c102
108 108
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 Options:
114 --with-docs=(all|html|api|none)
115
116 Optional Features: 113 Optional Features:
114 --enable-api-docs
117 --enable-coverage 115 --enable-coverage
118 --disable-cxx-tests the check-cxx makefile target 116 --disable-cxx-tests the check-cxx makefile target
119 --disable-szmul-builtin use custom implementation, instead 117 --disable-szmul-builtin use custom implementation, instead
120 118
121 __EOF__ 119 __EOF__
156 # custom variables 154 # custom variables
157 if true \ 155 if true \
158 ; then 156 ; then
159 root_dir=`pwd` 157 root_dir=`pwd`
160 DOXYGEN=`command -v doxygen` 158 DOXYGEN=`command -v doxygen`
161 PANDOC=`command -v pandoc`
162 fi 159 fi
163 160
164 # features 161 # features
165 FEATURE_CXX_TESTS=auto 162 FEATURE_CXX_TESTS=auto
166 FEATURE_SZMUL_BUILTIN=auto 163 FEATURE_SZMUL_BUILTIN=auto
188 "--mandir"*) mandir=${ARG#--mandir} ;; 185 "--mandir"*) mandir=${ARG#--mandir} ;;
189 "--localedir"*) localedir=${ARG#--localedir} ;; 186 "--localedir"*) localedir=${ARG#--localedir} ;;
190 "--help"*) printhelp; abort_configure ;; 187 "--help"*) printhelp; abort_configure ;;
191 "--debug") BUILD_TYPE="debug" ;; 188 "--debug") BUILD_TYPE="debug" ;;
192 "--release") BUILD_TYPE="release" ;; 189 "--release") BUILD_TYPE="release" ;;
193 "--with-docs="*) OPT_WITH_DOCS=${ARG#--with-docs=} ;; 190 "--enable-api-docs") FEATURE_API_DOCS=on ;;
194 "--with-docs") echo "option '$ARG' needs a value:"; echo " $ARG=(all|html|api|none)"; abort_configure ;; 191 "--disable-api-docs") unset FEATURE_API_DOCS ;;
195 "--enable-coverage") FEATURE_COVERAGE=on ;; 192 "--enable-coverage") FEATURE_COVERAGE=on ;;
196 "--disable-coverage") unset FEATURE_COVERAGE ;; 193 "--disable-coverage") unset FEATURE_COVERAGE ;;
197 "--enable-cxx-tests") FEATURE_CXX_TESTS=on ;; 194 "--enable-cxx-tests") FEATURE_CXX_TESTS=on ;;
198 "--disable-cxx-tests") unset FEATURE_CXX_TESTS ;; 195 "--disable-cxx-tests") unset FEATURE_CXX_TESTS ;;
199 "--enable-szmul-builtin") FEATURE_SZMUL_BUILTIN=on ;; 196 "--enable-szmul-builtin") FEATURE_SZMUL_BUILTIN=on ;;
324 321
325 print_check_msg "$dep_checked_coverage" "no\n" 322 print_check_msg "$dep_checked_coverage" "no\n"
326 dep_checked_coverage=1 323 dep_checked_coverage=1
327 return 0 324 return 0
328 } 325 }
329 dependency_error_pandoc()
330 {
331 print_check_msg "$dep_checked_pandoc" "checking for pandoc... "
332 # dependency pandoc
333 while true
334 do
335 if test -n "$PANDOC" > /dev/null ; then
336 :
337 else
338 break
339 fi
340 cat >> $TEMP_DIR/make.mk << __EOF__
341 # Dependency: pandoc
342 PANDOC=$PANDOC
343 __EOF__
344 print_check_msg "$dep_checked_pandoc" "yes\n"
345 dep_checked_pandoc=1
346 return 1
347 done
348
349 print_check_msg "$dep_checked_pandoc" "no\n"
350 dep_checked_pandoc=1
351 return 0
352 }
353 dependency_error_cxx() 326 dependency_error_cxx()
354 { 327 {
355 print_check_msg "$dep_checked_cxx" "checking for cxx... " 328 print_check_msg "$dep_checked_cxx" "checking for cxx... "
356 # dependency cxx 329 # dependency cxx
357 while true 330 while true
564 fi 537 fi
565 538
566 # 539 #
567 # OPTION VALUES 540 # OPTION VALUES
568 # 541 #
569 checkopt_with_docs_all()
570 {
571 VERR=0
572 if dependency_error_pandoc ; then
573 VERR=1
574 fi
575 if dependency_error_doxygen ; then
576 VERR=1
577 fi
578 if [ $VERR -ne 0 ]; then
579 return 1
580 fi
581 cat >> "$TEMP_DIR/make.mk" << __EOF__
582 # Documentation
583 WITH_DOCS_API=yes
584 WITH_DOCS_HTML=yes
585 __EOF__
586 return 0
587 }
588 checkopt_with_docs_html()
589 {
590 VERR=0
591 if dependency_error_pandoc ; then
592 VERR=1
593 fi
594 if [ $VERR -ne 0 ]; then
595 return 1
596 fi
597 cat >> "$TEMP_DIR/make.mk" << __EOF__
598 # Documentation
599 WITH_DOCS_HTML=yes
600 __EOF__
601 return 0
602 }
603 checkopt_with_docs_api()
604 {
605 VERR=0
606 if dependency_error_doxygen ; then
607 VERR=1
608 fi
609 if [ $VERR -ne 0 ]; then
610 return 1
611 fi
612 cat >> "$TEMP_DIR/make.mk" << __EOF__
613 # Documentation
614 WITH_DOCS_API=yes
615 __EOF__
616 return 0
617 }
618 checkopt_with_docs_none()
619 {
620 VERR=0
621 if [ $VERR -ne 0 ]; then
622 return 1
623 fi
624 return 0
625 }
626 542
627 # 543 #
628 # TARGETS 544 # TARGETS
629 # 545 #
630 546
643 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED file_tools " 559 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED file_tools "
644 ERROR=1 560 ERROR=1
645 fi 561 fi
646 562
647 # Features 563 # Features
564 if [ -n "$FEATURE_API_DOCS" ]; then
565 # check dependency
566 if dependency_error_doxygen ; then
567 # "auto" features can fail and are just disabled in this case
568 if [ "$FEATURE_API_DOCS" = "auto" ]; then
569 DISABLE_FEATURE_API_DOCS=1
570 else
571 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED doxygen "
572 ERROR=1
573 fi
574 fi
575 if [ -n "$DISABLE_FEATURE_API_DOCS" ]; then
576 unset FEATURE_API_DOCS
577 fi
578 fi
579 if [ -n "$FEATURE_API_DOCS" ]; then
580 :
581 cat >> "$TEMP_DIR/make.mk" << __EOF__
582 # Documentation
583 WITH_API_DOCS=yes
584 __EOF__
585 else
586 :
587 fi
648 if [ -n "$FEATURE_COVERAGE" ]; then 588 if [ -n "$FEATURE_COVERAGE" ]; then
649 # check dependency 589 # check dependency
650 if dependency_error_coverage ; then 590 if dependency_error_coverage ; then
651 # "auto" features can fail and are just disabled in this case 591 # "auto" features can fail and are just disabled in this case
652 if [ "$FEATURE_COVERAGE" = "auto" ]; then 592 if [ "$FEATURE_COVERAGE" = "auto" ]; then
710 : 650 :
711 TEMP_CFLAGS="$TEMP_CFLAGS -DCX_NO_SZMUL_BUILTIN" 651 TEMP_CFLAGS="$TEMP_CFLAGS -DCX_NO_SZMUL_BUILTIN"
712 TEMP_CXXFLAGS="$TEMP_CXXFLAGS -DCX_NO_SZMUL_BUILTIN" 652 TEMP_CXXFLAGS="$TEMP_CXXFLAGS -DCX_NO_SZMUL_BUILTIN"
713 fi 653 fi
714 654
715 # Option: --with-docs
716 if [ -z "$OPT_WITH_DOCS" ]; then
717 echo "auto-detecting option 'with-docs'"
718 SAVED_ERROR="$ERROR"
719 SAVED_DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED"
720 ERROR=1
721 while true
722 do
723 if checkopt_with_docs_all ; then
724 echo " with-docs: all" >> "$TEMP_DIR/options"
725 ERROR=0
726 break
727 fi
728 if checkopt_with_docs_html ; then
729 echo " with-docs: html" >> "$TEMP_DIR/options"
730 ERROR=0
731 break
732 fi
733 if checkopt_with_docs_api ; then
734 echo " with-docs: api" >> "$TEMP_DIR/options"
735 ERROR=0
736 break
737 fi
738 if checkopt_with_docs_none ; then
739 echo " with-docs: none" >> "$TEMP_DIR/options"
740 ERROR=0
741 break
742 fi
743 break
744 done
745 if [ $ERROR -ne 0 ]; then
746 SAVED_ERROR=1
747 SAVED_DEPENDENCIES_FAILED="option 'with-docs' $SAVED_DEPENDENCIES_FAILED"
748 fi
749 ERROR="$SAVED_ERROR"
750 DEPENDENCIES_FAILED="$SAVED_DEPENDENCIES_FAILED"
751 else
752 echo "checking option with-docs = $OPT_WITH_DOCS"
753 if false; then
754 false
755 elif [ "$OPT_WITH_DOCS" = "all" ]; then
756 echo " with-docs: $OPT_WITH_DOCS" >> $TEMP_DIR/options
757 if checkopt_with_docs_all ; then
758 :
759 else
760 ERROR=1
761 DEPENDENCIES_FAILED="option 'with-docs' $DEPENDENCIES_FAILED"
762 fi
763 elif [ "$OPT_WITH_DOCS" = "html" ]; then
764 echo " with-docs: $OPT_WITH_DOCS" >> $TEMP_DIR/options
765 if checkopt_with_docs_html ; then
766 :
767 else
768 ERROR=1
769 DEPENDENCIES_FAILED="option 'with-docs' $DEPENDENCIES_FAILED"
770 fi
771 elif [ "$OPT_WITH_DOCS" = "api" ]; then
772 echo " with-docs: $OPT_WITH_DOCS" >> $TEMP_DIR/options
773 if checkopt_with_docs_api ; then
774 :
775 else
776 ERROR=1
777 DEPENDENCIES_FAILED="option 'with-docs' $DEPENDENCIES_FAILED"
778 fi
779 elif [ "$OPT_WITH_DOCS" = "none" ]; then
780 echo " with-docs: $OPT_WITH_DOCS" >> $TEMP_DIR/options
781 if checkopt_with_docs_none ; then
782 :
783 else
784 ERROR=1
785 DEPENDENCIES_FAILED="option 'with-docs' $DEPENDENCIES_FAILED"
786 fi
787 else
788 echo
789 echo "Invalid option value - usage:"
790 echo " --with-docs=(all|html|api|none)"
791 abort_configure
792 fi
793 fi
794 655
795 if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then 656 if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then
796 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" 657 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk"
797 fi 658 fi
798 if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then 659 if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then
830 echo "configure finished" 691 echo "configure finished"
831 echo 692 echo
832 echo "Build Config:" 693 echo "Build Config:"
833 echo " PREFIX: $prefix" 694 echo " PREFIX: $prefix"
834 echo " TOOLCHAIN: $TOOLCHAIN_NAME" 695 echo " TOOLCHAIN: $TOOLCHAIN_NAME"
835 echo "Options:"
836 cat "$TEMP_DIR/options"
837 echo "Features:" 696 echo "Features:"
697 if [ -n "$FEATURE_API_DOCS" ]; then
698 echo " api-docs: on"
699 else
700 echo " api-docs: off"
701 fi
838 if [ -n "$FEATURE_COVERAGE" ]; then 702 if [ -n "$FEATURE_COVERAGE" ]; then
839 echo " coverage: on" 703 echo " coverage: on"
840 else 704 else
841 echo " coverage: off" 705 echo " coverage: off"
842 fi 706 fi

mercurial