]> git.notmuchmail.org Git - notmuch/blobdiff - bindings/ruby/extconf.rb
lib, ruby: make use of -Wl,--no-undefined configurable
[notmuch] / bindings / ruby / extconf.rb
index a9d9d42b6a158cc9580ce5d3a8005cd19b04f24e..6d5607e168228bf7c12949fe9bb10d0800629d4d 100644 (file)
@@ -1,14 +1,31 @@
 #!/usr/bin/env ruby
 # coding: utf-8
-# vim: set sw=2 sts=2 et nowrap fenc=utf-8 :
-# Copyright 2010 Ali Polatel <alip@exherbo.org>
+# Copyright 2010, 2011, 2012 Ali Polatel <alip@exherbo.org>
 # Distributed under the terms of the GNU General Public License v3
 
 require 'mkmf'
 
-# Notmuch Library
-find_header('notmuch.h', '../../lib')
-find_library('notmuch', 'notmuch_database_create', '../../lib')
+dir = File.join('..', '..', 'lib')
+
+# includes
+$INCFLAGS = "-I#{dir} #{$INCFLAGS}"
+
+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')
+  exit 1
+end
 
 # Create Makefile
 dir_config('notmuch')