From d796dad4edce71c1cfb245ffd2c438f26c84f804 Mon Sep 17 00:00:00 2001 From: Tomi Ollila Date: Sun, 24 Jun 2012 21:48:34 +0300 Subject: ruby: extern linkage portability improvement Some C compilers are stricter when it comes to (tentative) definition of a variable -- in those compilers introducing variable without 'extern' keyword always allocates new 'storage' to the variable and linking all these modules fails due to duplicate symbols. This is reimplementation of Charlie Allom's patch: id:"1336481467-66356-1-git-send-email-charlie@mediasp.com", written originally by Ali Polatel. This version has more accurate commit message. --- bindings/ruby/init.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'bindings/ruby/init.c') diff --git a/bindings/ruby/init.c b/bindings/ruby/init.c index 3fe60fb..f4931d3 100644 --- a/bindings/ruby/init.c +++ b/bindings/ruby/init.c @@ -20,6 +20,32 @@ #include "defs.h" +VALUE notmuch_rb_cDatabase; +VALUE notmuch_rb_cDirectory; +VALUE notmuch_rb_cFileNames; +VALUE notmuch_rb_cQuery; +VALUE notmuch_rb_cThreads; +VALUE notmuch_rb_cThread; +VALUE notmuch_rb_cMessages; +VALUE notmuch_rb_cMessage; +VALUE notmuch_rb_cTags; + +VALUE notmuch_rb_eBaseError; +VALUE notmuch_rb_eDatabaseError; +VALUE notmuch_rb_eMemoryError; +VALUE notmuch_rb_eReadOnlyError; +VALUE notmuch_rb_eXapianError; +VALUE notmuch_rb_eFileError; +VALUE notmuch_rb_eFileNotEmailError; +VALUE notmuch_rb_eNullPointerError; +VALUE notmuch_rb_eTagTooLongError; +VALUE notmuch_rb_eUnbalancedFreezeThawError; +VALUE notmuch_rb_eUnbalancedAtomicError; + +ID ID_call; +ID ID_db_create; +ID ID_db_mode; + /* * Document-module: Notmuch * -- cgit v1.2.3