mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
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:
parent
68720286eb
commit
8c3d19313e
1 changed files with 20 additions and 3 deletions
|
@ -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')
|
||||
|
|
Loading…
Reference in a new issue