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: #foreach( $var in $vars ) universe@753: #if( $var.exec ) universe@753: ${var.varName}=`${var.value}` universe@753: #else universe@753: ${var.varName}="${var.value}" universe@753: #end universe@753: #end universe@753: universe@753: # features universe@753: #foreach( $feature in $features ) universe@753: #if( ${feature.auto} ) universe@753: ${feature.varName}=auto universe@753: #end universe@753: #end 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: #if( $options.size() > 0 ) 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: #foreach( $opt in $options ) universe@753: --${opt.argument}=${opt.valuesString} universe@753: #end universe@753: universe@753: #end universe@753: #if( $features.size() > 0 ) universe@753: Optional Features: universe@753: #foreach( $feature in $features ) universe@815: ${feature.helpText} universe@753: #end universe@753: universe@753: #end universe@753: __EOF__ universe@753: } universe@753: universe@753: # universe@753: # parse arguments universe@753: # universe@753: BUILD_TYPE="default" universe@753: #set( $D = '$' ) universe@753: for ARG in "$@" universe@753: do universe@753: case "$ARG" in universe@753: "--prefix="*) prefix=${D}{ARG#--prefix=} ;; universe@753: "--exec-prefix="*) exec_prefix=${D}{ARG#--exec-prefix=} ;; universe@753: "--bindir="*) bindir=${D}{ARG#----bindir=} ;; universe@753: "--sbindir="*) sbindir=${D}{ARG#--sbindir=} ;; universe@753: "--libdir="*) libdir=${D}{ARG#--libdir=} ;; universe@753: "--libexecdir="*) libexecdir=${D}{ARG#--libexecdir=} ;; universe@753: "--datarootdir="*) datarootdir=${D}{ARG#--datarootdir=} ;; universe@753: "--datadir="*) datadir=${D}{ARG#--datadir=} ;; universe@753: "--sysconfdir="*) sysconfdir=${D}{ARG#--sysconfdir=} ;; universe@753: "--sharedstatedir="*) sharedstatedir=${D}{ARG#--sharedstatedir=} ;; universe@753: "--localstatedir="*) localstatedir=${D}{ARG#--localstatedir=} ;; universe@753: "--includedir="*) includedir=${D}{ARG#--includedir=} ;; universe@753: "--infodir="*) infodir=${D}{ARG#--infodir=} ;; universe@753: "--mandir"*) mandir=${D}{ARG#--mandir} ;; universe@753: "--localedir"*) localedir=${D}{ARG#--localedir} ;; universe@753: "--help"*) printhelp; abort_configure ;; universe@753: "--debug") BUILD_TYPE="debug" ;; universe@753: "--release") BUILD_TYPE="release" ;; universe@753: #foreach( $opt in $options ) universe@753: "--${opt.argument}="*) ${opt.varName}=${D}{ARG#--${opt.argument}=} ;; universe@753: #end universe@753: #foreach( $feature in $features ) universe@753: "--enable-${feature.arg}") ${feature.varName}=on ;; universe@753: "--disable-${feature.arg}") unset ${feature.varName} ;; universe@753: #end universe@753: "-"*) echo "unknown option: $ARG"; abort_configure ;; universe@753: esac universe@753: done universe@753: universe@753: ## Begin unparsed content. ** 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: ## End of unparsed content ** 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@753: #foreach( $var in $vars ) universe@821: ${var.varName}=${D}${var.varName} universe@753: #end 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: #foreach( $lang in $languages ) universe@753: if detect_${lang}_compiler ; then universe@753: lang_${lang}=1 universe@753: fi universe@753: #end 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@753: #foreach( $dependency in $namedDependencies ) universe@753: dependency_error_${dependency.id}() universe@753: { universe@796: print_check_msg "${D}dep_checked_${dependency.id}" "checking for ${dependency.name}... " universe@753: #foreach( $sub in $dependency.subdependencies ) universe@753: # dependency $sub.fullName universe@753: while true universe@753: do universe@753: #if( $sub.platform ) universe@753: if notisplatform "${sub.platform}"; then universe@753: break universe@753: fi universe@753: #end universe@815: #if( $sub.toolchain ) universe@815: if notistoolchain "${sub.toolchain}"; then universe@815: break universe@815: fi universe@815: #end universe@753: #foreach( $np in $sub.notList ) universe@815: if isplatform "${np}" || istoolchain "${np}"; then universe@753: break universe@753: fi universe@753: #end universe@753: #foreach( $lang in $sub.lang ) universe@753: if [ -z "$lang_${lang}" ] ; then universe@753: break universe@753: fi universe@753: #end universe@753: #if( $sub.pkgconfig.size() > 0 ) universe@753: if [ -z "$PKG_CONFIG" ]; then universe@753: break universe@753: fi universe@753: #end universe@753: #foreach( $test in $sub.tests ) universe@753: if $test > /dev/null ; then universe@753: : universe@753: else universe@753: break universe@753: fi universe@753: #end universe@753: #foreach( $pkg in $sub.pkgconfig ) universe@753: if test_pkg_config "$pkg.name" "$pkg.atleast" "$pkg.exact" "$pkg.max" ; then universe@753: TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags $pkg.name`" universe@753: TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs $pkg.name`" universe@753: else universe@753: break universe@753: fi universe@753: #end universe@753: #foreach( $flags in $sub.flags ) universe@753: #if( $flags.exec ) universe@753: if tmp_flags=`$flags.value` ; then universe@753: TEMP_$flags.varName="$TEMP_$flags.varName $tmp_flags" universe@753: else universe@753: break universe@753: fi universe@753: #else universe@753: TEMP_$flags.varName="$TEMP_$flags.varName $flags.value" universe@753: #end universe@753: #end universe@753: #if ( $sub.make.length() > 0 ) universe@753: cat >> $TEMP_DIR/make.mk << __EOF__ universe@753: # Dependency: $dependency.name universe@753: $sub.make universe@753: __EOF__ universe@753: #end universe@796: print_check_msg "${D}dep_checked_${dependency.id}" "yes\n" universe@796: dep_checked_${dependency.id}=1 universe@753: return 1 universe@753: done universe@753: universe@753: #end universe@796: print_check_msg "${D}dep_checked_${dependency.id}" "no\n" universe@796: dep_checked_${dependency.id}=1 universe@753: return 0 universe@753: } universe@753: #end 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: #if( $dependencies.size() > 0 ) universe@753: # unnamed dependencies universe@753: TEMP_CFLAGS= universe@753: TEMP_CXXFLAGS= universe@753: TEMP_LDFLAGS= universe@753: #foreach( $dependency in $dependencies ) universe@753: while true universe@753: do universe@753: #if( $dependency.platform ) universe@753: if notisplatform "${dependency.platform}"; then universe@753: break universe@753: fi universe@753: #end universe@815: #if( $dependency.toolchain ) universe@815: if notistoolchain "${dependency.toolchain}"; then universe@815: break universe@815: fi universe@815: #end universe@753: #foreach( $np in $dependency.notList ) universe@815: if isplatform "${np}" || istoolchain "${np}"; then universe@753: break universe@753: fi universe@753: #end universe@753: while true universe@753: do universe@753: #foreach( $lang in $dependency.lang ) universe@753: if [ -z "$lang_${lang}" ] ; then universe@753: ERROR=1 universe@753: break universe@753: fi universe@753: #end universe@753: #if( $dependency.pkgconfig.size() > 0 ) universe@753: if [ -z "$PKG_CONFIG" ]; then universe@753: ERROR=1 universe@753: break universe@753: fi universe@753: #end universe@753: #foreach( $pkg in $dependency.pkgconfig ) universe@796: print_check_msg "${D}dep_pkgconfig_checked_${pkg.id}" "checking for pkg-config package $pkg.name... " universe@753: if test_pkg_config "$pkg.name" "$pkg.atleast" "$pkg.exact" "$pkg.max" ; then universe@796: print_check_msg "${D}dep_pkgconfig_checked_${pkg.id}" "yes\n" universe@796: dep_pkgconfig_checked_${pkg.id}=1 universe@753: TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags $pkg.name`" universe@753: TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs $pkg.name`" universe@753: else universe@796: print_check_msg "${D}dep_pkgconfig_checked_${pkg.id}" "no\n" universe@796: dep_pkgconfig_checked_${pkg.id}=1 universe@753: ERROR=1 universe@753: break universe@753: fi universe@753: #end universe@753: universe@753: #foreach( $flags in $dependency.flags ) universe@753: #if( $flags.exec ) universe@753: $flags.value > /dev/null universe@753: if tmp_flags=`$flags.value` ; then universe@753: TEMP_$flags.varName="$TEMP_$flags.varName $tmp_flags" universe@753: else universe@753: ERROR=1 universe@753: break universe@753: fi universe@753: #else universe@753: TEMP_$flags.varName="$TEMP_$flags.varName $flags.value" universe@753: #end universe@753: #end universe@753: #if ( $dependency.make.length() > 0 ) universe@753: cat >> "$TEMP_DIR/make.mk" << __EOF__ universe@753: $dependency.make universe@753: __EOF__ universe@753: #end universe@753: break universe@753: done universe@753: break universe@753: done universe@753: #end 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: #end universe@753: universe@753: # universe@753: # OPTION VALUES universe@753: # universe@753: #foreach( $opt in $options ) universe@753: #foreach( $val in $opt.values ) universe@753: ${val.func}() universe@753: { universe@753: VERR=0 universe@753: #foreach( $dep in $val.dependencies ) universe@753: if dependency_error_$dep ; then universe@753: VERR=1 universe@753: fi universe@753: #end universe@753: if [ $VERR -ne 0 ]; then universe@753: return 1 universe@753: fi universe@753: #foreach( $def in $val.defines ) universe@753: TEMP_CFLAGS="$TEMP_CFLAGS ${def.toFlags()}" universe@753: TEMP_CXXFLAGS="$TEMP_CXXFLAGS ${def.toFlags()}" universe@753: #end universe@753: #if( $val.hasMake() ) universe@753: cat >> "$TEMP_DIR/make.mk" << __EOF__ universe@753: $val.make universe@753: __EOF__ universe@753: #end universe@753: return 0 universe@753: } universe@753: #end universe@753: #end universe@753: universe@753: # universe@753: # TARGETS universe@753: # universe@753: universe@753: #foreach( $target in $targets ) universe@753: echo >> "$TEMP_DIR/flags.mk" universe@753: #if ( $target.name ) universe@753: echo "configuring target: $target.name" universe@753: echo "# flags for target $target.name" >> "$TEMP_DIR/flags.mk" universe@753: #else universe@753: echo "configuring global target" universe@753: echo "# flags for unnamed target" >> "$TEMP_DIR/flags.mk" universe@753: #end universe@753: TEMP_CFLAGS= universe@753: TEMP_CXXFLAGS= universe@753: TEMP_LDFLAGS= universe@753: universe@753: #foreach( $dependency in $target.dependencies ) universe@753: if dependency_error_$dependency; then universe@753: DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} " universe@753: ERROR=1 universe@753: fi universe@753: #end universe@753: universe@753: # Features universe@753: #foreach( $feature in $target.features ) universe@753: if [ -n "${D}${feature.varName}" ]; then universe@753: #foreach( $dependency in $feature.dependencies ) universe@753: # check dependency universe@753: if dependency_error_$dependency ; then universe@753: # "auto" features can fail and are just disabled in this case universe@753: if [ "${D}${feature.varName}" = "auto" ]; then universe@753: DISABLE_${feature.varName}=1 universe@753: else universe@753: DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} " universe@753: ERROR=1 universe@753: fi universe@753: fi universe@753: #end universe@753: if [ -n "$DISABLE_${feature.varName}" ]; then universe@753: unset ${feature.varName} universe@753: fi universe@753: fi universe@753: #end universe@753: universe@753: #foreach( $opt in $target.options ) universe@753: # Option: --${opt.argument} universe@753: if [ -z "${D}${opt.varName}" ]; then universe@753: echo "auto-detecting option '${opt.argument}'" 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: #foreach( $optdef in $opt.defaults ) universe@753: #if( $optdef.platform ) universe@753: if isplatform "$optdef.platform"; then universe@753: #end universe@753: if $optdef.func ; then universe@753: echo " ${opt.argument}: ${optdef.valueName}" >> "$TEMP_DIR/options" universe@753: ERROR=0 universe@753: break universe@753: fi universe@753: #if( $optdef.platform ) universe@753: fi universe@753: #end universe@753: #end universe@753: break universe@753: done universe@753: if [ $ERROR -ne 0 ]; then universe@753: SAVED_ERROR=1 universe@753: SAVED_DEPENDENCIES_FAILED="option '${opt.argument}' $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 ${opt.argument} = ${D}${opt.varName}" universe@753: if false; then universe@753: false universe@753: #foreach( $optval in $opt.values ) universe@753: elif [ "${D}${opt.varName}" = "${optval.value}" ]; then universe@753: echo " ${opt.argument}: ${D}${opt.varName}" >> $TEMP_DIR/options universe@753: if $optval.func ; then universe@753: : universe@753: else universe@753: ERROR=1 universe@753: DEPENDENCIES_FAILED="option '${opt.argument}' $DEPENDENCIES_FAILED" universe@753: fi universe@753: #end universe@753: fi universe@753: fi universe@753: #end universe@753: universe@815: if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then universe@753: echo "${target.cFlags} += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" universe@753: fi universe@815: if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then universe@753: echo "${target.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 '${target.cFlags} += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: if [ -n "$lang_cpp" ]; then universe@753: echo '${target.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 '${target.cFlags} += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: if [ -n "$lang_cpp" ]; then universe@753: echo '${target.cxxFlags} += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: fi universe@753: if [ -n "${TEMP_LDFLAGS}" ]; then universe@753: echo "${target.ldFlags} += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" universe@753: fi universe@753: universe@753: #end 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: #if ( $options.size() > 0 ) universe@753: echo "Options:" universe@753: cat "$TEMP_DIR/options" universe@753: #end universe@753: #if ( $features.size() > 0 ) universe@753: echo "Features:" universe@753: #foreach( $feature in $features ) universe@753: if [ -n "${D}${feature.varName}" ]; then universe@753: echo " $feature.name: on" universe@753: else universe@753: echo " $feature.name: off" universe@753: fi universe@753: #end universe@753: #end 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"