]> git.cworth.org Git - notmuch/commitdiff
configure: make _check_session_keys work with an as-needed linker
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Mon, 20 May 2019 20:52:01 +0000 (16:52 -0400)
committerDavid Bremner <david@tethera.net>
Mon, 20 May 2019 21:34:12 +0000 (18:34 -0300)
When using a promiscuous linker, _check_session_keys was working fine.

But some OSes (including some versions of Ubuntu) have set their
linker to always link in "--as-needed" mode, which means that the
order of the objects linked is relevant.  If a library is loaded
before it is needed, that library will no longer be linked in the
final outcome.  _check_session_keys.c was failing on those systems.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
configure

index 474513a034c304dbf40a089090e8de6ccfe66209..8b80f0e0890ff54ee0f80b136af601d09bab9a0e 100755 (executable)
--- a/configure
+++ b/configure
@@ -532,7 +532,7 @@ EOF
     if ! TEMP_GPG=$(mktemp -d); then
         printf 'No.\nCould not make tempdir for testing session-key support.\n'
         errors=$((errors + 1))
-    elif ${CC} ${CFLAGS} ${gmime_cflags} ${gmime_ldflags}  _check_session_keys.c -o _check_session_keys \
+    elif ${CC} ${CFLAGS} ${gmime_cflags} _check_session_keys.c ${gmime_ldflags} -o _check_session_keys \
            && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < test/gnupg-secret-key.asc \
            && SESSION_KEY=$(GNUPGHOME=${TEMP_GPG} ./_check_session_keys) \
            && [ $SESSION_KEY = 9:0BACD64099D1468AB07C796F0C0AC4851948A658A15B34E803865E9FC635F2F5 ]