universe@753: #!/bin/sh universe@753: universe@753: # create temporary directory universe@753: TEMP_DIR=".tmp-`uname -n`" universe@753: rm -Rf "$TEMP_DIR" universe@753: if mkdir -p "$TEMP_DIR"; then universe@753: : universe@753: else universe@753: echo "Cannot create tmp dir $TEMP_DIR" universe@753: echo "Abort" universe@753: exit 1 universe@753: fi universe@753: touch "$TEMP_DIR/options" universe@753: touch "$TEMP_DIR/features" universe@753: universe@753: # define standard variables universe@753: # also define standard prefix (this is where we will search for config.site) universe@753: prefix=/usr universe@753: exec_prefix= universe@753: bindir= universe@753: sbindir= universe@753: libdir= universe@753: libexecdir= universe@753: datarootdir= universe@753: datadir= universe@753: sysconfdir= universe@753: sharedstatedir= universe@753: localstatedir= universe@753: runstatedir= universe@753: includedir= universe@753: infodir= universe@753: localedir= universe@753: mandir= universe@753: universe@753: # custom variables universe@753: src_dir=`pwd` universe@753: DOXYGEN=`command -v doxygen` universe@753: PANDOC=`command -v pandoc` universe@753: universe@753: # features universe@753: universe@753: # clean abort universe@753: abort_configure() universe@753: { universe@753: rm -Rf "$TEMP_DIR" universe@753: exit 1 universe@753: } universe@753: universe@753: # help text universe@753: printhelp() universe@753: { universe@753: echo "Usage: $0 [OPTIONS]..." universe@753: cat << __EOF__ universe@753: Installation directories: universe@753: --prefix=PREFIX path prefix for architecture-independent files universe@753: [/usr] universe@753: --exec-prefix=EPREFIX path prefix for architecture-dependent files universe@753: [PREFIX] universe@753: universe@753: --bindir=DIR user executables [EPREFIX/bin] universe@753: --sbindir=DIR system admin executables [EPREFIX/sbin] universe@753: --libexecdir=DIR program executables [EPREFIX/libexec] universe@753: --sysconfdir=DIR system configuration files [PREFIX/etc] universe@753: --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] universe@753: --localstatedir=DIR modifiable single-machine data [PREFIX/var] universe@753: --runstatedir=DIR run-time variable data [LOCALSTATEDIR/run] universe@753: --libdir=DIR object code libraries [EPREFIX/lib] universe@753: --includedir=DIR C header files [PREFIX/include] universe@753: --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] universe@753: --datadir=DIR read-only architecture-independent data [DATAROOTDIR] universe@753: --infodir=DIR info documentation [DATAROOTDIR/info] universe@753: --mandir=DIR man documentation [DATAROOTDIR/man] universe@753: --localedir=DIR locale-dependent data [DATAROOTDIR/locale] universe@753: universe@753: Options: universe@753: --debug add extra compile flags for debug builds universe@753: --release add extra compile flags for release builds universe@753: --with-docs=(all|html|api|none) universe@753: universe@772: Optional Features: universe@772: --enable-coverage universe@772: universe@753: __EOF__ universe@753: } universe@753: universe@753: # universe@753: # parse arguments universe@753: # universe@753: BUILD_TYPE="default" universe@753: for ARG in "$@" universe@753: do universe@753: case "$ARG" in universe@753: "--prefix="*) prefix=${ARG#--prefix=} ;; universe@753: "--exec-prefix="*) exec_prefix=${ARG#--exec-prefix=} ;; universe@753: "--bindir="*) bindir=${ARG#----bindir=} ;; universe@753: "--sbindir="*) sbindir=${ARG#--sbindir=} ;; universe@753: "--libdir="*) libdir=${ARG#--libdir=} ;; universe@753: "--libexecdir="*) libexecdir=${ARG#--libexecdir=} ;; universe@753: "--datarootdir="*) datarootdir=${ARG#--datarootdir=} ;; universe@753: "--datadir="*) datadir=${ARG#--datadir=} ;; universe@753: "--sysconfdir="*) sysconfdir=${ARG#--sysconfdir=} ;; universe@753: "--sharedstatedir="*) sharedstatedir=${ARG#--sharedstatedir=} ;; universe@753: "--localstatedir="*) localstatedir=${ARG#--localstatedir=} ;; universe@753: "--includedir="*) includedir=${ARG#--includedir=} ;; universe@753: "--infodir="*) infodir=${ARG#--infodir=} ;; universe@753: "--mandir"*) mandir=${ARG#--mandir} ;; universe@753: "--localedir"*) localedir=${ARG#--localedir} ;; universe@753: "--help"*) printhelp; abort_configure ;; universe@753: "--debug") BUILD_TYPE="debug" ;; universe@753: "--release") BUILD_TYPE="release" ;; universe@753: "--with-docs="*) OPT_WITH_DOCS=${ARG#--with-docs=} ;; universe@772: "--enable-coverage") FEATURE_COVERAGE=on ;; universe@772: "--disable-coverage") unset FEATURE_COVERAGE ;; universe@753: "-"*) echo "unknown option: $ARG"; abort_configure ;; universe@753: esac universe@753: done universe@753: universe@753: universe@753: universe@753: # set defaults for dir variables universe@753: : ${exec_prefix:="$prefix"} universe@753: : ${bindir:='${exec_prefix}/bin'} universe@753: : ${sbindir:='${exec_prefix}/sbin'} universe@753: : ${libdir:='${exec_prefix}/lib'} universe@753: : ${libexecdir:='${exec_prefix}/libexec'} universe@753: : ${datarootdir:='${prefix}/share'} universe@753: : ${datadir:='${datarootdir}'} universe@753: : ${sysconfdir:='${prefix}/etc'} universe@753: : ${sharedstatedir:='${prefix}/com'} universe@753: : ${localstatedir:='${prefix}/var'} universe@753: : ${runstatedir:='${localstatedir}/run'} universe@753: : ${includedir:='${prefix}/include'} universe@753: : ${infodir:='${datarootdir}/info'} universe@753: : ${mandir:='${datarootdir}/man'} universe@753: : ${localedir:='${datarootdir}/locale'} universe@753: universe@753: # check if a config.site exists and load it universe@753: if [ -n "$CONFIG_SITE" ]; then universe@753: # CONFIG_SITE may contain space separated file names universe@753: for cs in $CONFIG_SITE; do universe@753: printf "loading defaults from $cs... " universe@753: . "$cs" universe@753: echo ok universe@753: done universe@753: elif [ -f "$prefix/share/config.site" ]; then universe@753: printf "loading site defaults... " universe@753: . "$prefix/share/config.site" universe@753: echo ok universe@753: elif [ -f "$prefix/etc/config.site" ]; then universe@753: printf "loading site defaults... " universe@753: . "$prefix/etc/config.site" universe@753: echo ok universe@753: fi universe@753: universe@753: # Test for availability of pkg-config universe@753: PKG_CONFIG=`command -v pkg-config` universe@753: : ${PKG_CONFIG:="false"} universe@753: universe@753: # Simple uname based platform detection universe@753: # $PLATFORM is used for platform dependent dependency selection universe@753: OS=`uname -s` universe@753: OS_VERSION=`uname -r` universe@753: printf "detect platform... " universe@753: if [ "$OS" = "SunOS" ]; then universe@753: PLATFORM="solaris sunos unix svr4" universe@815: elif [ "$OS" = "Linux" ]; then universe@753: PLATFORM="linux unix" universe@815: elif [ "$OS" = "FreeBSD" ]; then universe@753: PLATFORM="freebsd bsd unix" universe@815: elif [ "$OS" = "OpenBSD" ]; then universe@815: PLATFORM="openbsd bsd unix" universe@815: elif [ "$OS" = "NetBSD" ]; then universe@815: PLATFORM="netbsd bsd unix" universe@815: elif [ "$OS" = "Darwin" ]; then universe@753: PLATFORM="macos osx bsd unix" universe@815: elif echo "$OS" | grep -i "MINGW" > /dev/null; then universe@753: PLATFORM="windows mingw" universe@753: fi universe@753: : ${PLATFORM:="unix"} universe@753: universe@753: PLATFORM_NAME=`echo "$PLATFORM" | cut -f1 -d' ' -` universe@753: echo "$PLATFORM_NAME" universe@753: universe@753: isplatform() universe@753: { universe@753: for p in $PLATFORM universe@753: do universe@753: if [ "$p" = "$1" ]; then universe@753: return 0 universe@753: fi universe@753: done universe@753: return 1 universe@753: } universe@753: notisplatform() universe@753: { universe@753: for p in $PLATFORM universe@753: do universe@753: if [ "$p" = "$1" ]; then universe@753: return 1 universe@753: fi universe@753: done universe@753: return 0 universe@753: } universe@815: istoolchain() universe@815: { universe@815: for t in $TOOLCHAIN universe@815: do universe@815: if [ "$t" = "$1" ]; then universe@815: return 0 universe@815: fi universe@815: done universe@815: return 1 universe@815: } universe@815: notistoolchain() universe@815: { universe@815: for t in $TOOLCHAIN universe@815: do universe@815: if [ "$t" = "$1" ]; then universe@815: return 1 universe@815: fi universe@815: done universe@815: return 0 universe@815: } universe@753: universe@753: universe@753: # generate vars.mk universe@753: cat > "$TEMP_DIR/vars.mk" << __EOF__ universe@821: prefix=$prefix universe@821: exec_prefix=$exec_prefix universe@821: bindir=$bindir universe@821: sbindir=$sbindir universe@821: libdir=$libdir universe@821: libexecdir=$libexecdir universe@821: datarootdir=$datarootdir universe@821: datadir=$datadir universe@821: sysconfdir=$sysconfdir universe@821: sharedstatedir=$sharedstatedir universe@821: localstatedir=$localstatedir universe@821: runstatedir=$runstatedir universe@821: includedir=$includedir universe@821: infodir=$infodir universe@821: mandir=$mandir universe@821: localedir=$localedir universe@821: src_dir=$src_dir universe@821: DOXYGEN=$DOXYGEN universe@821: PANDOC=$PANDOC universe@753: __EOF__ universe@753: universe@753: # toolchain detection utilities universe@753: . make/toolchain.sh universe@753: universe@753: # universe@753: # DEPENDENCIES universe@753: # universe@753: universe@753: # check languages universe@753: lang_c= universe@753: lang_cpp= universe@753: if detect_c_compiler ; then universe@753: lang_c=1 universe@753: fi universe@753: universe@753: # create buffer for make variables required by dependencies universe@753: echo > "$TEMP_DIR/make.mk" universe@753: universe@753: test_pkg_config() universe@753: { universe@753: if "$PKG_CONFIG" --exists "$1" ; then : universe@753: else return 1 ; fi universe@753: if [ -z "$2" ] || "$PKG_CONFIG" --atleast-version="$2" "$1" ; then : universe@753: else return 1 ; fi universe@753: if [ -z "$3" ] || "$PKG_CONFIG" --exact-version="$3" "$1" ; then : universe@753: else return 1 ; fi universe@753: if [ -z "$4" ] || "$PKG_CONFIG" --max-version="$4" "$1" ; then : universe@753: else return 1 ; fi universe@753: return 0 universe@753: } universe@753: universe@796: print_check_msg() universe@796: { universe@796: if [ -z "$1" ]; then universe@796: shift universe@796: printf "$@" universe@796: fi universe@796: } universe@796: universe@772: dependency_error_coverage() universe@772: { universe@796: print_check_msg "$dep_checked_coverage" "checking for coverage... " universe@815: # dependency coverage toolchain="gnuc" universe@772: while true universe@772: do universe@815: if notistoolchain "gnuc"; then universe@815: break universe@815: fi universe@788: TEMP_CFLAGS="$TEMP_CFLAGS \${COVERAGE_CFLAGS}" universe@788: TEMP_LDFLAGS="$TEMP_LDFLAGS \${COVERAGE_LDFLAGS}" universe@796: print_check_msg "$dep_checked_coverage" "yes\n" universe@796: dep_checked_coverage=1 universe@772: return 1 universe@772: done universe@772: universe@796: print_check_msg "$dep_checked_coverage" "no\n" universe@796: dep_checked_coverage=1 universe@772: return 0 universe@772: } universe@753: dependency_error_pandoc() universe@753: { universe@796: print_check_msg "$dep_checked_pandoc" "checking for pandoc... " universe@753: # dependency pandoc universe@753: while true universe@753: do universe@753: if test -n "$PANDOC" > /dev/null ; then universe@753: : universe@753: else universe@753: break universe@753: fi universe@796: print_check_msg "$dep_checked_pandoc" "yes\n" universe@796: dep_checked_pandoc=1 universe@753: return 1 universe@753: done universe@753: universe@796: print_check_msg "$dep_checked_pandoc" "no\n" universe@796: dep_checked_pandoc=1 universe@753: return 0 universe@753: } universe@753: dependency_error_c() universe@753: { universe@796: print_check_msg "$dep_checked_c" "checking for c... " universe@753: # dependency c platform="mingw" universe@753: while true universe@753: do universe@753: if notisplatform "mingw"; then universe@753: break universe@753: fi universe@753: if [ -z "$lang_c" ] ; then universe@753: break universe@753: fi universe@753: cat >> $TEMP_DIR/make.mk << __EOF__ universe@753: # Dependency: c universe@753: AR=ar universe@753: ARFLAGS=r universe@753: STLIB_EXT=.lib universe@753: SHLIB_EXT=.dll universe@753: __EOF__ universe@796: print_check_msg "$dep_checked_c" "yes\n" universe@796: dep_checked_c=1 universe@753: return 1 universe@753: done universe@753: universe@753: # dependency c platform="macos" universe@753: while true universe@753: do universe@753: if notisplatform "macos"; then universe@753: break universe@753: fi universe@753: if [ -z "$lang_c" ] ; then universe@753: break universe@753: fi universe@753: cat >> $TEMP_DIR/make.mk << __EOF__ universe@753: # Dependency: c universe@753: AR=ar universe@753: ARFLAGS=r universe@753: STLIB_EXT=.a universe@753: SHLIB_EXT=.dylib universe@753: __EOF__ universe@796: print_check_msg "$dep_checked_c" "yes\n" universe@796: dep_checked_c=1 universe@753: return 1 universe@753: done universe@753: universe@753: # dependency c platform="unix" universe@753: while true universe@753: do universe@753: if notisplatform "unix"; then universe@753: break universe@753: fi universe@753: if [ -z "$lang_c" ] ; then universe@753: break universe@753: fi universe@753: cat >> $TEMP_DIR/make.mk << __EOF__ universe@753: # Dependency: c universe@753: AR=ar universe@753: ARFLAGS=r universe@753: STLIB_EXT=.a universe@753: SHLIB_EXT=.so universe@753: __EOF__ universe@796: print_check_msg "$dep_checked_c" "yes\n" universe@796: dep_checked_c=1 universe@753: return 1 universe@753: done universe@753: universe@796: print_check_msg "$dep_checked_c" "no\n" universe@796: dep_checked_c=1 universe@753: return 0 universe@753: } universe@753: dependency_error_file_tools() universe@753: { universe@821: print_check_msg "$dep_checked_file_tools" "checking for file_tools... " universe@753: # dependency file-tools universe@753: while true universe@753: do universe@753: cat >> $TEMP_DIR/make.mk << __EOF__ universe@821: # Dependency: file_tools universe@754: MKDIR=/bin/mkdir -p universe@754: RMFILE=/bin/rm -f universe@754: RMDIR=/bin/rm -f -R universe@754: COPYFILE=/bin/cp -f universe@754: COPYALL=/bin/cp -f -R universe@754: SYMLINK=/bin/ln -s universe@753: __EOF__ universe@796: print_check_msg "$dep_checked_file_tools" "yes\n" universe@796: dep_checked_file_tools=1 universe@753: return 1 universe@753: done universe@753: universe@796: print_check_msg "$dep_checked_file_tools" "no\n" universe@796: dep_checked_file_tools=1 universe@753: return 0 universe@753: } universe@753: dependency_error_doxygen() universe@753: { universe@796: print_check_msg "$dep_checked_doxygen" "checking for doxygen... " universe@753: # dependency doxygen universe@753: while true universe@753: do universe@753: if test -n "$DOXYGEN" > /dev/null ; then universe@753: : universe@753: else universe@753: break universe@753: fi universe@796: print_check_msg "$dep_checked_doxygen" "yes\n" universe@796: dep_checked_doxygen=1 universe@753: return 1 universe@753: done universe@753: universe@796: print_check_msg "$dep_checked_doxygen" "no\n" universe@796: dep_checked_doxygen=1 universe@753: return 0 universe@753: } universe@753: universe@753: # start collecting dependency information universe@753: echo > "$TEMP_DIR/flags.mk" universe@753: universe@753: DEPENDENCIES_FAILED= universe@753: ERROR=0 universe@753: # unnamed dependencies universe@753: TEMP_CFLAGS= universe@753: TEMP_CXXFLAGS= universe@753: TEMP_LDFLAGS= universe@753: while true universe@753: do universe@753: while true universe@753: do universe@753: universe@753: cat >> "$TEMP_DIR/make.mk" << __EOF__ universe@753: # library version universe@759: VERSION=3.1.0 universe@825: LIBVERSION=5.0.0 universe@825: LIBVERSION_MAJOR=5 universe@753: universe@753: # build directory structure !! do not change or override !! universe@754: build_dir=${src_dir}/build universe@754: docs_dir=${src_dir}/build/docs universe@754: dist_dir=${src_dir}/dist universe@753: __EOF__ universe@753: break universe@753: done universe@753: break universe@753: done olaf@842: while true olaf@842: do olaf@842: if notisplatform "solaris"; then olaf@842: break olaf@842: fi olaf@842: while true olaf@842: do olaf@842: olaf@842: TEMP_LDFLAGS="$TEMP_LDFLAGS -lm" olaf@842: break olaf@842: done olaf@842: break olaf@842: done universe@753: universe@753: # add general dependency flags to flags.mk universe@753: echo "# general flags" >> "$TEMP_DIR/flags.mk" universe@815: if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then universe@753: echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" universe@753: fi universe@815: if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then universe@753: echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: if [ -n "${TEMP_LDFLAGS}" ]; then universe@753: echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: universe@753: # universe@753: # OPTION VALUES universe@753: # universe@753: checkopt_with_docs_all() universe@753: { universe@753: VERR=0 universe@753: if dependency_error_pandoc ; then universe@753: VERR=1 universe@753: fi universe@753: if dependency_error_doxygen ; then universe@753: VERR=1 universe@753: fi universe@753: if [ $VERR -ne 0 ]; then universe@753: return 1 universe@753: fi universe@753: cat >> "$TEMP_DIR/make.mk" << __EOF__ universe@753: # Documentation universe@753: WITH_DOCS_API=yes universe@753: WITH_DOCS_HTML=yes universe@753: __EOF__ universe@753: return 0 universe@753: } universe@753: checkopt_with_docs_html() universe@753: { universe@753: VERR=0 universe@753: if dependency_error_pandoc ; then universe@753: VERR=1 universe@753: fi universe@753: if [ $VERR -ne 0 ]; then universe@753: return 1 universe@753: fi universe@753: cat >> "$TEMP_DIR/make.mk" << __EOF__ universe@753: # Documentation universe@753: WITH_DOCS_HTML=yes universe@753: __EOF__ universe@753: return 0 universe@753: } universe@753: checkopt_with_docs_api() universe@753: { universe@753: VERR=0 universe@753: if dependency_error_doxygen ; then universe@753: VERR=1 universe@753: fi universe@753: if [ $VERR -ne 0 ]; then universe@753: return 1 universe@753: fi universe@753: cat >> "$TEMP_DIR/make.mk" << __EOF__ universe@753: # Documentation universe@753: WITH_DOCS_API=yes universe@753: __EOF__ universe@753: return 0 universe@753: } universe@753: checkopt_with_docs_none() universe@753: { universe@753: VERR=0 universe@753: if [ $VERR -ne 0 ]; then universe@753: return 1 universe@753: fi universe@753: return 0 universe@753: } universe@753: universe@753: # universe@753: # TARGETS universe@753: # universe@753: universe@753: echo >> "$TEMP_DIR/flags.mk" universe@753: echo "configuring global target" universe@753: echo "# flags for unnamed target" >> "$TEMP_DIR/flags.mk" universe@753: TEMP_CFLAGS= universe@753: TEMP_CXXFLAGS= universe@753: TEMP_LDFLAGS= universe@753: universe@753: if dependency_error_c; then universe@753: DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED c " universe@753: ERROR=1 universe@753: fi universe@753: if dependency_error_file_tools; then universe@753: DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED file_tools " universe@753: ERROR=1 universe@753: fi universe@753: universe@753: # Features universe@772: if [ -n "$FEATURE_COVERAGE" ]; then universe@772: # check dependency universe@772: if dependency_error_coverage ; then universe@772: # "auto" features can fail and are just disabled in this case universe@772: if [ "$FEATURE_COVERAGE" = "auto" ]; then universe@772: DISABLE_FEATURE_COVERAGE=1 universe@772: else universe@772: DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED coverage " universe@772: ERROR=1 universe@772: fi universe@772: fi universe@772: if [ -n "$DISABLE_FEATURE_COVERAGE" ]; then universe@772: unset FEATURE_COVERAGE universe@772: fi universe@772: fi universe@753: universe@753: # Option: --with-docs universe@753: if [ -z "$OPT_WITH_DOCS" ]; then universe@753: echo "auto-detecting option 'with-docs'" universe@753: SAVED_ERROR="$ERROR" universe@753: SAVED_DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED" universe@753: ERROR=1 universe@753: while true universe@753: do universe@753: if checkopt_with_docs_all ; then universe@753: echo " with-docs: all" >> "$TEMP_DIR/options" universe@753: ERROR=0 universe@753: break universe@753: fi universe@753: if checkopt_with_docs_html ; then universe@753: echo " with-docs: html" >> "$TEMP_DIR/options" universe@753: ERROR=0 universe@753: break universe@753: fi universe@753: if checkopt_with_docs_api ; then universe@753: echo " with-docs: api" >> "$TEMP_DIR/options" universe@753: ERROR=0 universe@753: break universe@753: fi universe@753: if checkopt_with_docs_none ; then universe@753: echo " with-docs: none" >> "$TEMP_DIR/options" universe@753: ERROR=0 universe@753: break universe@753: fi universe@753: break universe@753: done universe@753: if [ $ERROR -ne 0 ]; then universe@753: SAVED_ERROR=1 universe@753: SAVED_DEPENDENCIES_FAILED="option 'with-docs' $SAVED_DEPENDENCIES_FAILED" universe@753: fi universe@753: ERROR="$SAVED_ERROR" universe@753: DEPENDENCIES_FAILED="$SAVED_DEPENDENCIES_FAILED" universe@753: else universe@753: echo "checking option with-docs = $OPT_WITH_DOCS" universe@753: if false; then universe@753: false universe@753: elif [ "$OPT_WITH_DOCS" = "all" ]; then universe@753: echo " with-docs: $OPT_WITH_DOCS" >> $TEMP_DIR/options universe@753: if checkopt_with_docs_all ; then universe@753: : universe@753: else universe@753: ERROR=1 universe@753: DEPENDENCIES_FAILED="option 'with-docs' $DEPENDENCIES_FAILED" universe@753: fi universe@753: elif [ "$OPT_WITH_DOCS" = "html" ]; then universe@753: echo " with-docs: $OPT_WITH_DOCS" >> $TEMP_DIR/options universe@753: if checkopt_with_docs_html ; then universe@753: : universe@753: else universe@753: ERROR=1 universe@753: DEPENDENCIES_FAILED="option 'with-docs' $DEPENDENCIES_FAILED" universe@753: fi universe@753: elif [ "$OPT_WITH_DOCS" = "api" ]; then universe@753: echo " with-docs: $OPT_WITH_DOCS" >> $TEMP_DIR/options universe@753: if checkopt_with_docs_api ; then universe@753: : universe@753: else universe@753: ERROR=1 universe@753: DEPENDENCIES_FAILED="option 'with-docs' $DEPENDENCIES_FAILED" universe@753: fi universe@753: elif [ "$OPT_WITH_DOCS" = "none" ]; then universe@753: echo " with-docs: $OPT_WITH_DOCS" >> $TEMP_DIR/options universe@753: if checkopt_with_docs_none ; then universe@753: : universe@753: else universe@753: ERROR=1 universe@753: DEPENDENCIES_FAILED="option 'with-docs' $DEPENDENCIES_FAILED" universe@753: fi universe@753: fi universe@753: fi universe@753: universe@815: if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then universe@753: echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" universe@753: fi universe@815: if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then universe@753: echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: if [ "$BUILD_TYPE" = "debug" ]; then universe@753: if [ -n "$lang_c" ]; then universe@753: echo 'CFLAGS += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: if [ -n "$lang_cpp" ]; then universe@753: echo 'CXXFLAGS += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: fi universe@753: if [ "$BUILD_TYPE" = "release" ]; then universe@753: if [ -n "$lang_c" ]; then universe@753: echo 'CFLAGS += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: if [ -n "$lang_cpp" ]; then universe@753: echo 'CXXFLAGS += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: fi universe@753: if [ -n "${TEMP_LDFLAGS}" ]; then universe@753: echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: universe@753: universe@753: # final result universe@753: if [ $ERROR -ne 0 ]; then universe@753: echo universe@753: echo "Error: Unresolved dependencies" universe@753: echo "$DEPENDENCIES_FAILED" universe@753: abort_configure universe@753: fi universe@753: universe@753: echo "configure finished" universe@753: echo universe@753: echo "Build Config:" universe@753: echo " PREFIX: $prefix" universe@753: echo " TOOLCHAIN: $TOOLCHAIN_NAME" universe@753: echo "Options:" universe@753: cat "$TEMP_DIR/options" universe@772: echo "Features:" universe@772: if [ -n "$FEATURE_COVERAGE" ]; then universe@772: echo " coverage: on" universe@772: else universe@772: echo " coverage: off" universe@772: fi universe@753: echo universe@753: universe@753: # generate the config.mk file universe@753: cat > "$TEMP_DIR/config.mk" << __EOF__ universe@753: # universe@753: # config.mk generated by configure universe@753: # universe@753: universe@753: __EOF__ universe@753: write_toolchain_defaults "$TEMP_DIR/toolchain.mk" universe@753: cat "$TEMP_DIR/vars.mk" "$TEMP_DIR/toolchain.mk" "$TEMP_DIR/flags.mk" "$TEMP_DIR/make.mk" > config.mk universe@753: rm -Rf "$TEMP_DIR"