$OpenBSD$
Index: lib/Makefile.local
--- lib/Makefile.local.orig
+++ lib/Makefile.local
@@ -15,7 +15,15 @@ SONAME = libnotmuch.$(LIBNOTMUCH_VERSION_MAJOR).$(LIBR
 LIBNAME = libnotmuch.$(LIBNOTMUCH_VERSION_MAJOR).$(LIBNOTMUCH_VERSION_MINOR).$(LIBNOTMUCH_VERSION_RELEASE).$(LIBRARY_SUFFIX)
 LIBRARY_LINK_FLAG = -dynamiclib -install_name $(libdir)/$(SONAME) -compatibility_version $(LIBNOTMUCH_VERSION_MAJOR).$(LIBNOTMUCH_VERSION_MINOR) -current_version $(LIBNOTMUCH_VERSION_MAJOR).$(LIBNOTMUCH_VERSION_MINOR).$(LIBNOTMUCH_VERSION_RELEASE)
 else
+ifeq ($(PLATFORM),OPENBSD)
 LIBRARY_SUFFIX = so
+LINKER_NAME = libnotmuch.$(LIBRARY_SUFFIX).$(LIBNOTMUCH_VERSION_MAJOR).$(LIBNOTMUCH_VERSION_MINOR)
+SONAME = $(LINKER_NAME)
+LIBNAME = $(LINKER_NAME)
+LIBRARY_LINK_FLAG = -shared -Wl,--version-script=$(srcdir)/lib/notmuch.sym,-soname=$(SONAME)
+# ... -Wl,--no-undefined
+else
+LIBRARY_SUFFIX = so
 LINKER_NAME = libnotmuch.$(LIBRARY_SUFFIX)
 SONAME = $(LINKER_NAME).$(LIBNOTMUCH_VERSION_MAJOR)
 LIBNAME = $(SONAME).$(LIBNOTMUCH_VERSION_MINOR).$(LIBNOTMUCH_VERSION_RELEASE)
@@ -29,6 +37,7 @@ LIBRARY_INSTALL_POST_COMMAND=ldconfig
 endif
 endif
 endif
+endif
 
 extra_cflags += -I$(srcdir)/$(dir) -fPIC -fvisibility=hidden
 extra_cxxflags += -fvisibility-inlines-hidden
@@ -69,19 +78,23 @@ $(dir)/libnotmuch.a: $(libnotmuch_modules)
 $(dir)/$(LIBNAME): $(libnotmuch_modules) util/libnotmuch_util.a parse-time-string/libparse-time-string.a
 	$(call quiet,CXX $(CXXFLAGS)) $(libnotmuch_modules) $(FINAL_LIBNOTMUCH_LDFLAGS) $(LIBRARY_LINK_FLAG) -o $@ util/libnotmuch_util.a parse-time-string/libparse-time-string.a
 
+ifneq ($(PLATFORM),OPENBSD)
 $(dir)/$(SONAME): $(dir)/$(LIBNAME)
 	ln -sf $(LIBNAME) $@
 
 $(dir)/$(LINKER_NAME): $(dir)/$(SONAME)
 	ln -sf $(LIBNAME) $@
+endif
 
 install: install-$(dir)
 
 install-$(dir): $(dir)/$(LIBNAME)
 	mkdir -p "$(DESTDIR)$(libdir)/"
 	install -m0644 "$(lib)/$(LIBNAME)" "$(DESTDIR)$(libdir)/"
+ifneq ($(PLATFORM),OPENBSD)
 	ln -sf $(LIBNAME) "$(DESTDIR)$(libdir)/$(SONAME)"
 	ln -sf $(LIBNAME) "$(DESTDIR)$(libdir)/$(LINKER_NAME)"
+endif
 	mkdir -p "$(DESTDIR)$(includedir)"
 	install -m0644 "$(srcdir)/$(lib)/notmuch.h" "$(DESTDIR)$(includedir)/"
 	$(LIBRARY_INSTALL_POST_COMMAND)
