# HG changeset patch # User Mike Becker # Date 1762291587 -3600 # Node ID f70ba8f14b418f89766e48481999f79408b614cf # Parent 5509c71f34b23d87cf24dfa699da9dd5a493620b update uwproj (fixes configure on solaris) diff -r 5509c71f34b2 -r f70ba8f14b41 configure --- a/configure Thu Oct 09 10:58:12 2025 +0200 +++ b/configure Tue Nov 04 22:26:27 2025 +0100 @@ -58,6 +58,7 @@ # $PLATFORM is used for platform dependent dependency selection OS=`uname -s` OS_VERSION=`uname -r` +ARCH=`uname -m` printf "detect platform... " if [ "$OS" = "SunOS" ]; then PLATFORM="solaris sunos unix svr4" @@ -240,6 +241,28 @@ printf "loading site defaults... " . "$prefix/etc/config.site" echo ok +else + # 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 + : + else + # if it does not, maybe a lib32 exists + test -d "${exec_prefix}/lib32" && libdir='${exec_prefix}/lib32' + 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 + fi + fi fi diff -r 5509c71f34b2 -r f70ba8f14b41 make/configure.vm --- a/make/configure.vm Thu Oct 09 10:58:12 2025 +0200 +++ b/make/configure.vm Tue Nov 04 22:26:27 2025 +0100 @@ -59,6 +59,7 @@ # $PLATFORM is used for platform dependent dependency selection OS=`uname -s` OS_VERSION=`uname -r` +ARCH=`uname -m` printf "detect platform... " if [ "$OS" = "SunOS" ]; then PLATFORM="solaris sunos unix svr4" @@ -276,6 +277,28 @@ printf "loading site defaults... " . "$prefix/etc/config.site" echo ok +else + # 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 + : + else + # if it does not, maybe a lib32 exists + test -d "${exec_prefix}/lib32" && libdir='${exec_prefix}/lib32' + 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 + fi + fi fi ]]# ## End of unparsed content ** @@ -377,7 +400,7 @@ fi #end #foreach( $test in $sub.tests ) - if $test > /dev/null ; then + if $test > /dev/null 2>&1 ; then : else break @@ -479,7 +502,6 @@ #foreach( $flags in $dependency.flags ) #if( $flags.exec ) - $flags.value > /dev/null if tmp_flags=`$flags.value` ; then TEMP_$flags.varName="$TEMP_$flags.varName $tmp_flags" else diff -r 5509c71f34b2 -r f70ba8f14b41 make/project.xml --- a/make/project.xml Thu Oct 09 10:58:12 2025 +0200 +++ b/make/project.xml Tue Nov 04 22:26:27 2025 +0100 @@ -1,5 +1,5 @@ - + cpp -std=c++23 diff -r 5509c71f34b2 -r f70ba8f14b41 make/toolchain.sh --- a/make/toolchain.sh Thu Oct 09 10:58:12 2025 +0200 +++ b/make/toolchain.sh Tue Nov 04 22:26:27 2025 +0100 @@ -3,12 +3,19 @@ # toolchain detection # +TAIL=tail if isplatform "bsd" && notisplatform "openbsd"; then C_COMPILERS="clang gcc cc" CPP_COMPILERS="clang++ g++ CC" +elif isplatform "solaris"; then + C_COMPILERS="cc suncc gcc clang" + CPP_COMPILERS="CC sunCC g++ clang++" + if [ -f /usr/xpg4/bin/tail ]; then + TAIL=/usr/xpg4/bin/tail + fi else - C_COMPILERS="gcc clang suncc cc" - CPP_COMPILERS="g++ clang++ sunCC CC" + C_COMPILERS="gcc clang cc" + CPP_COMPILERS="g++ clang++ c++" fi unset TOOLCHAIN unset TOOLCHAIN_NAME @@ -91,47 +98,12 @@ fi } -check_c_lib() -{ - # $1: libname - # $2: optional include - if [ -z "$TOOLCHAIN_CC" ]; then - return 1 - fi - create_libtest_source "test.c" "$2" - rm -f "$TEMP_DIR/checklib" - $TOOLCHAIN_CC -o "$TEMP_DIR/checklib" $CFLAGS $LDFLAGS "-l$1" "$TEMP_DIR/test.c" 2> /dev/null -} - -check_cpp_lib() -{ - # $1: libname - # $2: optional include - if [ -z "$TOOLCHAIN_CXX" ]; then - return 1 - fi - create_libtest_source "test.cpp" "$2" - rm -f "$TEMP_DIR/checklib" - $TOOLCHAIN_CXX -o "$TEMP_DIR/checklib" $CXXFLAGS $LDFLAGS "-l$1" "$TEMP_DIR/test.cpp" 2> /dev/null -} - -check_lib() -{ - # $1: libname - # $2: optional include - if [ -n "$TOOLCHAIN_CC" ]; then - check_c_lib "$1" "$2" - elif [ -n "$TOOLCHAIN_CXX" ]; then - check_cpp_lib "$1" "$2" - fi -} - parse_toolchain_properties() { info_file="$1" - TOOLCHAIN=`grep '^toolchain:' "$info_file" | tail -c +11` + TOOLCHAIN=`grep '^toolchain:' "$info_file" | $TAIL -c +11` TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -` - TOOLCHAIN_WSIZE=`grep '^wsize:' "$info_file" | tail -c +7` + TOOLCHAIN_WSIZE=`grep '^wsize:' "$info_file" | $TAIL -c +7` } detect_c_compiler() @@ -145,7 +117,7 @@ TOOLCHAIN_CC=$CC "$TEMP_DIR/checkcc" > "$TEMP_DIR/checkcc_out" parse_toolchain_properties "$TEMP_DIR/checkcc_out" - TOOLCHAIN_CSTD=`grep '^stdcversion:' "$TEMP_DIR/checkcc_out" | tail -c +13` + TOOLCHAIN_CSTD=`grep '^stdcversion:' "$TEMP_DIR/checkcc_out" | $TAIL -c +13` echo "$CC" return 0 else @@ -159,7 +131,7 @@ TOOLCHAIN_CC=$COMP "$TEMP_DIR/checkcc" > "$TEMP_DIR/checkcc_out" parse_toolchain_properties "$TEMP_DIR/checkcc_out" - TOOLCHAIN_CSTD=`grep '^stdcversion:' "$TEMP_DIR/checkcc_out" | tail -c +13` + TOOLCHAIN_CSTD=`grep '^stdcversion:' "$TEMP_DIR/checkcc_out" | $TAIL -c +13` echo "$COMP" return 0 fi diff -r 5509c71f34b2 -r f70ba8f14b41 make/uwproj.xsd --- a/make/uwproj.xsd Thu Oct 09 10:58:12 2025 +0200 +++ b/make/uwproj.xsd Tue Nov 04 22:26:27 2025 +0100 @@ -3,7 +3,7 @@ xmlns="http://unixwork.de/uwproj" targetNamespace="http://unixwork.de/uwproj" elementFormDefault="qualified" - version="0.3" + version="0.4" >