mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-13 03:09:51 +03:00
48 lines
1.3 KiB
Diff
48 lines
1.3 KiB
Diff
From: Jakub Jirutka <jakub@jirutka.cz>
|
|
Date: Tue, 13 May 2025 23:45:11 +0200
|
|
Subject: Build shared libraries
|
|
|
|
libnjs doesn't guarantee ABI compatibility between versions, so we
|
|
have to use full version in SONAME (see https://github.com/nginx/njs/issues/691).
|
|
|
|
We currently cannot link njs executable against shared libnjs, because
|
|
it depends on some internal(?) symbols.
|
|
|
|
diff --git a/auto/make b/auto/make
|
|
index cc3b022b5b2..33ca12f6a24 100644
|
|
--- a/auto/make
|
|
+++ b/auto/make
|
|
@@ -119,6 +119,33 @@ $NJS_BUILD_DIR/libqjs.a: \\
|
|
|
|
\$(NJS_STATIC_LINK) $NJS_BUILD_DIR/libqjs.a \\
|
|
\$(QJS_LIB_OBJS)
|
|
+
|
|
+
|
|
+NJS_SONAME = libnjs.so.\$(NJS_VER)
|
|
+QJS_SONAME = libqjs.so.\$(NJS_VER)
|
|
+
|
|
+libnjs.so: $NJS_BUILD_DIR/libnjs.so
|
|
+libqjs.so: $NJS_BUILD_DIR/libqjs.so
|
|
+
|
|
+$NJS_BUILD_DIR/libnjs.so: $NJS_BUILD_DIR/\$(NJS_SONAME)
|
|
+ ln -s \$(^F) \$@
|
|
+
|
|
+$NJS_BUILD_DIR/libqjs.so: $NJS_BUILD_DIR/\$(QJS_SONAME)
|
|
+ ln -s \$(^F) \$@
|
|
+
|
|
+$NJS_BUILD_DIR/\$(NJS_SONAME): \\
|
|
+ $NJS_BUILD_DIR/njs_auto_config.h \\
|
|
+ \$(NJS_LIB_OBJS)
|
|
+
|
|
+ \$(CC) \$(LDFLAGS) -fPIC -shared -Wl,-soname,\$(NJS_SONAME) -o \$@ \\
|
|
+ \$(NJS_LIB_OBJS) $NJS_LIBS $NJS_LIB_AUX_LIBS
|
|
+
|
|
+$NJS_BUILD_DIR/\$(QJS_SONAME): \\
|
|
+ $NJS_BUILD_DIR/njs_auto_config.h \\
|
|
+ \$(QJS_LIB_OBJS)
|
|
+
|
|
+ \$(CC) \$(LDFLAGS) -fPIC -shared -Wl,-soname,\$(QJS_SONAME) -o \$@ \\
|
|
+ \$(QJS_LIB_OBJS) $NJS_LIBS $NJS_LIB_AUX_LIBS
|
|
END
|
|
|
|
# object files.
|