# HG changeset patch
# User Mike Becker
# Date 1764539734 -3600
# Node ID a629b831c96deb9549781a914a6287b715a27a4d
# Parent f70ba8f14b418f89766e48481999f79408b614cf
update uwproj
diff -r f70ba8f14b41 -r a629b831c96d configure
--- a/configure Tue Nov 04 22:26:27 2025 +0100
+++ b/configure Sun Nov 30 22:55:34 2025 +0100
@@ -85,27 +85,8 @@
printhelp()
{
echo "Usage: $0 [OPTIONS]..."
- cat << __EOF__
-Installation directories:
- --prefix=PREFIX path prefix for architecture-independent files
- [$prefix]
- --exec-prefix=EPREFIX path prefix for architecture-dependent files
- [PREFIX]
-
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR system configuration files [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR run-time variable data [LOCALSTATEDIR/run]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ echo 'Configuration:'
+ cat << '__EOF__'
Build Types:
--debug add extra compile flags for debug builds
@@ -117,6 +98,7 @@
--enable-ubsan compile with undefined behavior sanitizer
__EOF__
+ abort_configure
}
# create temporary directory
@@ -132,26 +114,7 @@
touch "$TEMP_DIR/options"
touch "$TEMP_DIR/features"
-# define standard variables
-# also define standard prefix (this is where we will search for config.site)
-prefix=/usr
-exec_prefix=
-bindir=
-sbindir=
-libdir=
-libexecdir=
-datarootdir=
-datadir=
-sysconfdir=
-sharedstatedir=
-localstatedir=
-runstatedir=
-includedir=
-infodir=
-localedir=
-mandir=
-
-# custom variables
+# config variables
# features
@@ -162,24 +125,9 @@
for ARG in "$@"
do
case "$ARG" in
- "--prefix="*) prefix=${ARG#--prefix=} ;;
- "--exec-prefix="*) exec_prefix=${ARG#--exec-prefix=} ;;
- "--bindir="*) bindir=${ARG#----bindir=} ;;
- "--sbindir="*) sbindir=${ARG#--sbindir=} ;;
- "--libdir="*) libdir=${ARG#--libdir=} ;;
- "--libexecdir="*) libexecdir=${ARG#--libexecdir=} ;;
- "--datarootdir="*) datarootdir=${ARG#--datarootdir=} ;;
- "--datadir="*) datadir=${ARG#--datadir=} ;;
- "--sysconfdir="*) sysconfdir=${ARG#--sysconfdir=} ;;
- "--sharedstatedir="*) sharedstatedir=${ARG#--sharedstatedir=} ;;
- "--localstatedir="*) localstatedir=${ARG#--localstatedir=} ;;
- "--includedir="*) includedir=${ARG#--includedir=} ;;
- "--infodir="*) infodir=${ARG#--infodir=} ;;
- "--mandir"*) mandir=${ARG#--mandir} ;;
- "--localedir"*) localedir=${ARG#--localedir} ;;
- "--help"*) printhelp; abort_configure ;;
- "--debug") BUILD_TYPE="debug" ;;
- "--release") BUILD_TYPE="release" ;;
+ "--help"*) printhelp ;;
+ "--debug") BUILD_TYPE="debug" ;;
+ "--release") BUILD_TYPE="release" ;;
"--enable-static") FEATURE_STATIC=on ;;
"--disable-static") unset FEATURE_STATIC ;;
"--enable-asan") FEATURE_ASAN=on ;;
@@ -190,6 +138,16 @@
esac
done
+# toolchain detection utilities
+. make/toolchain.sh
+
+# check languages
+lang_c=
+lang_cpp=
+if detect_cpp_compiler ; then
+ lang_cpp=1
+fi
+
# set defaults for dir variables
@@ -200,67 +158,76 @@
: ${libexecdir:='${exec_prefix}/libexec'}
: ${datarootdir:='${prefix}/share'}
: ${datadir:='${datarootdir}'}
-: ${sysconfdir:='${prefix}/etc'}
: ${sharedstatedir:='${prefix}/com'}
-: ${localstatedir:='${prefix}/var'}
-: ${runstatedir:='${localstatedir}/run'}
+if [ -z "$sysconfdir" ]; then
+ if [ "$prefix" = '/usr' ]; then
+ sysconfdir='/etc'
+ else
+ sysconfdir='${prefix}/etc'
+ fi
+fi
+if [ -z "$localstatedir" ]; then
+ if [ "$prefix" = '/usr' ]; then
+ localstatedir='/var'
+ else
+ localstatedir='${prefix}/var'
+ fi
+fi
+if [ -z "$runstatedir" ]; then
+ if [ "$prefix" = '/usr' ]; then
+ runstatedir='/var/run'
+ else
+ runstatedir='${prefix}/var'
+ fi
+fi
: ${includedir:='${prefix}/include'}
: ${infodir:='${datarootdir}/info'}
: ${mandir:='${datarootdir}/man'}
: ${localedir:='${datarootdir}/locale'}
-# remember the above values and compare them later
-orig_bindir="$bindir"
-orig_sbindir="$sbindir"
-orig_libdir="$libdir"
-orig_libexecdir="$libexecdir"
-orig_datarootdir="$datarootdir"
-orig_datadir="$datadir"
-orig_sysconfdir="$sysconfdir"
-orig_sharedstatedir="$sharedstatedir"
-orig_localstatedir="$localstatedir"
-orig_runstatedir="$runstatedir"
-orig_includedir="$includedir"
-orig_infodir="$infodir"
-orig_mandir="$mandir"
-orig_localedir="$localedir"
# check if a config.site exists and load it
+CONFIG_SITE_OK=0
if [ -n "$CONFIG_SITE" ]; then
# CONFIG_SITE may contain space separated file names
for cs in $CONFIG_SITE; do
printf "loading defaults from $cs... "
- . "$cs"
- echo ok
+ if [ -f "$cs" ]; then
+ . "$cs"
+ echo ok
+ CONFIG_SITE_OK=1
+ break
+ else
+ echo "not found"
+ fi
done
elif [ -f "$prefix/share/config.site" ]; then
printf "loading site defaults... "
. "$prefix/share/config.site"
echo ok
+ CONFIG_SITE_OK=1
elif [ -f "$prefix/etc/config.site" ]; then
printf "loading site defaults... "
. "$prefix/etc/config.site"
echo ok
-else
+ CONFIG_SITE_OK=1
+fi
+
+if [ $CONFIG_SITE_OK -eq 0 ]; then
# try to detect the correct libdir on our own, except it was changed by the user
- if test "$libdir" = '${exec_prefix}/lib'; then
- if [ "$OS" = "SunOS" ]; then
- test -d "${exec_prefix}/lib/amd64" && libdir='${exec_prefix}/lib/amd64'
- else
- # check if the standard libdir even exists
- if test -d "${exec_prefix}/lib" ; then
- :
+ if [ "$libdir" = '${exec_prefix}/lib' ] ; then
+ if [ "$TOOLCHAIN_WSIZE" = "64" ] ; then
+ if [ "$OS" = "SunOS" ]; then
+ [ -d "${exec_prefix}/lib/64" ] && libdir='${exec_prefix}/lib/64'
else
- # if it does not, maybe a lib32 exists
- test -d "${exec_prefix}/lib32" && libdir='${exec_prefix}/lib32'
+ [ -d "${exec_prefix}/lib64" ] && libdir='${exec_prefix}/lib64'
fi
- # now check if there is a special 64bit libdir that we should use
- for i in x86_64 ppc64 s390x aarch64 aarch64_be arm64 ; do
- if [ $ARCH = $i ]; then
- test -d "${exec_prefix}/lib64" && libdir='${exec_prefix}/lib64'
- break
- fi
- done
+ elif [ "$TOOLCHAIN_WSIZE" = "32" ] ; then
+ if [ "$OS" = "SunOS" ]; then
+ [ -d "${exec_prefix}/lib/32" ] && libdir='${exec_prefix}/lib/32'
+ else
+ [ -d "${exec_prefix}/lib32" ] && libdir='${exec_prefix}/lib32'
+ fi
fi
fi
fi
@@ -268,37 +235,14 @@
# generate vars.mk
cat > "$TEMP_DIR/vars.mk" << __EOF__
-prefix=$prefix
-exec_prefix=$exec_prefix
-bindir=$bindir
-sbindir=$sbindir
-libdir=$libdir
-libexecdir=$libexecdir
-datarootdir=$datarootdir
-datadir=$datadir
-sysconfdir=$sysconfdir
-sharedstatedir=$sharedstatedir
-localstatedir=$localstatedir
-runstatedir=$runstatedir
-includedir=$includedir
-infodir=$infodir
-mandir=$mandir
-localedir=$localedir
__EOF__
-# toolchain detection utilities
-. make/toolchain.sh
#
# DEPENDENCIES
#
-# check languages
-lang_c=
-lang_cpp=
-if detect_cpp_compiler ; then
- lang_cpp=1
-fi
+
# create buffer for make variables required by dependencies
echo > "$TEMP_DIR/make.mk"
@@ -530,7 +474,7 @@
echo "configure finished"
echo
-echo "Toolchain"
+echo "Toolchain:"
echo " name: $TOOLCHAIN_NAME"
if [ -n "$TOOLCHAIN_CC" ]; then
echo " cc: $TOOLCHAIN_CC"
@@ -545,67 +489,26 @@
echo " default C std: $TOOLCHAIN_CSTD"
fi
echo
-echo "Build Config:"
-echo " prefix: $prefix"
-echo " exec_prefix: $exec_prefix"
-if [ "$orig_bindir" != "$bindir" ]; then
- echo " bindir: $bindir"
-fi
-if [ "$orig_sbindir" != "$sbindir" ]; then
- echo " sbindir: $sbindir"
-fi
-if [ "$orig_libdir" != "$libdir" ]; then
- echo " libdir: $libdir"
-fi
-if [ "$orig_libexecdir" != "$libexecdir" ]; then
- echo " libexecdir: $libexecdir"
-fi
-if [ "$orig_datarootdir" != "$datarootdir" ]; then
- echo " datarootdir: $datarootdir"
-fi
-if [ "$orig_datadir" != "$datadir" ]; then
- echo " datadir: $datadir"
-fi
-if [ "$orig_sysconfdir" != "$sysconfdir" ]; then
- echo " sysconfdir: $sysconfdir"
-fi
-if [ "$orig_sharedstatedir" != "$sharedstatedir" ]; then
- echo " sharedstatedir: $sharedstatedir"
-fi
-if [ "$orig_localstatedir" != "$localstatedir" ]; then
- echo " localstatedir: $localstatedir"
-fi
-if [ "$orig_runstatedir" != "$runstatedir" ]; then
- echo " runstatedir: $runstatedir"
-fi
-if [ "$orig_includedir" != "$includedir" ]; then
- echo " includedir: $includedir"
-fi
-if [ "$orig_infodir" != "$infodir" ]; then
- echo " infodir: $infodir"
-fi
-if [ "$orig_mandir" != "$mandir" ]; then
- echo " mandir: $mandir"
-fi
-if [ "$orig_localedir" != "$localedir" ]; then
- echo " localedir: $localedir"
-fi
+echo "Config:"
echo
echo "Features:"
+printf ' %-16s' 'static:'
if [ -n "$FEATURE_STATIC" ]; then
-echo " static: on"
+ echo 'on'
else
-echo " static: off"
+ echo 'off'
fi
+printf ' %-16s' 'asan:'
if [ -n "$FEATURE_ASAN" ]; then
-echo " asan: on"
+ echo 'on'
else
-echo " asan: off"
+ echo 'off'
fi
+printf ' %-16s' 'ubsan:'
if [ -n "$FEATURE_UBSAN" ]; then
-echo " ubsan: on"
+ echo 'on'
else
-echo " ubsan: off"
+ echo 'off'
fi
echo
diff -r f70ba8f14b41 -r a629b831c96d make/configure.vm
--- a/make/configure.vm Tue Nov 04 22:26:27 2025 +0100
+++ b/make/configure.vm Sun Nov 30 22:55:34 2025 +0100
@@ -86,27 +86,30 @@
printhelp()
{
echo "Usage: $0 [OPTIONS]..."
- cat << __EOF__
-Installation directories:
- --prefix=PREFIX path prefix for architecture-independent files
- [${D}prefix]
- --exec-prefix=EPREFIX path prefix for architecture-dependent files
- [PREFIX]
-
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR system configuration files [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR run-time variable data [LOCALSTATEDIR/run]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ echo 'Configuration:'
+#foreach( $cfg in $config )
+if true \
+#if( $cfg.platform )
+ && isplatform "${cfg.platform}" \
+#end
+#foreach( $np in $cfg.notList )
+ && notisplatform "${np}" \
+#end
+ ; then
+ :
+ #foreach( $var in $cfg.vars )
+ #if( $var.overridable )
+ if test -z "${D}${var.varName}__described__"; then
+ ${var.varName}__described__=1
+ cat << '__EOF__'
+${var.helpText}
+__EOF__
+ fi
+ #end
+ #end
+fi
+#end
+ cat << '__EOF__'
Build Types:
--debug add extra compile flags for debug builds
@@ -115,7 +118,7 @@
Options:
#foreach( $opt in $options )
- --${opt.argument}=${opt.valuesString}
+${opt.helpText}
#end
#end
#if( $features.size() > 0 )
@@ -127,6 +130,7 @@
#end
__EOF__
+ abort_configure
}
# create temporary directory
@@ -142,26 +146,7 @@
touch "$TEMP_DIR/options"
touch "$TEMP_DIR/features"
-# define standard variables
-# also define standard prefix (this is where we will search for config.site)
-prefix=/usr
-exec_prefix=
-bindir=
-sbindir=
-libdir=
-libexecdir=
-datarootdir=
-datadir=
-sysconfdir=
-sharedstatedir=
-localstatedir=
-runstatedir=
-includedir=
-infodir=
-localedir=
-mandir=
-
-# custom variables
+# config variables
#foreach( $cfg in $config )
if true \
#if( $cfg.platform )
@@ -171,12 +156,16 @@
&& notisplatform "${np}" \
#end
; then
+ :
#foreach( $var in $cfg.vars )
- #if( $var.exec )
- ${var.varName}=`${var.value}`
- #else
- ${var.varName}="${var.value}"
- #end
+ if test -z "${D}${var.varName}__initialized__"; then
+ ${var.varName}__initialized__=1
+ #if( $var.exec )
+ ${var.varName}=`${var.value}`
+ #else
+ ${var.varName}='${var.value}'
+ #end
+ fi
#end
fi
#end
@@ -195,27 +184,17 @@
for ARG in "$@"
do
case "$ARG" in
- "--prefix="*) prefix=${D}{ARG#--prefix=} ;;
- "--exec-prefix="*) exec_prefix=${D}{ARG#--exec-prefix=} ;;
- "--bindir="*) bindir=${D}{ARG#----bindir=} ;;
- "--sbindir="*) sbindir=${D}{ARG#--sbindir=} ;;
- "--libdir="*) libdir=${D}{ARG#--libdir=} ;;
- "--libexecdir="*) libexecdir=${D}{ARG#--libexecdir=} ;;
- "--datarootdir="*) datarootdir=${D}{ARG#--datarootdir=} ;;
- "--datadir="*) datadir=${D}{ARG#--datadir=} ;;
- "--sysconfdir="*) sysconfdir=${D}{ARG#--sysconfdir=} ;;
- "--sharedstatedir="*) sharedstatedir=${D}{ARG#--sharedstatedir=} ;;
- "--localstatedir="*) localstatedir=${D}{ARG#--localstatedir=} ;;
- "--includedir="*) includedir=${D}{ARG#--includedir=} ;;
- "--infodir="*) infodir=${D}{ARG#--infodir=} ;;
- "--mandir"*) mandir=${D}{ARG#--mandir} ;;
- "--localedir"*) localedir=${D}{ARG#--localedir} ;;
- "--help"*) printhelp; abort_configure ;;
- "--debug") BUILD_TYPE="debug" ;;
- "--release") BUILD_TYPE="release" ;;
+ #foreach( $var in $vars )
+ #if ($var.overridable)
+ "--${var.arg}="*) ${var.varName}=${D}{ARG#--${var.arg}=} ;;
+ #end
+ #end
+ "--help"*) printhelp ;;
+ "--debug") BUILD_TYPE="debug" ;;
+ "--release") BUILD_TYPE="release" ;;
#foreach( $opt in $options )
- "--${opt.argument}="*) ${opt.varName}=${D}{ARG#--${opt.argument}=} ;;
- "--${opt.argument}") echo "option '$ARG' needs a value:"; echo " $ARG=${opt.valuesString}"; abort_configure ;;
+ "--${opt.arg}="*) ${opt.varName}=${D}{ARG#--${opt.arg}=} ;;
+ "--${opt.arg}") echo "option '$ARG' needs a value:"; echo " $ARG=${opt.valuesString}"; abort_configure ;;
#end
#foreach( $feature in $features )
"--enable-${feature.arg}") ${feature.varName}=on ;;
@@ -225,6 +204,18 @@
esac
done
+# toolchain detection utilities
+. make/toolchain.sh
+
+# check languages
+lang_c=
+lang_cpp=
+#foreach( $lang in $languages )
+if detect_${lang}_compiler ; then
+ lang_${lang}=1
+fi
+#end
+
## Begin unparsed content. **
#[[
@@ -236,67 +227,76 @@
: ${libexecdir:='${exec_prefix}/libexec'}
: ${datarootdir:='${prefix}/share'}
: ${datadir:='${datarootdir}'}
-: ${sysconfdir:='${prefix}/etc'}
: ${sharedstatedir:='${prefix}/com'}
-: ${localstatedir:='${prefix}/var'}
-: ${runstatedir:='${localstatedir}/run'}
+if [ -z "$sysconfdir" ]; then
+ if [ "$prefix" = '/usr' ]; then
+ sysconfdir='/etc'
+ else
+ sysconfdir='${prefix}/etc'
+ fi
+fi
+if [ -z "$localstatedir" ]; then
+ if [ "$prefix" = '/usr' ]; then
+ localstatedir='/var'
+ else
+ localstatedir='${prefix}/var'
+ fi
+fi
+if [ -z "$runstatedir" ]; then
+ if [ "$prefix" = '/usr' ]; then
+ runstatedir='/var/run'
+ else
+ runstatedir='${prefix}/var'
+ fi
+fi
: ${includedir:='${prefix}/include'}
: ${infodir:='${datarootdir}/info'}
: ${mandir:='${datarootdir}/man'}
: ${localedir:='${datarootdir}/locale'}
-# remember the above values and compare them later
-orig_bindir="$bindir"
-orig_sbindir="$sbindir"
-orig_libdir="$libdir"
-orig_libexecdir="$libexecdir"
-orig_datarootdir="$datarootdir"
-orig_datadir="$datadir"
-orig_sysconfdir="$sysconfdir"
-orig_sharedstatedir="$sharedstatedir"
-orig_localstatedir="$localstatedir"
-orig_runstatedir="$runstatedir"
-orig_includedir="$includedir"
-orig_infodir="$infodir"
-orig_mandir="$mandir"
-orig_localedir="$localedir"
# check if a config.site exists and load it
+CONFIG_SITE_OK=0
if [ -n "$CONFIG_SITE" ]; then
# CONFIG_SITE may contain space separated file names
for cs in $CONFIG_SITE; do
printf "loading defaults from $cs... "
- . "$cs"
- echo ok
+ if [ -f "$cs" ]; then
+ . "$cs"
+ echo ok
+ CONFIG_SITE_OK=1
+ break
+ else
+ echo "not found"
+ fi
done
elif [ -f "$prefix/share/config.site" ]; then
printf "loading site defaults... "
. "$prefix/share/config.site"
echo ok
+ CONFIG_SITE_OK=1
elif [ -f "$prefix/etc/config.site" ]; then
printf "loading site defaults... "
. "$prefix/etc/config.site"
echo ok
-else
+ CONFIG_SITE_OK=1
+fi
+
+if [ $CONFIG_SITE_OK -eq 0 ]; then
# try to detect the correct libdir on our own, except it was changed by the user
- if test "$libdir" = '${exec_prefix}/lib'; then
- if [ "$OS" = "SunOS" ]; then
- test -d "${exec_prefix}/lib/amd64" && libdir='${exec_prefix}/lib/amd64'
- else
- # check if the standard libdir even exists
- if test -d "${exec_prefix}/lib" ; then
- :
+ if [ "$libdir" = '${exec_prefix}/lib' ] ; then
+ if [ "$TOOLCHAIN_WSIZE" = "64" ] ; then
+ if [ "$OS" = "SunOS" ]; then
+ [ -d "${exec_prefix}/lib/64" ] && libdir='${exec_prefix}/lib/64'
else
- # if it does not, maybe a lib32 exists
- test -d "${exec_prefix}/lib32" && libdir='${exec_prefix}/lib32'
+ [ -d "${exec_prefix}/lib64" ] && libdir='${exec_prefix}/lib64'
fi
- # now check if there is a special 64bit libdir that we should use
- for i in x86_64 ppc64 s390x aarch64 aarch64_be arm64 ; do
- if [ $ARCH = $i ]; then
- test -d "${exec_prefix}/lib64" && libdir='${exec_prefix}/lib64'
- break
- fi
- done
+ elif [ "$TOOLCHAIN_WSIZE" = "32" ] ; then
+ if [ "$OS" = "SunOS" ]; then
+ [ -d "${exec_prefix}/lib/32" ] && libdir='${exec_prefix}/lib/32'
+ else
+ [ -d "${exec_prefix}/lib32" ] && libdir='${exec_prefix}/lib32'
+ fi
fi
fi
fi
@@ -305,42 +305,17 @@
# generate vars.mk
cat > "$TEMP_DIR/vars.mk" << __EOF__
-prefix=$prefix
-exec_prefix=$exec_prefix
-bindir=$bindir
-sbindir=$sbindir
-libdir=$libdir
-libexecdir=$libexecdir
-datarootdir=$datarootdir
-datadir=$datadir
-sysconfdir=$sysconfdir
-sharedstatedir=$sharedstatedir
-localstatedir=$localstatedir
-runstatedir=$runstatedir
-includedir=$includedir
-infodir=$infodir
-mandir=$mandir
-localedir=$localedir
#foreach( $var in $vars )
${var.varName}=${D}${var.varName}
#end
__EOF__
-# toolchain detection utilities
-. make/toolchain.sh
#
# DEPENDENCIES
#
-# check languages
-lang_c=
-lang_cpp=
-#foreach( $lang in $languages )
-if detect_${lang}_compiler ; then
- lang_${lang}=1
-fi
-#end
+
# create buffer for make variables required by dependencies
echo > "$TEMP_DIR/make.mk"
@@ -651,9 +626,9 @@
#end
#foreach( $opt in $target.options )
-# Option: --${opt.argument}
+# Option: --${opt.arg}
if [ -z "${D}${opt.varName}" ]; then
- echo "auto-detecting option '${opt.argument}'"
+ echo "auto-detecting option '${opt.arg}'"
SAVED_ERROR="$ERROR"
SAVED_DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED"
ERROR=1
@@ -664,7 +639,7 @@
if isplatform "$optdef.platform"; then
#end
if $optdef.func ; then
- echo " ${opt.argument}: ${optdef.valueName}" >> "$TEMP_DIR/options"
+ echo " ${opt.arg}: ${optdef.valueName}" >> "$TEMP_DIR/options"
ERROR=0
break
fi
@@ -676,28 +651,28 @@
done
if [ $ERROR -ne 0 ]; then
SAVED_ERROR=1
- SAVED_DEPENDENCIES_FAILED="option '${opt.argument}' $SAVED_DEPENDENCIES_FAILED"
+ SAVED_DEPENDENCIES_FAILED="option '${opt.arg}' $SAVED_DEPENDENCIES_FAILED"
fi
ERROR="$SAVED_ERROR"
DEPENDENCIES_FAILED="$SAVED_DEPENDENCIES_FAILED"
else
- echo "checking option ${opt.argument} = ${D}${opt.varName}"
+ echo "checking option ${opt.arg} = ${D}${opt.varName}"
if false; then
false
#foreach( $optval in $opt.values )
elif [ "${D}${opt.varName}" = "${optval.value}" ]; then
- echo " ${opt.argument}: ${D}${opt.varName}" >> $TEMP_DIR/options
+ echo " ${opt.arg}: ${D}${opt.varName}" >> $TEMP_DIR/options
if $optval.func ; then
:
else
ERROR=1
- DEPENDENCIES_FAILED="option '${opt.argument}' $DEPENDENCIES_FAILED"
+ DEPENDENCIES_FAILED="option '${opt.arg}' $DEPENDENCIES_FAILED"
fi
#end
else
echo
echo "Invalid option value - usage:"
- echo " --${opt.argument}=${opt.valuesString}"
+ echo " --${opt.arg}=${opt.valuesString}"
abort_configure
fi
fi
@@ -725,7 +700,7 @@
echo "configure finished"
echo
-echo "Toolchain"
+echo "Toolchain:"
echo " name: $TOOLCHAIN_NAME"
if [ -n "$TOOLCHAIN_CC" ]; then
echo " cc: $TOOLCHAIN_CC"
@@ -740,51 +715,13 @@
echo " default C std: $TOOLCHAIN_CSTD"
fi
echo
-echo "Build Config:"
-echo " prefix: $prefix"
-echo " exec_prefix: $exec_prefix"
-if [ "$orig_bindir" != "$bindir" ]; then
- echo " bindir: $bindir"
-fi
-if [ "$orig_sbindir" != "$sbindir" ]; then
- echo " sbindir: $sbindir"
-fi
-if [ "$orig_libdir" != "$libdir" ]; then
- echo " libdir: $libdir"
-fi
-if [ "$orig_libexecdir" != "$libexecdir" ]; then
- echo " libexecdir: $libexecdir"
-fi
-if [ "$orig_datarootdir" != "$datarootdir" ]; then
- echo " datarootdir: $datarootdir"
-fi
-if [ "$orig_datadir" != "$datadir" ]; then
- echo " datadir: $datadir"
-fi
-if [ "$orig_sysconfdir" != "$sysconfdir" ]; then
- echo " sysconfdir: $sysconfdir"
-fi
-if [ "$orig_sharedstatedir" != "$sharedstatedir" ]; then
- echo " sharedstatedir: $sharedstatedir"
-fi
-if [ "$orig_localstatedir" != "$localstatedir" ]; then
- echo " localstatedir: $localstatedir"
-fi
-if [ "$orig_runstatedir" != "$runstatedir" ]; then
- echo " runstatedir: $runstatedir"
-fi
-if [ "$orig_includedir" != "$includedir" ]; then
- echo " includedir: $includedir"
-fi
-if [ "$orig_infodir" != "$infodir" ]; then
- echo " infodir: $infodir"
-fi
-if [ "$orig_mandir" != "$mandir" ]; then
- echo " mandir: $mandir"
-fi
-if [ "$orig_localedir" != "$localedir" ]; then
- echo " localedir: $localedir"
-fi
+echo "Config:"
+#foreach( $var in $vars )
+#if ($var.overridable)
+ printf ' %-16s' '${var.arg}:'
+ echo "${D}${var.varName}"
+#end
+#end
#if ( $options.size() > 0 )
echo
echo "Options:"
@@ -794,10 +731,11 @@
echo
echo "Features:"
#foreach( $feature in $features )
+printf ' %-16s' '$feature.name:'
if [ -n "${D}${feature.varName}" ]; then
-echo " $feature.name: on"
+ echo 'on'
else
-echo " $feature.name: off"
+ echo 'off'
fi
#end
#end
diff -r f70ba8f14b41 -r a629b831c96d make/toolchain.sh
--- a/make/toolchain.sh Tue Nov 04 22:26:27 2025 +0100
+++ b/make/toolchain.sh Sun Nov 30 22:55:34 2025 +0100
@@ -3,7 +3,7 @@
# toolchain detection
#
-TAIL=tail
+TAIL="tail"
if isplatform "bsd" && notisplatform "openbsd"; then
C_COMPILERS="clang gcc cc"
CPP_COMPILERS="clang++ g++ CC"
@@ -24,14 +24,15 @@
check_c_compiler()
{
- command -v $1 2>&1 >/dev/null
- if [ $? -ne 0 ]; then
+ if command -v "$1" >/dev/null 2>&1 ; then
+ :
+ else
return 1
fi
cat > "$TEMP_DIR/test.c" << __EOF__
/* test file */
#include
-int main(int argc, char **argv) {
+int main(void) {
#if defined(_MSC_VER)
printf("toolchain:msc\n");
#elif defined(__clang__)
@@ -45,7 +46,7 @@
#endif
printf("wsize:%d\n", (int)sizeof(void*)*8);
#ifdef __STDC_VERSION__
- printf("stdcversion:%d\n", __STDC_VERSION__);
+ printf("stdcversion:%ld\n", (long int)__STDC_VERSION__);
#endif
return 0;
}
@@ -56,14 +57,15 @@
check_cpp_compiler()
{
- command -v $1 2>&1 >/dev/null
- if [ $? -ne 0 ]; then
+ if command -v "$1" >/dev/null 2>&1 ; then
+ :
+ else
return 1
fi
cat > "$TEMP_DIR/test.cpp" << __EOF__
/* test file */
#include
-int main(int argc, char **argv) {
+int main(void) {
#if defined(_MSC_VER)
std::cout << "toolchain:msc" << std::endl;
#elif defined(__clang__)
@@ -83,21 +85,6 @@
$1 -o "$TEMP_DIR/checkcc" $CXXFLAGS $LDFLAGS "$TEMP_DIR/test.cpp" 2> /dev/null
}
-create_libtest_source()
-{
- # $1: filename
- # $2: optional include
- cat > "$TEMP_DIR/$1" << __EOF__
-/* libtest file */
-int main(int argc, char **argv) {
- return 0;
-}
-__EOF__
- if [ -n "$2" ]; then
- echo "#include <$2>" >> "$TEMP_DIR/$1"
- fi
-}
-
parse_toolchain_properties()
{
info_file="$1"
diff -r f70ba8f14b41 -r a629b831c96d make/uwproj.xsd
--- a/make/uwproj.xsd Tue Nov 04 22:26:27 2025 +0100
+++ b/make/uwproj.xsd Sun Nov 30 22:55:34 2025 +0100
@@ -29,23 +29,61 @@
The configuration section.
- Consists of an arbitrary number of var elements.
+ Consists of an arbitrary number of var elements and pre-defined elements for
+ standard installation directories. If you want to use standard installation directories, you
+ must list the wanted variables here.
The optional platform attribute may specify a single platform identifier and
the optional not attribute may specify a comma-separated list of platform identifiers.
The configure script shall skip this config declaration if the detected platform is not matching
the filter specification of these attributes.
+ When multiple config sections have a matching filter, and declare the same variables, the settings
+ of the first matching config section will be used for the affected variables.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The definition of a standard configuration variable.
+
+ You may customize the value and the help text,
+ but the variable name and the option name are pre-defined.
+
+
+
+
+
+
+
+
+
+
+
@@ -55,14 +93,23 @@
written to the resulting config file (in contrast to make variables, which are only
written to the config file).
The name attribute is mandatory, the value is defined by the text body of the element.
- The optional Boolean exec attribute (false by default) controls, whether the entire
- definition is automatically executed under command substitution.
+ The optional Boolean exec attribute (false by default) controls, whether value denotes
+ a command which shall be executed at configuration time to produce the value.
+ With option and option-help you can control how the variable can be
+ overridden on the command line. When you don't specify either of those attributes, no command
+ line option will be generated. When you provide a option-help, but do not specify the
+ option name, a name is generated.
+ You can use the string %default in your help text when you want to show the default
+ value in the text. When exec is used, the default will not be resolved in the help
+ text and instead the command is shown (to avoid breaking the formatting).
+
+
@@ -228,7 +275,9 @@
Declares a configuration option.
The option argument name is specified with the arg attribute.
- Then, the children of this element specify possible values by defining the conditions
+ Optionally, a description for the help text of the resulting configure script can be specified by
+ a desc element.
+ Then, the next children of this element specify possible values by defining the conditions
(in terms of dependencies) and effects (in terms of defines and make variables) of each value.
Finally, a set of defaults is specified which supposed to automagically select the most
appropriate value for a specific platform under the available dependencies (in case the option is not
@@ -236,6 +285,7 @@
+