configure.ac | 2 ++ src/Makefile.am | 6 +++++- src/hb-atomic-private.hh | 8 ++++---- src/hb-blob.cc | 3 +++ src/hb-warning.cc | 33 ++++++++++++++++++++++++++++++--- 5 files changed, 44 insertions(+), 8 deletions(-)
New commits: commit f88d3bd7e407d332bb04688344c54756d24128c9 Author: Behdad Esfahbod <beh...@behdad.org> Date: Mon Jan 14 00:33:58 2013 -0600 Fix build with Sun compiler diff --git a/src/hb-blob.cc b/src/hb-blob.cc index b6e696b..bbbc936 100644 --- a/src/hb-blob.cc +++ b/src/hb-blob.cc @@ -24,6 +24,9 @@ * Red Hat Author(s): Behdad Esfahbod */ +/* http://www.oracle.com/technetwork/articles/servers-storage-dev/standardheaderfiles-453865.html */ +#define _POSIX_C_SOURCE 3 + #include "hb-private.hh" #include "hb-blob.h" commit 08b29c08094097f1c23ec53b10084bc390cea833 Author: Behdad Esfahbod <beh...@behdad.org> Date: Mon Jan 14 00:32:12 2013 -0600 Revert "Minor" This reverts commit 0a492357016bc9a614d2a726f2006c10af68ca58. Enables code on more compilers. diff --git a/src/hb-warning.cc b/src/hb-warning.cc index 01adcea..4f1f65f 100644 --- a/src/hb-warning.cc +++ b/src/hb-warning.cc @@ -29,11 +29,38 @@ #if defined(HB_ATOMIC_INT_NIL) -#pragma message("Could not find any system to define atomic_int macros, library may NOT be thread-safe.") +#ifdef _MSC_VER +#pragma message("Could not find any system to define atomic_int macros, library may NOT be thread-safe") +#else +#warning "Could not find any system to define atomic_int macros, library may NOT be thread-safe" #endif +#endif + #if defined(HB_MUTEX_IMPL_NIL) -#pragma message("Could not find any system to define mutex macros, library may NOT be thread-safe.") +#ifdef _MSC_VER +#pragma message("Could not find any system to define mutex macros, library may NOT be thread-safe") +#else +#warning "Could not find any system to define mutex macros, library may NOT be thread-safe" +#endif #endif + #if defined(HB_ATOMIC_INT_NIL) || defined(HB_MUTEX_IMPL_NIL) -#pragma message("To suppress these warnings, define HB_NO_MT.") +#ifdef _MSC_VER +#pragma message("To suppress these warnings, define HB_NO_MT") +#else +#warning "To suppress these warnings, define HB_NO_MT" +#endif +#endif + + +#include "hb-unicode-private.hh" + +#if !defined(HB_NO_UNICODE_FUNCS) && defined(HB_UNICODE_FUNCS_NIL) +#ifdef _MSC_VER +#pragma message("Could not find any Unicode functions implementation, you have to provide your own") +#pragma message("To suppress this warnings, define HB_NO_UNICODE_FUNCS") +#else +#warning "Could not find any Unicode functions implementation, you have to provide your own" +#warning "To suppress this warning, define HB_NO_UNICODE_FUNCS" +#endif #endif commit e78463211e7d85f237bd55afab7e8e5dae42346c Author: Behdad Esfahbod <beh...@behdad.org> Date: Mon Jan 14 00:27:21 2013 -0600 Fix linking with non-gcc compilers diff --git a/configure.ac b/configure.ac index afb0c5d..e95e48f 100644 --- a/configure.ac +++ b/configure.ac @@ -88,6 +88,8 @@ if test "x$GCC" = "xyes"; then esac fi +AM_CONDITIONAL(HAVE_GCC, test "x$GCC" = "xyes") + hb_os_win32=no AC_MSG_CHECKING([for native Win32]) case "$host" in diff --git a/src/Makefile.am b/src/Makefile.am index 558ce08..d72aa07 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -198,8 +198,12 @@ else if HAVE_ICU libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS) else -# Use a C linker, not C++; Don't link to libstdc++ +# Use a C linker for GCC, not C++; Don't link to libstdc++ +if HAVE_GCC libharfbuzz_la_LINK = $(LINK) $(libharfbuzz_la_LDFLAGS) +else +libharfbuzz_la_LINK = $(CXXLINK) $(libharfbuzz_la_LDFLAGS) +endif endif endif commit de649f07f1f8fdeb998a0b049759f4f7363e25d2 Author: Behdad Esfahbod <beh...@behdad.org> Date: Mon Jan 14 00:26:43 2013 -0600 Fix residuals from fontconfig changes diff --git a/src/hb-atomic-private.hh b/src/hb-atomic-private.hh index 75fbcd6..b909bc8 100644 --- a/src/hb-atomic-private.hh +++ b/src/hb-atomic-private.hh @@ -104,11 +104,11 @@ typedef int hb_atomic_int_t; #include <atomic.h> #include <mbarrier.h> -typedef unsigned int fc_atomic_int_t; -#define fc_atomic_int_add(AI, V) ( ({__machine_rw_barrier ();}), atomic_add_int_nv (&(AI), (V)) - (V)) +typedef unsigned int hb_atomic_int_t; +#define hb_atomic_int_add(AI, V) ( ({__machine_rw_barrier ();}), atomic_add_int_nv (&(AI), (V)) - (V)) -#define fc_atomic_ptr_get(P) ( ({__machine_rw_barrier ();}), (void *) *(P)) -#define fc_atomic_ptr_cmpexch(P,O,N) ( ({__machine_rw_barrier ();}), atomic_cas_ptr ((P), (O), (N)) == (void *) (O) ? FcTrue : FcFalse) +#define hb_atomic_ptr_get(P) ( ({__machine_rw_barrier ();}), (void *) *(P)) +#define hb_atomic_ptr_cmpexch(P,O,N) ( ({__machine_rw_barrier ();}), atomic_cas_ptr ((void **) (P), (void *) (O), (void *) (N)) == (void *) (O) ? true : false) #elif !defined(HB_NO_MT) _______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/harfbuzz