aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2025-01-17 17:55:21 +0400
committerpluknet <pluknet@nginx.com>2025-01-30 17:16:10 +0400
commite715202220e2260a8ed125eacf5230d1c1eaeec8 (patch)
tree318f29d40f81e39d690c051233dd55ad13c1bf47
parent64d0795ac41836b6be8fcceba68f1dbb62b4035a (diff)
downloadnginx-e715202220e2260a8ed125eacf5230d1c1eaeec8.tar.gz
nginx-e715202220e2260a8ed125eacf5230d1c1eaeec8.zip
Configure: fixed --with-libatomic=DIR with recent libatomic_ops.
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
-rw-r--r--auto/lib/libatomic/conf4
-rw-r--r--auto/lib/libatomic/make11
2 files changed, 10 insertions, 5 deletions
diff --git a/auto/lib/libatomic/conf b/auto/lib/libatomic/conf
index 8c8cb438b..dfdc1a622 100644
--- a/auto/lib/libatomic/conf
+++ b/auto/lib/libatomic/conf
@@ -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
diff --git a/auto/lib/libatomic/make b/auto/lib/libatomic/make
index c90318ea1..530c746a6 100644
--- a/auto/lib/libatomic/make
+++ b/auto/lib/libatomic/make
@@ -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