[PATCH] build/ruby: use notmuch configure script values for shared lib

David Bremner david at tethera.net
Sat Jun 13 23:26:31 PDT 2015


This is supposed to help build on systems like MacOS with different
conventions for naming shared libraries. We have already computed the
relevant names, so doing it again in ruby seems like a bad idea.
---
 bindings/Makefile.local  |  3 ++-
 bindings/ruby/extconf.rb | 13 +++----------
 2 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/bindings/Makefile.local b/bindings/Makefile.local
index d236f01..4ecf839 100644
--- a/bindings/Makefile.local
+++ b/bindings/Makefile.local
@@ -3,10 +3,11 @@
 dir := bindings
 
 # force the shared library to be built
-ruby-bindings: lib/libnotmuch.so
+ruby-bindings: lib/$(LINKER_NAME)
 ifeq ($(HAVE_RUBY_DEV),1)
 	cd $(dir)/ruby && \
 		EXTRA_LDFLAGS="$(NO_UNDEFINED_LDFLAGS)" \
+		LIBNOTMUCH="../../lib/$(LINKER_NAME)" \
 		ruby extconf.rb --vendor
 	$(MAKE) -C $(dir)/ruby
 else
diff --git a/bindings/ruby/extconf.rb b/bindings/ruby/extconf.rb
index 6d5607e..ddaa684 100644
--- a/bindings/ruby/extconf.rb
+++ b/bindings/ruby/extconf.rb
@@ -14,19 +14,12 @@ if ENV['EXTRA_LDFLAGS']
   $LDFLAGS += " " + ENV['EXTRA_LDFLAGS']
 end
 
-def have_local_library(lib, path, func, headers = nil)
-  checking_for checking_message(func, lib) do
-    lib = File.join(path, lib)
-    if try_func(func, lib, headers)
-      $LOCAL_LIBS += lib
-    end
-  end
-end
-
-if not have_local_library('libnotmuch.so', dir, 'notmuch_database_create', 'notmuch.h')
+if not ENV['LIBNOTMUCH']
   exit 1
 end
 
+$LOCAL_LIBS += ENV['LIBNOTMUCH']
+
 # Create Makefile
 dir_config('notmuch')
 create_makefile('notmuch')
-- 
2.1.4



More information about the notmuch mailing list