update uwproj default tip

Fri, 02 May 2025 19:27:49 +0200

author
Mike Becker <universe@uap-core.de>
date
Fri, 02 May 2025 19:27:49 +0200
changeset 103
d9549dd8e9a9
parent 102
0d94fd280c6e

update uwproj

configure file | annotate | diff | comparison | revisions
make/configure.vm file | annotate | diff | comparison | revisions
make/toolchain.sh file | annotate | diff | comparison | revisions
--- a/configure	Thu May 01 15:26:01 2025 +0200
+++ b/configure	Fri May 02 19:27:49 2025 +0200
@@ -107,8 +107,8 @@
   --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
 
 Build Types:
---debug                 add extra compile flags for debug builds
---release               add extra compile flags for release builds
+  --debug                 add extra compile flags for debug builds
+  --release               add extra compile flags for release builds
 
 __EOF__
 }
@@ -201,6 +201,22 @@
 : ${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
 if [ -n "$CONFIG_SITE" ]; then
     # CONFIG_SITE may contain space separated file names
@@ -422,6 +438,16 @@
     break
 done
 
+# build type
+if [ "$BUILD_TYPE" = "debug" ]; then
+    TEMP_CFLAGS="\${DEBUG_CFLAGS}$TEMP_CFLAGS"
+    TEMP_CXXFLAGS="\${DEBUG_CXXFLAGS}$TEMP_CXXFLAGS"
+fi
+if [ "$BUILD_TYPE" = "release" ]; then
+    TEMP_CFLAGS="\${RELEASE_CFLAGS}$TEMP_CFLAGS"
+    TEMP_CXXFLAGS="\${RELEASE_CXXFLAGS}$TEMP_CXXFLAGS"
+fi
+
 # add general dependency flags to flags.mk
 echo "# general flags" >> "$TEMP_DIR/flags.mk"
 if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then
@@ -479,22 +505,6 @@
 if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then
     echo "CXXFLAGS  += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk"
 fi
-if [ "$BUILD_TYPE" = "debug" ]; then
-    if [ -n "$lang_c" ]; then
-        echo 'CFLAGS += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk"
-    fi
-    if [ -n "$lang_cpp" ]; then
-        echo 'CXXFLAGS += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk"
-    fi
-fi
-if [ "$BUILD_TYPE" = "release" ]; then
-    if [ -n "$lang_c" ]; then
-        echo 'CFLAGS += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk"
-    fi
-    if [ -n "$lang_cpp" ]; then
-        echo 'CXXFLAGS += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk"
-    fi
-fi
 if [ -n "${TEMP_LDFLAGS}" ]; then
     echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk"
 fi
@@ -510,18 +520,78 @@
 
 echo "configure finished"
 echo
+echo "Toolchain"
+echo "  name:           $TOOLCHAIN_NAME"
+if [ -n "$TOOLCHAIN_CC" ]; then
+    echo "  cc:             $TOOLCHAIN_CC"
+fi
+if [ -n "$TOOLCHAIN_CXX" ]; then
+    echo "  cxx:            $TOOLCHAIN_CXX"
+fi
+if [ -n "$TOOLCHAIN_WSIZE" ]; then
+    echo "  word size:      $TOOLCHAIN_WSIZE bit"
+fi
+if [ -n "$TOOLCHAIN_CSTD" ]; then
+    echo "  default C std:  $TOOLCHAIN_CSTD"
+fi
+echo
 echo "Build Config:"
-echo "  PREFIX:      $prefix"
-echo "  TOOLCHAIN:   $TOOLCHAIN_NAME"
+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
 
 # generate the config.mk file
+pwd=`pwd`
 cat > "$TEMP_DIR/config.mk" << __EOF__
 #
-# config.mk generated by configure
+# config.mk generated by:
+# pwd: $pwd
+# $0 $@
 #
 
 __EOF__
 write_toolchain_defaults "$TEMP_DIR/toolchain.mk"
-cat "$TEMP_DIR/vars.mk" "$TEMP_DIR/toolchain.mk" "$TEMP_DIR/flags.mk" "$TEMP_DIR/make.mk" > config.mk
+cat "$TEMP_DIR/config.mk" "$TEMP_DIR/vars.mk" "$TEMP_DIR/toolchain.mk" "$TEMP_DIR/flags.mk" "$TEMP_DIR/make.mk" > config.mk
 rm -Rf "$TEMP_DIR"
--- a/make/configure.vm	Thu May 01 15:26:01 2025 +0200
+++ b/make/configure.vm	Fri May 02 19:27:49 2025 +0200
@@ -108,8 +108,8 @@
   --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
 
 Build Types:
---debug                 add extra compile flags for debug builds
---release               add extra compile flags for release builds
+  --debug                 add extra compile flags for debug builds
+  --release               add extra compile flags for release builds
 #if( $options.size() > 0 )
 
 Options:
@@ -244,6 +244,22 @@
 : ${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
 if [ -n "$CONFIG_SITE" ]; then
     # CONFIG_SITE may contain space separated file names
@@ -485,6 +501,16 @@
 done
 #end
 
+# build type
+if [ "$BUILD_TYPE" = "debug" ]; then
+    TEMP_CFLAGS="\${DEBUG_CFLAGS}$TEMP_CFLAGS"
+    TEMP_CXXFLAGS="\${DEBUG_CXXFLAGS}$TEMP_CXXFLAGS"
+fi
+if [ "$BUILD_TYPE" = "release" ]; then
+    TEMP_CFLAGS="\${RELEASE_CFLAGS}$TEMP_CFLAGS"
+    TEMP_CXXFLAGS="\${RELEASE_CXXFLAGS}$TEMP_CXXFLAGS"
+fi
+
 # add general dependency flags to flags.mk
 echo "# general flags" >> "$TEMP_DIR/flags.mk"
 if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then
@@ -661,22 +687,6 @@
 if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then
     echo "${target.cxxFlags}  += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk"
 fi
-if [ "$BUILD_TYPE" = "debug" ]; then
-    if [ -n "$lang_c" ]; then
-        echo '${target.cFlags} += ${DEBUG_CC_FLAGS}' >> "$TEMP_DIR/flags.mk"
-    fi
-    if [ -n "$lang_cpp" ]; then
-        echo '${target.cxxFlags} += ${DEBUG_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk"
-    fi
-fi
-if [ "$BUILD_TYPE" = "release" ]; then
-    if [ -n "$lang_c" ]; then
-        echo '${target.cFlags} += ${RELEASE_CC_FLAGS}' >> "$TEMP_DIR/flags.mk"
-    fi
-    if [ -n "$lang_cpp" ]; then
-        echo '${target.cxxFlags} += ${RELEASE_CXX_FLAGS}' >> "$TEMP_DIR/flags.mk"
-    fi
-fi
 if [ -n "${TEMP_LDFLAGS}" ]; then
     echo "${target.ldFlags} += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk"
 fi
@@ -693,14 +703,73 @@
 
 echo "configure finished"
 echo
+echo "Toolchain"
+echo "  name:           $TOOLCHAIN_NAME"
+if [ -n "$TOOLCHAIN_CC" ]; then
+    echo "  cc:             $TOOLCHAIN_CC"
+fi
+if [ -n "$TOOLCHAIN_CXX" ]; then
+    echo "  cxx:            $TOOLCHAIN_CXX"
+fi
+if [ -n "$TOOLCHAIN_WSIZE" ]; then
+    echo "  word size:      $TOOLCHAIN_WSIZE bit"
+fi
+if [ -n "$TOOLCHAIN_CSTD" ]; then
+    echo "  default C std:  $TOOLCHAIN_CSTD"
+fi
+echo
 echo "Build Config:"
-echo "  PREFIX:      $prefix"
-echo "  TOOLCHAIN:   $TOOLCHAIN_NAME"
+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
 #if ( $options.size() > 0 )
+echo
 echo "Options:"
 cat "$TEMP_DIR/options"
 #end
 #if ( $features.size() > 0 )
+echo
 echo "Features:"
 #foreach( $feature in $features )
 if [ -n "${D}${feature.varName}" ]; then
@@ -713,12 +782,15 @@
 echo
 
 # generate the config.mk file
+pwd=`pwd`
 cat > "$TEMP_DIR/config.mk" << __EOF__
 #
-# config.mk generated by configure
+# config.mk generated by:
+# pwd: $pwd
+# $0 $@
 #
 
 __EOF__
 write_toolchain_defaults "$TEMP_DIR/toolchain.mk"
-cat "$TEMP_DIR/vars.mk" "$TEMP_DIR/toolchain.mk" "$TEMP_DIR/flags.mk" "$TEMP_DIR/make.mk" > config.mk
+cat "$TEMP_DIR/config.mk" "$TEMP_DIR/vars.mk" "$TEMP_DIR/toolchain.mk" "$TEMP_DIR/flags.mk" "$TEMP_DIR/make.mk" > config.mk
 rm -Rf "$TEMP_DIR"
--- a/make/toolchain.sh	Thu May 01 15:26:01 2025 +0200
+++ b/make/toolchain.sh	Fri May 02 19:27:49 2025 +0200
@@ -17,20 +17,28 @@
 
 check_c_compiler()
 {
+  command -v $1 2>&1 >/dev/null
+  if [ $? -ne 0 ]; then
+    return 1
+  fi
   cat > "$TEMP_DIR/test.c" << __EOF__
 /* test file */
 #include <stdio.h>
 int main(int argc, char **argv) {
 #if defined(_MSC_VER)
-  printf("msc\n");
+  printf("toolchain:msc\n");
 #elif defined(__clang__)
-  printf("clang gnuc\n");
+  printf("toolchain:clang gnuc\n");
 #elif defined(__GNUC__)
-  printf("gcc gnuc\n");
+  printf("toolchain:gcc gnuc\n");
 #elif defined(__sun)
-  printf("suncc\n");
+  printf("toolchain:suncc\n");
 #else
-  printf("unknown\n");
+  printf("toolchain:unknown\n");
+#endif
+  printf("wsize:%d\n", (int)sizeof(void*)*8);
+#ifdef __STDC_VERSION__
+  printf("stdcversion:%d\n", __STDC_VERSION__);
 #endif
   return 0;
 }
@@ -41,21 +49,26 @@
 
 check_cpp_compiler()
 {
+  command -v $1 2>&1 >/dev/null
+  if [ $? -ne 0 ]; then
+    return 1
+  fi
   cat > "$TEMP_DIR/test.cpp" << __EOF__
 /* test file */
 #include <iostream>
 int main(int argc, char **argv) {
 #if defined(_MSC_VER)
-  std::cout << "msc" << std::endl;
+  std::cout << "toolchain:msc" << std::endl;
 #elif defined(__clang__)
-  std::cout << "clang gnuc" << std::endl;
+  std::cout << "toolchain:clang gnuc" << std::endl;
 #elif defined(__GNUC__)
-  std::cout << "gcc gnuc" << std::endl;
+  std::cout << "toolchain:gcc gnuc" << std::endl;
 #elif defined(__sun)
-  std::cout << "suncc" << std::endl;
+  std::cout << "toolchain:suncc" << std::endl;
 #else
-  std::cout << "cc" << std::endl;
+  std::cout << "toolchain:unknown" << std::endl;
 #endif
+  std:cout << "wsize:" << sizeof(void*)*8 << std::endl;
   return 0;
 }
 __EOF__
@@ -122,8 +135,11 @@
   if [ -n "$CC" ]; then
     if check_c_compiler "$CC"; then
       TOOLCHAIN_CC=$CC
-      TOOLCHAIN=`"$TEMP_DIR/checkcc"`
+      "$TEMP_DIR/checkcc" > "$TEMP_DIR/checkcc_out"
+      TOOLCHAIN=`grep '^toolchain:' "$TEMP_DIR/checkcc_out" | tail -c +11`
       TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -`
+      TOOLCHAIN_WSIZE=`grep '^wsize:' "$TEMP_DIR/checkcc_out" | tail -c +7`
+      TOOLCHAIN_CSTD=`grep '^stdcversion:' "$TEMP_DIR/checkcc_out" | tail -c +13`
       echo "$CC"
       return 0
     else
@@ -135,8 +151,11 @@
     do
       if check_c_compiler "$COMP"; then
         TOOLCHAIN_CC=$COMP
-        TOOLCHAIN=`"$TEMP_DIR/checkcc"`
+        "$TEMP_DIR/checkcc" > "$TEMP_DIR/checkcc_out"
+        TOOLCHAIN=`grep '^toolchain:' "$TEMP_DIR/checkcc_out" | tail -c +11`
         TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -`
+        TOOLCHAIN_WSIZE=`grep '^wsize:' "$TEMP_DIR/checkcc_out" | tail -c +7`
+        TOOLCHAIN_CSTD=`grep '^stdcversion:' "$TEMP_DIR/checkcc_out" | tail -c +13`
         echo "$COMP"
         return 0
       fi
@@ -156,7 +175,8 @@
   if [ -n "$CXX" ]; then
     if check_cpp_compiler "$CXX"; then
       TOOLCHAIN_CXX=$CXX
-      TOOLCHAIN=`"$TEMP_DIR/checkcc"`
+      "$TEMP_DIR/checkcc" > "$TEMP_DIR/checkcc_out"
+      TOOLCHAIN=`grep '^toolchain:' "$TEMP_DIR/checkcc_out" | tail -c +11`
       TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -`
       echo "$CXX"
       return 0
@@ -169,7 +189,8 @@
     do
       if check_cpp_compiler "$COMP"; then
         TOOLCHAIN_CXX=$COMP
-        TOOLCHAIN=`"$TEMP_DIR/checkcc"`
+        "$TEMP_DIR/checkcc" > "$TEMP_DIR/checkcc_out"
+        TOOLCHAIN=`grep '^toolchain:' "$TEMP_DIR/checkcc_out" | tail -c +11`
         TOOLCHAIN_NAME=`echo "$TOOLCHAIN" | cut -f1 -d' ' -`
         echo "$COMP"
         return 0

mercurial