ruby: use in-tree notmuch library

Currently it simply finds any library available, and if notmuch is
installed in the system, it would give priority to that library.

Let's implement our own helper functions to link directly to the local
library, and give priority to the local header file.

Also, add an option to properly check if there are missing symbols.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
This commit is contained in:
Felipe Contreras 2013-05-20 07:24:23 -05:00 committed by David Bremner
parent 68720286eb
commit 8c3d19313e

View file

@ -5,9 +5,26 @@
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}"
# make sure there are no undefined symbols
$LDFLAGS += ' -Wl,--no-undefined'
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')