aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2016-03-22 07:54:45 -0300
committerDavid Bremner <david@tethera.net>2016-05-13 07:29:12 -0300
commit792bea5aff135107fd970f51f3ef8c65f68194de (patch)
treeb3df6cbce34542f2789d70c402c2194edcc6b18e /lib
parentbbf6069252d31e6693ee99cce8bf4f9fab47e360 (diff)
lib/cli: add library API / CLI for compile time options
This is intentionally low tech; if we have more than two options it may make sense to build up what infrastructure is provided.
Diffstat (limited to 'lib')
-rw-r--r--lib/Makefile.local1
-rw-r--r--lib/built-with.c34
-rw-r--r--lib/notmuch.h5
3 files changed, 40 insertions, 0 deletions
diff --git a/lib/Makefile.local b/lib/Makefile.local
index 3a070907..36c39243 100644
--- a/lib/Makefile.local
+++ b/lib/Makefile.local
@@ -39,6 +39,7 @@ libnotmuch_c_srcs = \
$(dir)/message-file.c \
$(dir)/messages.c \
$(dir)/sha1.c \
+ $(dir)/built-with.c \
$(dir)/tags.c
libnotmuch_cxx_srcs = \
diff --git a/lib/built-with.c b/lib/built-with.c
new file mode 100644
index 00000000..7ea1d7fd
--- /dev/null
+++ b/lib/built-with.c
@@ -0,0 +1,34 @@
+/* notmuch - Not much of an email program, (just index and search)
+ *
+ * Copyright © 2016 David Bremner
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see http://www.gnu.org/licenses/ .
+ *
+ * Author: David Bremner <david@tethera.net>
+ */
+
+#include "notmuch.h"
+#include "notmuch-private.h"
+
+notmuch_bool_t
+notmuch_built_with (const char *name)
+{
+ if (STRNCMP_LITERAL (name, "compact") == 0) {
+ return HAVE_XAPIAN_COMPACT;
+ } else if (STRNCMP_LITERAL (name, "field_processor") == 0) {
+ return HAVE_XAPIAN_FIELD_PROCESSOR;
+ } else {
+ return FALSE;
+ }
+}
diff --git a/lib/notmuch.h b/lib/notmuch.h
index cb46fc05..3a092efc 100644
--- a/lib/notmuch.h
+++ b/lib/notmuch.h
@@ -1838,6 +1838,11 @@ notmuch_filenames_move_to_next (notmuch_filenames_t *filenames);
void
notmuch_filenames_destroy (notmuch_filenames_t *filenames);
+/**
+ * interrogate the library for compile time features
+ */
+notmuch_bool_t
+notmuch_built_with (const char *name);
/* @} */
NOTMUCH_END_DECLS