]> git.kaiwu.me - nginx.git/commitdiff
Configure: fixed --with-libatomic=DIR with recent libatomic_ops.
authorSergey Kandaurov <pluknet@nginx.com>
Fri, 17 Jan 2025 13:55:21 +0000 (17:55 +0400)
committerpluknet <pluknet@nginx.com>
Thu, 30 Jan 2025 13:16:10 +0000 (17:16 +0400)
The build location of the resulting libatomic_ops.a was changed in v7.4.0
after converting libatomic_ops to use libtool.  The fix is to use library
from the install path, this allows building with both old and new versions.

Initially reported here:
https://mailman.nginx.org/pipermail/nginx/2018-April/056054.html

auto/lib/libatomic/conf
auto/lib/libatomic/make

index 8c8cb438b821a4280c96c7aca7044d2d5e7644af..dfdc1a622075b5c883d929a5f3af382dc8a8fcfe 100644 (file)
@@ -7,8 +7,8 @@ if [ $NGX_LIBATOMIC != YES ]; then
 
     have=NGX_HAVE_LIBATOMIC . auto/have
     CORE_INCS="$CORE_INCS $NGX_LIBATOMIC/src"
-    LINK_DEPS="$LINK_DEPS $NGX_LIBATOMIC/src/libatomic_ops.a"
-    CORE_LIBS="$CORE_LIBS $NGX_LIBATOMIC/src/libatomic_ops.a"
+    LINK_DEPS="$LINK_DEPS $NGX_LIBATOMIC/build/lib/libatomic_ops.a"
+    CORE_LIBS="$CORE_LIBS $NGX_LIBATOMIC/build/lib/libatomic_ops.a"
 
 else
 
index c90318ea1227fa1cc30e46e6ceced8e6fddc6498..530c746a6dbc79db2cae947803d977192615c4fa 100644 (file)
@@ -3,14 +3,19 @@
 # Copyright (C) Nginx, Inc.
 
 
+    case $NGX_LIBATOMIC in
+        /*) ngx_prefix="$NGX_LIBATOMIC/build" ;;
+        *)  ngx_prefix="$PWD/$NGX_LIBATOMIC/build" ;;
+    esac
+
     cat << END                                            >> $NGX_MAKEFILE
 
-$NGX_LIBATOMIC/src/libatomic_ops.a:    $NGX_LIBATOMIC/Makefile
-       cd $NGX_LIBATOMIC && \$(MAKE)
+$NGX_LIBATOMIC/build/lib/libatomic_ops.a:      $NGX_LIBATOMIC/Makefile
+       cd $NGX_LIBATOMIC && \$(MAKE) && \$(MAKE) install
 
 $NGX_LIBATOMIC/Makefile:       $NGX_MAKEFILE
        cd $NGX_LIBATOMIC \\
        && if [ -f Makefile ]; then \$(MAKE) distclean; fi \\
-       && ./configure
+       && ./configure --prefix=$ngx_prefix
 
 END