[HarfBuzz] harfbuzz-ng: Branch 'master'

Behdad Esfahbod behdad at kemper.freedesktop.org
Tue Aug 2 07:01:31 PDT 2011


 configure.ac                |    1 +
 src/hb-mutex-private.hh     |    4 ++--
 src/hb-open-type-private.hh |    5 +++++
 src/hb-private.hh           |    6 +++++-
 src/main.cc                 |    1 +
 5 files changed, 14 insertions(+), 3 deletions(-)

New commits:
commit f60271c0c2b0101e7b2725f9a9ad950c277a616c
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Tue Aug 2 09:56:30 2011 -0400

    Add mingw32 support
    
    With these changes, on Ubuntu I can do:
    
    ./configure --host=i586-mingw32msvc  && make

diff --git a/configure.ac b/configure.ac
index d2a2331..882d218 100644
--- a/configure.ac
+++ b/configure.ac
@@ -104,6 +104,7 @@ dnl ==========================================================================
 
 PKG_CHECK_MODULES(ICU, icu, have_icu=true, [
 	AC_CHECK_PROG([have_icu], [icu-config], [true], [false])
+	have_icu=false
 	if $have_icu; then
 		icu_cflags=`icu-config --cppflags`
 		icu_libs=`icu-config --ldflags-libsonly`
diff --git a/src/hb-mutex-private.hh b/src/hb-mutex-private.hh
index 91c9438..0907e86 100644
--- a/src/hb-mutex-private.hh
+++ b/src/hb-mutex-private.hh
@@ -53,9 +53,9 @@ typedef GStaticMutex hb_mutex_impl_t;
 #define hb_mutex_impl_free(M)	g_static_mutex_free (M)
 
 
-#elif defined(_MSC_VER)
+#elif defined(_MSC_VER) || defined(__MINGW32__)
 
-#include <Windows.h>
+#include <windows.h>
 
 typedef CRITICAL_SECTION hb_mutex_impl_t;
 #define HB_MUTEX_IMPL_INIT	{ NULL, 0, 0, NULL, NULL, 0 }
diff --git a/src/hb-open-type-private.hh b/src/hb-open-type-private.hh
index ab2a346..0c2ccd8 100644
--- a/src/hb-open-type-private.hh
+++ b/src/hb-open-type-private.hh
@@ -384,6 +384,11 @@ struct IntType
   DEFINE_SIZE_STATIC (sizeof (Type));
 };
 
+/* Typedef these to avoid clash with windows.h */
+#define USHORT	HB_USHORT
+#define SHORT	HB_SHORT
+#define ULONG	HB_ULONG
+#define LONG	HB_LONG
 typedef IntType<uint16_t> USHORT;	/* 16-bit unsigned integer. */
 typedef IntType<int16_t>  SHORT;	/* 16-bit signed integer. */
 typedef IntType<uint32_t> ULONG;	/* 32-bit unsigned integer. */
diff --git a/src/hb-private.hh b/src/hb-private.hh
index 23fc0af..8612789 100644
--- a/src/hb-private.hh
+++ b/src/hb-private.hh
@@ -139,7 +139,11 @@ ASSERT_STATIC (sizeof (hb_var_int_t) == 4);
 #endif
 
 #ifndef HB_INTERNAL
-# define HB_INTERNAL __attribute__((__visibility__("hidden")))
+# ifndef __MINGW32__
+#  define HB_INTERNAL __attribute__((__visibility__("hidden")))
+# else
+#  define HB_INTERNAL
+# endif
 #endif
 
 
diff --git a/src/main.cc b/src/main.cc
index 4bf809e..31efa96 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -25,6 +25,7 @@
  */
 
 #define HB_OT_LAYOUT_CC
+#include "hb-mutex-private.hh"
 #include "hb-open-file-private.hh"
 #include "hb-ot-layout-gdef-private.hh"
 #include "hb-ot-layout-gsubgpos-private.hh"



More information about the HarfBuzz mailing list