# HG changeset patch
# User Mike Becker
# Date 1764505747 -3600
# Node ID b5c32391802f4a5e334de4ef14adabec57a3fefb
# Parent 03d703c3cfe92f928a630387ed253699a53364ef
update uwproj and fix pkgconfigdir location on BSD
diff -r 03d703c3cfe9 -r b5c32391802f configure
--- a/configure Fri Nov 28 15:23:40 2025 +0100
+++ b/configure Sun Nov 30 13:29:07 2025 +0100
@@ -85,27 +85,52 @@
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:'
+if true \
+ ; then
+ :
+ if test -z "$prefix__described__"; then
+ prefix__described__=1
+ cat << '__EOF__'
+ --prefix path prefix for architecture-independent files [/usr]
+__EOF__
+ fi
+ if test -z "$exec_prefix__described__"; then
+ exec_prefix__described__=1
+ cat << '__EOF__'
+ --exec-prefix path prefix for architecture-dependent files [PREFIX]
+__EOF__
+ fi
+ if test -z "$libdir__described__"; then
+ libdir__described__=1
+ cat << '__EOF__'
+ --libdir object code libraries [EPREFIX/lib]
+__EOF__
+ fi
+ if test -z "$includedir__described__"; then
+ includedir__described__=1
+ cat << '__EOF__'
+ --includedir C header files [PREFIX/include]
+__EOF__
+ fi
+ if test -z "$DOXYGEN__described__"; then
+ DOXYGEN__described__=1
+ cat << '__EOF__'
+ --doxygen path of the Doxygen executable
+__EOF__
+ fi
+fi
+if true \
+ && isplatform "bsd" \
+ ; then
+ :
+fi
+if true \
+ && notisplatform "bsd" \
+ ; then
+ :
+fi
+ cat << '__EOF__'
Build Types:
--debug add extra compile flags for debug builds
@@ -120,6 +145,7 @@
--disable-szmul-builtin use custom implementation, instead
__EOF__
+ abort_configure
}
# create temporary directory
@@ -135,30 +161,100 @@
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
if true \
; then
- root_dir=`pwd`
- DOXYGEN=`command -v doxygen`
+ :
+ if test -z "$prefix__initialized__"; then
+ prefix__initialized__=1
+ prefix="/usr"
+ fi
+ if test -z "$exec_prefix__initialized__"; then
+ exec_prefix__initialized__=1
+ exec_prefix=""
+ fi
+ if test -z "$libdir__initialized__"; then
+ libdir__initialized__=1
+ libdir=""
+ fi
+ if test -z "$includedir__initialized__"; then
+ includedir__initialized__=1
+ includedir=""
+ fi
+ if test -z "$VERSION__initialized__"; then
+ VERSION__initialized__=1
+ VERSION="3.2.0"
+ fi
+ if test -z "$LIBVERSION__initialized__"; then
+ LIBVERSION__initialized__=1
+ LIBVERSION="6.0.0"
+ fi
+ if test -z "$LIBVERSION_MAJOR__initialized__"; then
+ LIBVERSION_MAJOR__initialized__=1
+ LIBVERSION_MAJOR="6"
+ fi
+ if test -z "$root_dir__initialized__"; then
+ root_dir__initialized__=1
+ root_dir=`pwd`
+ fi
+ if test -z "$build_dir__initialized__"; then
+ build_dir__initialized__=1
+ build_dir="\${root_dir}/build"
+ fi
+ if test -z "$docs_dir__initialized__"; then
+ docs_dir__initialized__=1
+ docs_dir="\${root_dir}/build/docs"
+ fi
+ if test -z "$dist_dir__initialized__"; then
+ dist_dir__initialized__=1
+ dist_dir="\${root_dir}/dist"
+ fi
+ if test -z "$DOXYGEN__initialized__"; then
+ DOXYGEN__initialized__=1
+ DOXYGEN=`command -v doxygen`
+ fi
+ if test -z "$MKDIR__initialized__"; then
+ MKDIR__initialized__=1
+ MKDIR="/bin/mkdir -p"
+ fi
+ if test -z "$RMFILE__initialized__"; then
+ RMFILE__initialized__=1
+ RMFILE="/bin/rm -f"
+ fi
+ if test -z "$RMDIR__initialized__"; then
+ RMDIR__initialized__=1
+ RMDIR="/bin/rm -f -R"
+ fi
+ if test -z "$COPYFILE__initialized__"; then
+ COPYFILE__initialized__=1
+ COPYFILE="/bin/cp -f"
+ fi
+ if test -z "$COPYALL__initialized__"; then
+ COPYALL__initialized__=1
+ COPYALL="/bin/cp -f -R"
+ fi
+ if test -z "$SYMLINK__initialized__"; then
+ SYMLINK__initialized__=1
+ SYMLINK="/bin/ln -s"
+ fi
+fi
+if true \
+ && isplatform "bsd" \
+ ; then
+ :
+ if test -z "$pkgconfigdir__initialized__"; then
+ pkgconfigdir__initialized__=1
+ pkgconfigdir="\${exec_prefix}/libdata/pkgconfig"
+ fi
+fi
+if true \
+ && notisplatform "bsd" \
+ ; then
+ :
+ if test -z "$pkgconfigdir__initialized__"; then
+ pkgconfigdir__initialized__=1
+ pkgconfigdir="\${libdir}/pkgconfig"
+ fi
fi
# features
@@ -173,25 +269,14 @@
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=} ;;
- "--runstatedir="*) runstatedir=${ARG#--runstatedir=} ;;
- "--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" ;;
+ "--prefix="*) prefix=${ARG#--prefix=} ;;
+ "--exec-prefix="*) exec_prefix=${ARG#--exec-prefix=} ;;
+ "--libdir="*) libdir=${ARG#--libdir=} ;;
+ "--includedir="*) includedir=${ARG#--includedir=} ;;
+ "--doxygen="*) DOXYGEN=${ARG#--doxygen=} ;;
+ "--help"*) printhelp ;;
+ "--debug") BUILD_TYPE="debug" ;;
+ "--release") BUILD_TYPE="release" ;;
"--enable-api-docs") FEATURE_API_DOCS=on ;;
"--disable-api-docs") unset FEATURE_API_DOCS ;;
"--enable-coverage") FEATURE_COVERAGE=on ;;
@@ -208,6 +293,19 @@
esac
done
+# toolchain detection utilities
+. make/toolchain.sh
+
+# check languages
+lang_c=
+lang_cpp=
+if detect_cpp_compiler ; then
+ lang_cpp=1
+fi
+if detect_c_compiler ; then
+ lang_c=1
+fi
+
# set defaults for dir variables
@@ -245,58 +343,49 @@
: ${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
@@ -306,38 +395,31 @@
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
+VERSION=$VERSION
+LIBVERSION=$LIBVERSION
+LIBVERSION_MAJOR=$LIBVERSION_MAJOR
+root_dir=$root_dir
+build_dir=$build_dir
+docs_dir=$docs_dir
+dist_dir=$dist_dir
+DOXYGEN=$DOXYGEN
+MKDIR=$MKDIR
+RMFILE=$RMFILE
+RMDIR=$RMDIR
+COPYFILE=$COPYFILE
+COPYALL=$COPYALL
+SYMLINK=$SYMLINK
+pkgconfigdir=$pkgconfigdir
__EOF__
-# toolchain detection utilities
-. make/toolchain.sh
#
# DEPENDENCIES
#
-# check languages
-lang_c=
-lang_cpp=
-if detect_cpp_compiler ; then
- lang_cpp=1
-fi
-if detect_c_compiler ; then
- lang_c=1
-fi
+
# create buffer for make variables required by dependencies
echo > "$TEMP_DIR/make.mk"
@@ -472,10 +554,6 @@
else
break
fi
- cat >> $TEMP_DIR/make.mk << __EOF__
-# Dependency: doxygen
-DOXYGEN=$DOXYGEN
-__EOF__
print_check_msg "$dep_checked_doxygen" "yes\n"
dep_checked_doxygen=1
return 1
@@ -517,44 +595,6 @@
TEMP_LDFLAGS="$LDFLAGS"
while true
do
- while true
- do
-
- cat >> "$TEMP_DIR/make.mk" << __EOF__
-# library version
-VERSION=3.2.0
-LIBVERSION=6.0.0
-LIBVERSION_MAJOR=6
-
-# build directory structure !! do not change or override !!
-root_dir=${root_dir}
-build_dir=${root_dir}/build
-docs_dir=${root_dir}/build/docs
-dist_dir=${root_dir}/dist
-__EOF__
- break
- done
- break
-done
-while true
-do
- while true
- do
-
- cat >> "$TEMP_DIR/make.mk" << __EOF__
-MKDIR=/bin/mkdir -p
-RMFILE=/bin/rm -f
-RMDIR=/bin/rm -f -R
-COPYFILE=/bin/cp -f
-COPYALL=/bin/cp -f -R
-SYMLINK=/bin/ln -s
-__EOF__
- break
- done
- break
-done
-while true
-do
if notisplatform "macos"; then
break
fi
@@ -843,7 +883,7 @@
echo "configure finished"
echo
-echo "Toolchain"
+echo "Toolchain:"
echo " name: $TOOLCHAIN_NAME"
if [ -n "$TOOLCHAIN_CC" ]; then
echo " cc: $TOOLCHAIN_CC"
@@ -858,82 +898,54 @@
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:"
+ printf ' %-16s' 'prefix:'
+ echo "$prefix"
+ printf ' %-16s' 'exec-prefix:'
+ echo "$exec_prefix"
+ printf ' %-16s' 'libdir:'
+ echo "$libdir"
+ printf ' %-16s' 'includedir:'
+ echo "$includedir"
+ printf ' %-16s' 'doxygen:'
+ echo "$DOXYGEN"
echo
echo "Features:"
+printf ' %-16s' 'api-docs:'
if [ -n "$FEATURE_API_DOCS" ]; then
-echo " api-docs: on"
+ echo 'on'
else
-echo " api-docs: off"
+ echo 'off'
fi
+printf ' %-16s' 'coverage:'
if [ -n "$FEATURE_COVERAGE" ]; then
-echo " coverage: on"
+ echo 'on'
else
-echo " coverage: 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' 'memrchr:'
if [ -n "$FEATURE_MEMRCHR" ]; then
-echo " memrchr: on"
+ echo 'on'
else
-echo " memrchr: off"
+ echo 'off'
fi
+printf ' %-16s' 'cxx-tests:'
if [ -n "$FEATURE_CXX_TESTS" ]; then
-echo " cxx-tests: on"
+ echo 'on'
else
-echo " cxx-tests: off"
+ echo 'off'
fi
+printf ' %-16s' 'szmul-builtin:'
if [ -n "$FEATURE_SZMUL_BUILTIN" ]; then
-echo " szmul-builtin: on"
+ echo 'on'
else
-echo " szmul-builtin: off"
+ echo 'off'
fi
echo
diff -r 03d703c3cfe9 -r b5c32391802f make/configure.vm
--- a/make/configure.vm Fri Nov 28 15:23:40 2025 +0100
+++ b/make/configure.vm Sun Nov 30 13:29:07 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
@@ -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,28 +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=} ;;
- "--runstatedir="*) runstatedir=${D}{ARG#--runstatedir=} ;;
- "--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.arg}="*) ${opt.varName}=${D}{ARG#--${opt.arg}=} ;;
- "--${opt.arg}") echo "option '$ARG' needs a value:"; echo " $ARG=${opt.valuesString}"; abort_configure ;;
+ "--${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 ;;
@@ -226,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. **
#[[
@@ -264,58 +254,49 @@
: ${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
@@ -324,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"
@@ -744,7 +700,7 @@
echo "configure finished"
echo
-echo "Toolchain"
+echo "Toolchain:"
echo " name: $TOOLCHAIN_NAME"
if [ -n "$TOOLCHAIN_CC" ]; then
echo " cc: $TOOLCHAIN_CC"
@@ -759,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:"
@@ -813,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 03d703c3cfe9 -r b5c32391802f make/install-pc-file.sh
--- a/make/install-pc-file.sh Fri Nov 28 15:23:40 2025 +0100
+++ b/make/install-pc-file.sh Sun Nov 30 13:29:07 2025 +0100
@@ -1,16 +1,17 @@
#!/bin/sh
-if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] ; then
- echo "Usage: $0 [destdir]"
+if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ] ; then
+ echo "Usage: $0 [destdir]"
exit 1
fi
-version="$1"
-libdir="$2"
-includedir="$3"
-destdir="$4"
+pkgconfigdir="$1"
+version="$2"
+libdir="$3"
+includedir="$4"
+destdir="$5"
-cat << EOF > "$destdir$libdir/pkgconfig/ucx.pc"
+cat << EOF > "$destdir$pkgconfigdir/ucx.pc"
libdir=$libdir
includedir=$includedir
diff -r 03d703c3cfe9 -r b5c32391802f make/makefile.mk
--- a/make/makefile.mk Fri Nov 28 15:23:40 2025 +0100
+++ b/make/makefile.mk Sun Nov 30 13:29:07 2025 +0100
@@ -69,7 +69,7 @@
test -n "$(WITH_CXX_TEST)"
docs: $(build_dir) FORCE
- @(test "$(WITH_API_DOCS)" = "yes" && cd $(root_dir); $(DOXYGEN) ) \
+ @(test "$(WITH_API_DOCS)" = "yes" && cd $(root_dir) && $(DOXYGEN) ) \
|| echo "[ Generation of API Docs disabled - skipped ]"
update-rules: FORCE
diff -r 03d703c3cfe9 -r b5c32391802f make/project.xml
--- a/make/project.xml Fri Nov 28 15:23:40 2025 +0100
+++ b/make/project.xml Sun Nov 30 13:29:07 2025 +0100
@@ -1,35 +1,31 @@
+
+
+
+
+ 3.2.0
+ 6.0.0
+ 6
pwd
- command -v doxygen
+ \${root_dir}/build
+ \${root_dir}/build/docs
+ \${root_dir}/dist
+ command -v doxygen
+ /bin/mkdir -p
+ /bin/rm -f
+ /bin/rm -f -R
+ /bin/cp -f
+ /bin/cp -f -R
+ /bin/ln -s
-
-
-
- # library version
- VERSION=3.2.0
- LIBVERSION=6.0.0
- LIBVERSION_MAJOR=6
-
- # build directory structure !! do not change or override !!
- root_dir=${root_dir}
- build_dir=${root_dir}/build
- docs_dir=${root_dir}/build/docs
- dist_dir=${root_dir}/dist
-
-
-
-
-
- MKDIR=/bin/mkdir -p
- RMFILE=/bin/rm -f
- RMDIR=/bin/rm -f -R
- COPYFILE=/bin/cp -f
- COPYALL=/bin/cp -f -R
- SYMLINK=/bin/ln -s
-
-
+
+ \${exec_prefix}/libdata/pkgconfig
+
+
+ \${libdir}/pkgconfig
+
c
@@ -77,7 +73,6 @@
test -n "$DOXYGEN"
- DOXYGEN=$DOXYGEN
diff -r 03d703c3cfe9 -r b5c32391802f make/toolchain.sh
--- a/make/toolchain.sh Fri Nov 28 15:23:40 2025 +0100
+++ b/make/toolchain.sh Sun Nov 30 13:29:07 2025 +0100
@@ -24,7 +24,9 @@
check_c_compiler()
{
- if ! command -v "$1" >/dev/null 2>&1 ; then
+ if command -v "$1" >/dev/null 2>&1 ; then
+ :
+ else
return 1
fi
cat > "$TEMP_DIR/test.c" << __EOF__
@@ -55,7 +57,9 @@
check_cpp_compiler()
{
- if ! command -v "$1" >/dev/null 2>&1 ; then
+ if command -v "$1" >/dev/null 2>&1 ; then
+ :
+ else
return 1
fi
cat > "$TEMP_DIR/test.cpp" << __EOF__
diff -r 03d703c3cfe9 -r b5c32391802f make/uwproj.xsd
--- a/make/uwproj.xsd Fri Nov 28 15:23:40 2025 +0100
+++ b/make/uwproj.xsd Sun Nov 30 13:29:07 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).
+
+
diff -r 03d703c3cfe9 -r b5c32391802f src/Makefile
--- a/src/Makefile Fri Nov 28 15:23:40 2025 +0100
+++ b/src/Makefile Sun Nov 30 13:29:07 2025 +0100
@@ -64,7 +64,7 @@
$(COPYFILE) $(build_dir)/libucx_static$(STLIB_EXT) $(DESTDIR)$(libdir)/libucx_static$(STLIB_EXT)
$(SHELL) "$(INSTALL_LIB)" "$(build_dir)/libucx$(SHLIB_EXT)" "$(libdir)" $(LIBVERSION) $(LIBVERSION_MAJOR) "$(DESTDIR)"
$(COPYALL) $(root_dir)/src/cx $(DESTDIR)$(includedir)
- $(SHELL) "$(root_dir)/make/install-pc-file.sh" "$(VERSION)" "$(libdir)" "$(includedir)" "$(DESTDIR)"
+ $(SHELL) "$(root_dir)/make/install-pc-file.sh" "$(pkgconfigdir)" "$(VERSION)" "$(libdir)" "$(includedir)" "$(DESTDIR)"
FORCE: