From a050d910738747f9aacfe4e196332d4cef6af972 Mon Sep 17 00:00:00 2001 From: Daniel Bertalan Date: Tue, 1 Aug 2023 21:10:45 +0200 Subject: [PATCH] Ports/zlib: Do not manually link `zlib` into a shared library Instead, pass our system name to its (non-autotools) configure script. Tell it to include a SONAME to avoid breaking dependent ports when updating zlib. --- Ports/zlib/package.sh | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Ports/zlib/package.sh b/Ports/zlib/package.sh index 8bf951f3da..62f06e9571 100755 --- a/Ports/zlib/package.sh +++ b/Ports/zlib/package.sh @@ -5,12 +5,9 @@ useconfigure=true files="https://www.zlib.net/zlib-${version}.tar.gz zlib-${version}.tar.gz b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30" configure() { - # Set uname to linux to prevent it finding the host's `libtool` on e.g. Darwin - run ./configure --uname=linux -} - -install() { - run make DESTDIR=${SERENITY_INSTALL_ROOT} "${installopts[@]}" install - ${CC} -shared -o ${SERENITY_INSTALL_ROOT}/usr/local/lib/libz.so -Wl,-soname,libz.so -Wl,--whole-archive ${SERENITY_INSTALL_ROOT}/usr/local/lib/libz.a -Wl,--no-whole-archive - rm -f ${SERENITY_INSTALL_ROOT}/usr/local/lib/libz.la + # No SONAME is set on unknown systems by default. Manually set it + # to an unversioned name to avoid needing to rebuild dependent + # ports after a minor version upgrade. + export LDSHARED="$CC -shared -Wl,-soname,libz.so" + run ./configure --uname=SerenityOS }