1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/make/configure.vm Fri Sep 22 23:26:23 2023 +0200 1.3 @@ -0,0 +1,597 @@ 1.4 +#!/bin/sh 1.5 + 1.6 +# create temporary directory 1.7 +TEMP_DIR=".tmp-`uname -n`" 1.8 +rm -Rf "$TEMP_DIR" 1.9 +if mkdir -p "$TEMP_DIR"; then 1.10 + : 1.11 +else 1.12 + echo "Cannot create tmp dir $TEMP_DIR" 1.13 + echo "Abort" 1.14 + exit 1 1.15 +fi 1.16 +touch "$TEMP_DIR/options" 1.17 +touch "$TEMP_DIR/features" 1.18 + 1.19 +# define standard variables 1.20 +PREFIX=/usr 1.21 +EPREFIX= 1.22 +BINDIR= 1.23 +SBINDIR= 1.24 +LIBDIR= 1.25 +LIBEXECDIR= 1.26 +DATADIR= 1.27 +SYSCONFDIR= 1.28 +SHAREDSTATEDIR= 1.29 +LOCALSTATEDIR= 1.30 +INCLUDEDIR= 1.31 +INFODIR= 1.32 +MANDIR= 1.33 + 1.34 +# custom variables 1.35 +#foreach( $var in $vars ) 1.36 +#if( $var.exec ) 1.37 +${var.varName}=`${var.value}` 1.38 +#else 1.39 +${var.varName}=${var.value} 1.40 +#end 1.41 +#end 1.42 + 1.43 +# features 1.44 +#foreach( $feature in $features ) 1.45 +#if( ${feature.isDefault()} ) 1.46 +${feature.getVarName()}=auto 1.47 +#end 1.48 +#end 1.49 + 1.50 +# clean abort 1.51 +abort_configure() 1.52 +{ 1.53 + rm -Rf "$TEMP_DIR" 1.54 + exit 1 1.55 +} 1.56 + 1.57 +# help text 1.58 +printhelp() 1.59 +{ 1.60 + echo "Usage: $0 [OPTIONS]..." 1.61 + cat << __EOF__ 1.62 +Installation directories: 1.63 + --prefix=PREFIX path prefix for architecture-independent files 1.64 + [/usr] 1.65 + --exec-prefix=EPREFIX path prefix for architecture-dependent files 1.66 + [PREFIX] 1.67 + 1.68 + --bindir=DIR user executables [EPREFIX/bin] 1.69 + --sbindir=DIR system admin executables [EPREFIX/sbin] 1.70 + --libexecdir=DIR program executables [EPREFIX/libexec] 1.71 + --sysconfdir=DIR system configuration files [PREFIX/etc] 1.72 + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] 1.73 + --localstatedir=DIR modifiable single-machine data [PREFIX/var] 1.74 + --libdir=DIR object code libraries [EPREFIX/lib] 1.75 + --includedir=DIR C header files [PREFIX/include] 1.76 + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] 1.77 + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] 1.78 + --infodir=DIR info documentation [DATAROOTDIR/info] 1.79 + --mandir=DIR man documentation [DATAROOTDIR/man] 1.80 + 1.81 +#if( $options.size() > 0 ) 1.82 +Options: 1.83 + --debug add extra compile flags for debug builds 1.84 + --release add extra compile flags for release builds 1.85 +#foreach( $opt in $options ) 1.86 + --${opt.getArgument()}=${opt.getValuesString()} 1.87 +#end 1.88 + 1.89 +#end 1.90 +#if( $features.size() > 0 ) 1.91 +Optional Features: 1.92 +#foreach( $feature in $features ) 1.93 +#if( $feature.default ) 1.94 + --disable-${feature.arg} 1.95 +#else 1.96 + --enable-${feature.arg} 1.97 +#end 1.98 +#end 1.99 + 1.100 +#end 1.101 +__EOF__ 1.102 +} 1.103 + 1.104 +# 1.105 +# parse arguments 1.106 +# 1.107 +BUILD_TYPE="default" 1.108 +#set( $D = '$' ) 1.109 +for ARG in "$@" 1.110 +do 1.111 + case "$ARG" in 1.112 + "--prefix="*) PREFIX=${D}{ARG#--prefix=} ;; 1.113 + "--exec-prefix="*) EPREFIX=${D}{ARG#--exec-prefix=} ;; 1.114 + "--bindir="*) BINDIR=${D}{ARG#----bindir=} ;; 1.115 + "--sbindir="*) SBINDIR=${D}{ARG#--sbindir=} ;; 1.116 + "--libdir="*) LIBDIR=${D}{ARG#--libdir=} ;; 1.117 + "--libexecdir="*) LIBEXECDIR=${D}{ARG#--libexecdir=} ;; 1.118 + "--datadir="*) DATADIR=${D}{ARG#--datadir=} ;; 1.119 + "--sysconfdir="*) SYSCONFDIR=${D}{ARG#--sysconfdir=} ;; 1.120 + "--sharedstatedir="*) SHAREDSTATEDIR=${D}{ARG#--sharedstatedir=} ;; 1.121 + "--localstatedir="*) LOCALSTATEDIR=${D}{ARG#--localstatedir=} ;; 1.122 + "--includedir="*) INCLUDEDIR=${D}{ARG#--includedir=} ;; 1.123 + "--infodir="*) INFODIR=${D}{ARG#--infodir=} ;; 1.124 + "--mandir"*) MANDIR=${D}{ARG#--mandir} ;; 1.125 + "--help"*) printhelp; abort_configure ;; 1.126 + "--debug") BUILD_TYPE="debug" ;; 1.127 + "--release") BUILD_TYPE="release" ;; 1.128 + #foreach( $opt in $options ) 1.129 + "--${opt.getArgument()}="*) ${opt.getVarName()}=${D}{ARG#--${opt.getArgument()}=} ;; 1.130 + #end 1.131 + #foreach( $feature in $features ) 1.132 + "--enable-${feature.arg}") ${feature.getVarName()}=on ;; 1.133 + "--disable-${feature.arg}") unset ${feature.getVarName()} ;; 1.134 + #end 1.135 + "-"*) echo "unknown option: $ARG"; abort_configure ;; 1.136 + esac 1.137 +done 1.138 + 1.139 +## Begin unparsed content. ** 1.140 +#[[ 1.141 +# set dir variables 1.142 +: ${EPREFIX:="$PREFIX"} 1.143 +: ${BINDIR:="$EPREFIX/bin"} 1.144 +: ${SBINDIR:="$EPREFIX/sbin"} 1.145 +: ${LIBDIR:="$EPREFIX/lib"} 1.146 +: ${LIBEXECDIR:="$EPREFIX/libexec"} 1.147 +: ${DATADIR:="$PREFIX/share"} 1.148 +: ${SYSCONFDIR:="$PREFIX/etc"} 1.149 +: ${SHAREDSTATEDIR:="$PREFIX/com"} 1.150 +: ${LOCALSTATEDIR:="$PREFIX/var"} 1.151 +: ${INCLUDEDIR:="$PREFIX/include"} 1.152 +: ${INFODIR:="$PREFIX/info"} 1.153 +: ${MANDIR:="$PREFIX/man"} 1.154 + 1.155 +# Test for availability of pkg-config 1.156 +PKG_CONFIG=`command -v pkg-config` 1.157 +: ${PKG_CONFIG:="false"} 1.158 + 1.159 +# Simple uname based platform detection 1.160 +# $PLATFORM is used for platform dependent dependency selection 1.161 +OS=`uname -s` 1.162 +OS_VERSION=`uname -r` 1.163 +printf "detect platform... " 1.164 +if [ "$OS" = "SunOS" ]; then 1.165 + PLATFORM="solaris sunos unix svr4" 1.166 +fi 1.167 +if [ "$OS" = "Linux" ]; then 1.168 + PLATFORM="linux unix" 1.169 +fi 1.170 +if [ "$OS" = "FreeBSD" ]; then 1.171 + PLATFORM="freebsd bsd unix" 1.172 +fi 1.173 +if [ "$OS" = "Darwin" ]; then 1.174 + PLATFORM="macos osx bsd unix" 1.175 +fi 1.176 +if echo "$OS" | grep -i "MINGW" > /dev/null; then 1.177 + PLATFORM="windows mingw" 1.178 +fi 1.179 +: ${PLATFORM:="unix"} 1.180 + 1.181 +PLATFORM_NAME=`echo "$PLATFORM" | cut -f1 -d' ' -` 1.182 +echo "$PLATFORM_NAME" 1.183 + 1.184 +isplatform() 1.185 +{ 1.186 + for p in $PLATFORM 1.187 + do 1.188 + if [ "$p" = "$1" ]; then 1.189 + return 0 1.190 + fi 1.191 + done 1.192 + return 1 1.193 +} 1.194 +notisplatform() 1.195 +{ 1.196 + for p in $PLATFORM 1.197 + do 1.198 + if [ "$p" = "$1" ]; then 1.199 + return 1 1.200 + fi 1.201 + done 1.202 + return 0 1.203 +} 1.204 +]]# 1.205 +## End of unparsed content ** 1.206 + 1.207 +# generate vars.mk 1.208 +cat > "$TEMP_DIR/vars.mk" << __EOF__ 1.209 +PREFIX=$PREFIX 1.210 +EPREFIX=$EPREFIX 1.211 +BINDIR=$BINDIR 1.212 +SBINDIR=$SBINDIR 1.213 +LIBDIR=$LIBDIR 1.214 +LIBEXECDIR=$LIBEXECDIR 1.215 +DATADIR=$DATADIR 1.216 +SYSCONFDIR=$SYSCONFDIR 1.217 +SHAREDSTATEDIR=$SHAREDSTATEDIR 1.218 +LOCALSTATEDIR=$LOCALSTATEDIR 1.219 +INCLUDEDIR=$INCLUDEDIR 1.220 +INFODIR=$INFODIR 1.221 +MANDIR=$MANDIR 1.222 +#foreach( $var in $vars ) 1.223 +${var.varName}=$${var.varName} 1.224 +#end 1.225 +__EOF__ 1.226 +sort -u -o "$TEMP_DIR/vars.mk" "$TEMP_DIR/vars.mk" 1.227 + 1.228 + 1.229 +# toolchain detection utilities 1.230 +. make/toolchain.sh 1.231 + 1.232 +# 1.233 +# DEPENDENCIES 1.234 +# 1.235 + 1.236 +# check languages 1.237 +lang_c= 1.238 +lang_cpp= 1.239 +#foreach( $lang in $languages ) 1.240 +if detect_${lang}_compiler ; then 1.241 + lang_${lang}=1 1.242 +fi 1.243 +#end 1.244 + 1.245 +# create buffer for make variables required by dependencies 1.246 +echo > "$TEMP_DIR/make.mk" 1.247 + 1.248 +test_pkg_config() 1.249 +{ 1.250 + if "$PKG_CONFIG" --exists "$1" ; then : 1.251 + else return 1 ; fi 1.252 + if [ -z "$2" ] || "$PKG_CONFIG" --atleast-version="$2" "$1" ; then : 1.253 + else return 1 ; fi 1.254 + if [ -z "$3" ] || "$PKG_CONFIG" --exact-version="$3" "$1" ; then : 1.255 + else return 1 ; fi 1.256 + if [ -z "$4" ] || "$PKG_CONFIG" --max-version="$4" "$1" ; then : 1.257 + else return 1 ; fi 1.258 + return 0 1.259 +} 1.260 + 1.261 +#foreach( $dependency in $namedDependencies ) 1.262 +dependency_error_${dependency.name}() 1.263 +{ 1.264 + printf "checking for ${dependency.name}... " 1.265 + #foreach( $sub in $dependency.getSubdependencies() ) 1.266 + # dependency $sub.getFullName() 1.267 + while true 1.268 + do 1.269 + #if( $sub.platform ) 1.270 + if notisplatform "${sub.platform}"; then 1.271 + break 1.272 + fi 1.273 + #end 1.274 + #foreach( $np in $sub.getNotList() ) 1.275 + if isplatform "${np}"; then 1.276 + break 1.277 + fi 1.278 + #end 1.279 + #foreach( $lang in $sub.lang ) 1.280 + if [ -z "$lang_${lang}" ] ; then 1.281 + break 1.282 + fi 1.283 + #end 1.284 + #if( $sub.pkgconfig.size() > 0 ) 1.285 + if [ -z "$PKG_CONFIG" ]; then 1.286 + break 1.287 + fi 1.288 + #end 1.289 + #foreach( $test in $sub.tests ) 1.290 + if $test > /dev/null ; then 1.291 + : 1.292 + else 1.293 + break 1.294 + fi 1.295 + #end 1.296 + #foreach( $pkg in $sub.pkgconfig ) 1.297 + if test_pkg_config "$pkg.name" "$pkg.atleast" "$pkg.exact" "$pkg.max" ; then 1.298 + TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags $pkg.name`" 1.299 + TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs $pkg.name`" 1.300 + else 1.301 + break 1.302 + fi 1.303 + #end 1.304 + #foreach( $flags in $sub.flags ) 1.305 + #if( $flags.exec ) 1.306 + if tmp_flags=`$flags.value` ; then 1.307 + TEMP_$flags.varName="$TEMP_$flags.varName $tmp_flags" 1.308 + else 1.309 + break 1.310 + fi 1.311 + #else 1.312 + TEMP_$flags.varName="$TEMP_$flags.varName $flags.value" 1.313 + #end 1.314 + #end 1.315 + #if ( $sub.make.length() > 0 ) 1.316 + cat >> $TEMP_DIR/make.mk << __EOF__ 1.317 +# Dependency: $dependency.name 1.318 +$sub.make 1.319 +__EOF__ 1.320 + #end 1.321 + echo yes 1.322 + return 1 1.323 + done 1.324 + 1.325 + #end 1.326 + echo no 1.327 + return 0 1.328 +} 1.329 +#end 1.330 + 1.331 + 1.332 + 1.333 + 1.334 +# start collecting dependency information 1.335 +echo > "$TEMP_DIR/flags.mk" 1.336 + 1.337 +DEPENDENCIES_FAILED= 1.338 +ERROR=0 1.339 +#if( $dependencies.size() > 0 ) 1.340 +# unnamed dependencies 1.341 +TEMP_CFLAGS= 1.342 +TEMP_CXXFLAGS= 1.343 +TEMP_LDFLAGS= 1.344 +#foreach( $dependency in $dependencies ) 1.345 +while true 1.346 +do 1.347 + #if( $dependency.platform ) 1.348 + if notisplatform "${dependency.platform}"; then 1.349 + break 1.350 + fi 1.351 + #end 1.352 + #foreach( $np in $dependency.getNotList() ) 1.353 + if isplatform "${np}"; then 1.354 + break 1.355 + fi 1.356 + #end 1.357 + while true 1.358 + do 1.359 + #foreach( $lang in $dependency.lang ) 1.360 + if [ -z "$lang_${lang}" ] ; then 1.361 + ERROR=1 1.362 + break 1.363 + fi 1.364 + #end 1.365 + #if( $dependency.pkgconfig.size() > 0 ) 1.366 + if [ -z "$PKG_CONFIG" ]; then 1.367 + ERROR=1 1.368 + break 1.369 + fi 1.370 + #end 1.371 + #foreach( $pkg in $dependency.pkgconfig ) 1.372 + printf "checking for pkg-config package $pkg.name... " 1.373 + if test_pkg_config "$pkg.name" "$pkg.atleast" "$pkg.exact" "$pkg.max" ; then 1.374 + echo yes 1.375 + TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags $pkg.name`" 1.376 + TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs $pkg.name`" 1.377 + else 1.378 + echo no 1.379 + ERROR=1 1.380 + break 1.381 + fi 1.382 + #end 1.383 + 1.384 + #foreach( $flags in $dependency.flags ) 1.385 + #if( $flags.exec ) 1.386 + $flags.value > /dev/null 1.387 + if tmp_flags=`$flags.value` ; then 1.388 + TEMP_$flags.varName="$TEMP_$flags.varName $tmp_flags" 1.389 + else 1.390 + ERROR=1 1.391 + break 1.392 + fi 1.393 + #else 1.394 + TEMP_$flags.varName="$TEMP_$flags.varName $flags.value" 1.395 + #end 1.396 + #end 1.397 + #if ( $dependency.make.length() > 0 ) 1.398 + cat >> "$TEMP_DIR/make.mk" << __EOF__ 1.399 +$dependency.make 1.400 +__EOF__ 1.401 + #end 1.402 + break 1.403 + done 1.404 + break 1.405 +done 1.406 +#end 1.407 + 1.408 +# add general dependency flags to flags.mk 1.409 +echo "# general flags" >> "$TEMP_DIR/flags.mk" 1.410 +if [ -n "${TEMP_CFLAGS}" ]; then 1.411 + echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" 1.412 +fi 1.413 +if [ -n "${TEMP_CXXFLAGS}" ]; then 1.414 + echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" 1.415 +fi 1.416 +if [ -n "${TEMP_LDFLAGS}" ]; then 1.417 + echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" 1.418 +fi 1.419 +#end 1.420 + 1.421 +# 1.422 +# OPTION VALUES 1.423 +# 1.424 +#foreach( $opt in $options ) 1.425 +#foreach( $val in $opt.values ) 1.426 +${val.func}() 1.427 +{ 1.428 + VERR=0 1.429 + #foreach( $dep in $val.dependencies ) 1.430 + if dependency_error_$dep ; then 1.431 + VERR=1 1.432 + fi 1.433 + #end 1.434 + if [ $VERR -ne 0 ]; then 1.435 + return 1 1.436 + fi 1.437 + #foreach( $def in $val.defines ) 1.438 + TEMP_CFLAGS="$TEMP_CFLAGS ${def.toFlags()}" 1.439 + TEMP_CXXFLAGS="$TEMP_CXXFLAGS ${def.toFlags()}" 1.440 + #end 1.441 + #if( $val.hasMake() ) 1.442 + cat >> "$TEMP_DIR/make.mk" << __EOF__ 1.443 +$val.make 1.444 +__EOF__ 1.445 + #end 1.446 + return 0 1.447 +} 1.448 +#end 1.449 +#end 1.450 + 1.451 +# 1.452 +# TARGETS 1.453 +# 1.454 + 1.455 +#foreach( $target in $targets ) 1.456 +echo >> "$TEMP_DIR/flags.mk" 1.457 +#if ( $target.name ) 1.458 +# Target: $target.name 1.459 +echo "# flags for target $target.name" >> "$TEMP_DIR/flags.mk" 1.460 +#else 1.461 +# Target 1.462 +echo "# flags for unnamed target" >> "$TEMP_DIR/flags.mk" 1.463 +#end 1.464 +TEMP_CFLAGS= 1.465 +TEMP_CXXFLAGS= 1.466 +TEMP_LDFLAGS= 1.467 + 1.468 +#foreach( $dependency in $target.dependencies ) 1.469 +if dependency_error_$dependency; then 1.470 + DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} " 1.471 + ERROR=1 1.472 +fi 1.473 +#end 1.474 + 1.475 +# Features 1.476 +#foreach( $feature in $target.features ) 1.477 +if [ -n "$${feature.getVarName()}" ]; then 1.478 +#foreach( $dependency in $feature.dependencies ) 1.479 + # check dependency 1.480 + if dependency_error_$dependency ; then 1.481 + # "auto" features can fail and are just disabled in this case 1.482 + if [ "$${feature.getVarName()}" = "auto" ]; then 1.483 + DISABLE_${feature.getVarName()}=1 1.484 + else 1.485 + DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} " 1.486 + ERROR=1 1.487 + fi 1.488 + fi 1.489 +#end 1.490 + if [ -n "$DISABLE_${feature.getVarName()}" ]; then 1.491 + unset ${feature.getVarName()} 1.492 + fi 1.493 +fi 1.494 +#end 1.495 + 1.496 +#foreach( $opt in $target.options ) 1.497 +# Option: --${opt.argument} 1.498 +if [ -z ${D}${opt.getVarName()} ]; then 1.499 + SAVED_ERROR="$ERROR" 1.500 + SAVED_DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED" 1.501 + ERROR=1 1.502 + while true 1.503 + do 1.504 + #foreach( $optdef in $opt.defaults ) 1.505 + #if( $optdef.platform ) 1.506 + if isplatform "$optdef.platform"; then 1.507 + #end 1.508 + if $optdef.func ; then 1.509 + echo " ${opt.argument}: ${optdef.valueName}" >> "$TEMP_DIR/options" 1.510 + ERROR=0 1.511 + break 1.512 + fi 1.513 + #if( $optdef.platform ) 1.514 + fi 1.515 + #end 1.516 + #end 1.517 + break 1.518 + done 1.519 + if [ $ERROR -ne 0 ]; then 1.520 + SAVED_ERROR=1 1.521 + fi 1.522 + ERROR="$SAVED_ERROR" 1.523 + DEPENDENCIES_FAILED="$SAVED_DEPENDENCIES_FAILED" 1.524 +else 1.525 + if false; then 1.526 + false 1.527 + #foreach( $optval in $opt.values ) 1.528 + elif [ "${D}${opt.getVarName()}" = "${optval.value}" ]; then 1.529 + echo " ${opt.argument}: ${D}${opt.getVarName()}" >> $TEMP_DIR/options 1.530 + if $optval.func ; then 1.531 + : 1.532 + else 1.533 + ERROR=1 1.534 + fi 1.535 + #end 1.536 + fi 1.537 +fi 1.538 +#end 1.539 + 1.540 +if [ -n "${TEMP_CFLAGS}" ]; then 1.541 + echo "${target.getCFlags()} += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk" 1.542 +fi 1.543 +if [ -n "${TEMP_CXXFLAGS}" ]; then 1.544 + echo "${target.getCXXFlags()} += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk" 1.545 +fi 1.546 +if [ "$BUILD_TYPE" = "debug" ]; then 1.547 + echo '${target.getCFlags()} += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" 1.548 + echo '${target.getCXXFlags()} += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" 1.549 +fi 1.550 +if [ "$BUILD_TYPE" = "release" ]; then 1.551 + echo '${target.getCFlags()} += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk" 1.552 + echo '${target.getCXXFlags()} += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk" 1.553 +fi 1.554 +if [ -n "${TEMP_LDFLAGS}" ]; then 1.555 + echo "${target.getLDFlags()} += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk" 1.556 +fi 1.557 + 1.558 +#end 1.559 + 1.560 +# final result 1.561 +if [ $ERROR -ne 0 ]; then 1.562 + echo 1.563 + echo "Error: Unresolved dependencies" 1.564 + echo "$DEPENDENCIES_FAILED" 1.565 + abort_configure 1.566 +fi 1.567 + 1.568 +echo "configure finished" 1.569 +echo 1.570 +echo "Build Config:" 1.571 +echo " PREFIX: $PREFIX" 1.572 +echo " TOOLCHAIN: $TOOLCHAIN_NAME" 1.573 +#if ( $options.size() > 0 ) 1.574 +echo "Options:" 1.575 +cat "$TEMP_DIR/options" 1.576 +#end 1.577 +#if ( $features.size() > 0 ) 1.578 +echo "Features:" 1.579 +#foreach( $feature in $features ) 1.580 +if [ -n "$${feature.getVarName()}" ]; then 1.581 +echo " $feature.name: on" 1.582 +else 1.583 +echo " $feature.name: off" 1.584 +fi 1.585 +#end 1.586 +#end 1.587 +echo 1.588 + 1.589 +# generate the config.mk file 1.590 +cat > "$TEMP_DIR/config.mk" << __EOF__ 1.591 +# 1.592 +# config.mk generated by configure 1.593 +# 1.594 + 1.595 +__EOF__ 1.596 +write_toolchain_defaults "$TEMP_DIR/toolchain.mk" 1.597 +cat "$TEMP_DIR/vars.mk" "$TEMP_DIR/toolchain.mk" "$TEMP_DIR/flags.mk" "$TEMP_DIR/make.mk" > config.mk 1.598 +rm -Rf "$TEMP_DIR" 1.599 + 1.600 +