From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 2D3E86DE1339 for ; Tue, 22 Aug 2017 15:44:30 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: 0.033 X-Spam-Level: X-Spam-Status: No, score=0.033 tagged_above=-999 required=5 tests=[AWL=-0.197, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1CIiZOxM4WLM for ; Tue, 22 Aug 2017 15:44:29 -0700 (PDT) Received: from mail-wm0-f44.google.com (mail-wm0-f44.google.com [74.125.82.44]) by arlo.cworth.org (Postfix) with ESMTPS id 463C96DE1343 for ; Tue, 22 Aug 2017 15:44:19 -0700 (PDT) Received: by mail-wm0-f44.google.com with SMTP id r187so3639373wma.0 for ; Tue, 22 Aug 2017 15:44:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=kq/Aom9vlBa3+rGhHbpv2oe+z6U20vOg6jO9BrfgJLs=; b=Zv7LTHDx1SkpAe8RkDoXeHgC6IGXkqoyKJ2hMdfr7qh/5ieGOC8kvifIWumqXDbq4D KzBhtM1iCDKbhh0VQKq0u8ost7bCmGWEt9TQnN+75u5ExYyKjetCVUkUKiiyNb/+T+XR C7HW2k26/r19kGEnVYBmtaKC3xb0rZxJPU2BXuKIDlM5d5GTCYMIDRrxkx/C6Cu4qrjf GylMkhUDGXNnn1Q4Jj+YuQ57zSoVRzXvZXgvPruDRyRu4iFzUHehtKl5wy5APcWnKdFH qDzE4B4Twmz0CypKk7R/1yBmZ+Ac0PIUag1OEqhpypeMs1T2YDGke+/o5wYUDRH24wy9 Lymg== X-Gm-Message-State: AHYfb5iqo7/zxaMVb4pxhfROC+XcjRsp3byjQvoUjYrjk+A+od2mQR/l tezla0mLZxZvgPpVQ5s= X-Received: by 10.28.183.212 with SMTP id h203mr524904wmf.140.1503441857240; Tue, 22 Aug 2017 15:44:17 -0700 (PDT) Received: from home.thecybershadow.net ([89.28.117.31]) by smtp.gmail.com with ESMTPSA id e137sm491385wma.29.2017.08.22.15.44.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 22 Aug 2017 15:44:16 -0700 (PDT) From: Vladimir Panteleev To: notmuch@notmuchmail.org Cc: Vladimir Panteleev Subject: [PATCH 6/8] Fix linking shared library on Cygwin Date: Tue, 22 Aug 2017 22:43:37 +0000 Message-Id: <20170822224339.22601-7-notmuch@thecybershadow.net> X-Mailer: git-send-email 2.13.3 In-Reply-To: <20170822224339.22601-1-notmuch@thecybershadow.net> References: <20170822224339.22601-1-notmuch@thecybershadow.net> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Aug 2017 22:44:30 -0000 From: Vladimir Panteleev Apparently due to historical reasons, when given -lfoo, Cygwin's ld will prefer to link against libfoo.a over libfoo.so (or even libfoo.dll). As such, we need to explicitly specify the library file name when on Cygwin to avoid creating a broken notmuch-shared binary. * Makefile.global: Use -l:libnotmuch.so instead of -lnotmuch on Cygwin. --- Makefile.global | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Makefile.global b/Makefile.global index 5d10bff7..0b536302 100644 --- a/Makefile.global +++ b/Makefile.global @@ -48,11 +48,19 @@ GPG_FILE=$(SHA256_FILE).asc PV_FILE=bindings/python/notmuch/version.py +# Cygwin's linker prefers .a files over shared objects, so indicate +# that we want to link against the shared library explicitly. +ifeq ($(PLATFORM),CYGWIN) +NOTMUCH_LIBRARY_FLAG=-l:libnotmuch.so +else +NOTMUCH_LIBRARY_FLAG=-lnotmuch +endif + # Smash together user's values with our extra values STD_CFLAGS := -std=gnu99 FINAL_CFLAGS = -DNOTMUCH_VERSION=$(VERSION) $(CPPFLAGS) $(STD_CFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(extra_cflags) $(CONFIGURE_CFLAGS) FINAL_CXXFLAGS = $(CPPFLAGS) $(CXXFLAGS) $(WARN_CXXFLAGS) $(extra_cflags) $(extra_cxxflags) $(CONFIGURE_CXXFLAGS) -FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lnotmuch_util -Llib -lnotmuch +FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lnotmuch_util -Llib $(NOTMUCH_LIBRARY_FLAG) ifeq ($(LIBDIR_IN_LDCONFIG),0) FINAL_NOTMUCH_LDFLAGS += $(RPATH_LDFLAGS) endif -- 2.13.3