--- onig-latest/regint.h	2007-03-06 06:10:57.000000000 +0100
+++ onig-latest/regint.h	2007-04-11 13:18:55.000000000 +0200
@@ -93,8 +94,14 @@
 /* #define USE_MULTI_THREAD_SYSTEM */
 #define THREAD_SYSTEM_INIT      /* depend on thread system */
 #define THREAD_SYSTEM_END       /* depend on thread system */
-#define THREAD_ATOMIC_START     /* depend on thread system */
-#define THREAD_ATOMIC_END       /* depend on thread system */
+
+/* begin pthreads patch -- Allan */
+void lock_mutex();
+void unlock_mutex();
+#define THREAD_ATOMIC_START         lock_mutex()
+#define THREAD_ATOMIC_END           unlock_mutex()
+/* end pthreads patch -- Allan */
+
 #define THREAD_PASS             /* depend on thread system */
 #define xmalloc     malloc
 #define xrealloc    realloc
--- onig-latest/oniguruma.h	2010-01-09 08:28:51.000000000 +0100
+++ onig-latest/oniguruma.h	2009-07-21 00:02:05.000000000 +0200
@@ -32,7 +32,11 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+	
+#ifndef PUBLIC
+#define PUBLIC __attribute__((__visibility__("default")))
+#endif
 
 #define ONIGURUMA
 #define ONIGURUMA_VERSION_MAJOR   5
 #define ONIGURUMA_VERSION_MINOR   9
@@ -96,7 +100,7 @@
 #define UChar OnigUChar
 #endif
 
-typedef unsigned char  OnigUChar;
+typedef          char  OnigUChar;
 typedef unsigned long  OnigCodePoint;
 typedef unsigned int   OnigCtype;
 typedef unsigned int   OnigDistance;
@@ -179,7 +183,7 @@
 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_14;
 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_15;
 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_16;
-ONIG_EXTERN OnigEncodingType OnigEncodingUTF8;
+ONIG_EXTERN PUBLIC OnigEncodingType OnigEncodingUTF8;
 ONIG_EXTERN OnigEncodingType OnigEncodingUTF16_BE;
 ONIG_EXTERN OnigEncodingType OnigEncodingUTF16_LE;
 ONIG_EXTERN OnigEncodingType OnigEncodingUTF32_BE;
@@ -408,7 +412,7 @@
 ONIG_EXTERN OnigSyntaxType OnigSyntaxJava;
 ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl;
 ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl_NG;
-ONIG_EXTERN OnigSyntaxType OnigSyntaxRuby;
+ONIG_EXTERN PUBLIC OnigSyntaxType OnigSyntaxRuby;
 
 /* predefined syntaxes (see regsyntax.c) */
 #define ONIG_SYNTAX_ASIS               (&OnigSyntaxASIS)
@@ -712,35 +716,41 @@
 ONIG_EXTERN
 int onig_init P_((void));
 ONIG_EXTERN
+PUBLIC
 int onig_error_code_to_str PV_((OnigUChar* s, int err_code, ...));
 ONIG_EXTERN
 void onig_set_warn_func P_((OnigWarnFunc f));
 ONIG_EXTERN
 void onig_set_verb_warn_func P_((OnigWarnFunc f));
 ONIG_EXTERN
+PUBLIC
 int onig_new P_((OnigRegex*, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo));
 ONIG_EXTERN
 int  onig_reg_init P_((regex_t* reg, OnigOptionType option, OnigCaseFoldType case_fold_flag, OnigEncoding enc, OnigSyntaxType* syntax));
 int onig_new_without_alloc P_((OnigRegex, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo));
 ONIG_EXTERN
 int onig_new_deluxe P_((OnigRegex* reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo));
 ONIG_EXTERN
+PUBLIC
 void onig_free P_((OnigRegex));
 ONIG_EXTERN
 void onig_free_body P_((OnigRegex));
 ONIG_EXTERN
 int onig_recompile P_((OnigRegex, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo));
 ONIG_EXTERN
 int onig_recompile_deluxe P_((OnigRegex reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo));
 ONIG_EXTERN
+PUBLIC
 int onig_search P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option));
 ONIG_EXTERN
 int onig_match P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* at, OnigRegion* region, OnigOptionType option));
 ONIG_EXTERN
+PUBLIC
 OnigRegion* onig_region_new P_((void));
 ONIG_EXTERN
 void onig_region_init P_((OnigRegion* region));
 ONIG_EXTERN
+PUBLIC
 void onig_region_free P_((OnigRegion* region, int free_self));
 ONIG_EXTERN
 void onig_region_copy P_((OnigRegion* to, OnigRegion* from));
@@ -811,6 +816,7 @@
 ONIG_EXTERN
 int onig_end P_((void));
 ONIG_EXTERN
+PUBLIC
 const char* onig_version P_((void));
 ONIG_EXTERN
 const char* onig_copyright P_((void));
