add support for multiple parallel versions of ucx

Tue, 28 Oct 2025 21:46:37 +0100

author
Mike Becker <universe@uap-core.de>
date
Tue, 28 Oct 2025 21:46:37 +0100
changeset 1460
464f896249c1
parent 1459
22923f0b3dbb
child 1461
dfd79d615049

add support for multiple parallel versions of ucx

configure file | annotate | diff | comparison | revisions
make/project.xml file | annotate | diff | comparison | revisions
--- a/configure	Tue Oct 28 21:33:24 2025 +0100
+++ b/configure	Tue Oct 28 21:46:37 2025 +0100
@@ -407,100 +407,6 @@
     dep_checked_cxx=1
     return 0
 }
-dependency_error_c()
-{
-    print_check_msg "$dep_checked_c" "checking for c... "
-    # dependency c platform="mingw"
-    while true
-    do
-        if notisplatform "mingw"; then
-            break
-        fi
-        if [ -z "$lang_c" ] ; then
-            break
-        fi
-        cat >> $TEMP_DIR/make.mk << __EOF__
-# Dependency: c
-AR=ar
-ARFLAGS=r
-STLIB_EXT=.lib
-SHLIB_EXT=.dll
-__EOF__
-        print_check_msg "$dep_checked_c" "yes\n"
-        dep_checked_c=1
-        return 1
-    done
-
-    # dependency c platform="macos"
-    while true
-    do
-        if notisplatform "macos"; then
-            break
-        fi
-        if [ -z "$lang_c" ] ; then
-            break
-        fi
-        cat >> $TEMP_DIR/make.mk << __EOF__
-# Dependency: c
-AR=ar
-ARFLAGS=r
-STLIB_EXT=.a
-SHLIB_EXT=.dylib
-__EOF__
-        print_check_msg "$dep_checked_c" "yes\n"
-        dep_checked_c=1
-        return 1
-    done
-
-    # dependency c platform="unix"
-    while true
-    do
-        if notisplatform "unix"; then
-            break
-        fi
-        if [ -z "$lang_c" ] ; then
-            break
-        fi
-        cat >> $TEMP_DIR/make.mk << __EOF__
-# Dependency: c
-AR=ar
-ARFLAGS=cr
-STLIB_EXT=.a
-SHLIB_EXT=.so
-__EOF__
-        print_check_msg "$dep_checked_c" "yes\n"
-        dep_checked_c=1
-        return 1
-    done
-
-    print_check_msg "$dep_checked_c" "no\n"
-    dep_checked_c=1
-    return 0
-}
-dependency_error_file_tools()
-{
-    print_check_msg "$dep_checked_file_tools" "checking for file_tools... "
-    # dependency file-tools
-    while true
-    do
-        cat >> $TEMP_DIR/make.mk << __EOF__
-# Dependency: file_tools
-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__
-        print_check_msg "$dep_checked_file_tools" "yes\n"
-        dep_checked_file_tools=1
-        return 1
-    done
-
-    print_check_msg "$dep_checked_file_tools" "no\n"
-    dep_checked_file_tools=1
-    return 0
-}
 dependency_error_memrchr()
 {
     print_check_msg "$dep_checked_memrchr" "checking for memrchr... "
@@ -613,6 +519,122 @@
 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 "mingw"; then
+        break
+    fi
+    while true
+    do
+        if [ -z "$lang_c" ] ; then
+            ERROR=1
+            break
+        fi
+
+        cat >> "$TEMP_DIR/make.mk" << __EOF__
+AR=ar
+ARFLAGS=r
+STLIB_EXT=.lib
+SHLIB_EXT=.dll
+__EOF__
+        break
+    done
+    break
+done
+while true
+do
+    if notisplatform "macos"; then
+        break
+    fi
+    while true
+    do
+        if [ -z "$lang_c" ] ; then
+            ERROR=1
+            break
+        fi
+
+        cat >> "$TEMP_DIR/make.mk" << __EOF__
+AR=ar
+ARFLAGS=r
+STLIB_EXT=.a
+SHLIB_EXT=.dylib
+__EOF__
+        break
+    done
+    break
+done
+while true
+do
+    if notisplatform "unix"; then
+        break
+    fi
+    while true
+    do
+        if [ -z "$lang_c" ] ; then
+            ERROR=1
+            break
+        fi
+
+        cat >> "$TEMP_DIR/make.mk" << __EOF__
+AR=ar
+ARFLAGS=cr
+STLIB_EXT=.a
+SHLIB_EXT=.so
+__EOF__
+        break
+    done
+    break
+done
+while true
+do
+    if notistoolchain "gnuc"; then
+        break
+    fi
+    if isplatform "macos" || istoolchain "macos"; then
+        break
+    fi
+    while true
+    do
+
+        cat >> "$TEMP_DIR/make.mk" << __EOF__
+SHLIB_LDFLAGS += -Wl,-soname,libucx\$(SHLIB_EXT).\$(LIBVERSION_MAJOR)
+__EOF__
+        break
+    done
+    break
+done
+while true
+do
+    if notistoolchain "suncc"; then
+        break
+    fi
+    while true
+    do
+
+        cat >> "$TEMP_DIR/make.mk" << __EOF__
+SHLIB_LDFLAGS += -h libucx\$(SHLIB_EXT).\$(LIBVERSION_MAJOR)
+__EOF__
+        break
+    done
+    break
+done
+while true
+do
     if notisplatform "solaris"; then
         break
     fi
@@ -662,14 +684,6 @@
 TEMP_CXXFLAGS=
 TEMP_LDFLAGS=
 
-if dependency_error_c; then
-    DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED c "
-    ERROR=1
-fi
-if dependency_error_file_tools; then
-    DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED file_tools "
-    ERROR=1
-fi
 
 # Features
 if [ -n "$FEATURE_API_DOCS" ]; then
--- a/make/project.xml	Tue Oct 28 21:33:24 2025 +0100
+++ b/make/project.xml	Tue Oct 28 21:46:37 2025 +0100
@@ -20,11 +20,7 @@
         </make>
     </dependency>
     
-    <dependency platform="solaris">
-        <ldflags>-lm</ldflags>
-    </dependency>
-
-    <dependency name="file-tools">
+    <dependency>
         <make>
             MKDIR=/bin/mkdir -p
             RMFILE=/bin/rm -f
@@ -35,7 +31,7 @@
         </make>
     </dependency>
 
-    <dependency name="c" platform="mingw">
+    <dependency platform="mingw">
         <lang>c</lang>
         <make>
             AR=ar
@@ -45,7 +41,7 @@
         </make>
     </dependency>
 
-    <dependency name="c" platform="macos">
+    <dependency platform="macos">
         <lang>c</lang>
         <make>
             AR=ar
@@ -55,7 +51,7 @@
         </make>
     </dependency>
 
-    <dependency name="c" platform="unix">
+    <dependency platform="unix">
         <lang>c</lang>
         <make>
             AR=ar
@@ -65,6 +61,22 @@
         </make>
     </dependency>
 
+    <dependency toolchain="gnuc" not="macos">
+        <make>
+            SHLIB_LDFLAGS += -Wl,-soname,libucx\$(SHLIB_EXT).\$(LIBVERSION_MAJOR)
+        </make>
+    </dependency>
+
+    <dependency toolchain="suncc">
+        <make>
+            SHLIB_LDFLAGS += -h libucx\$(SHLIB_EXT).\$(LIBVERSION_MAJOR)
+        </make>
+    </dependency>
+
+    <dependency platform="solaris">
+        <ldflags>-lm</ldflags>
+    </dependency>
+
     <dependency name="cxx">
         <lang>cpp</lang>
     </dependency>
@@ -134,6 +146,5 @@
                 <define name="CX_NO_SZMUL_BUILTIN"/>
             </disabled>
         </feature>
-        <dependencies>c,file-tools</dependencies>
     </target>
 </project>

mercurial