diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | configure.in | 35 |
2 files changed, 40 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2007-01-15 Tor Lillqvist <tml@novell.com> + + * configure.in: Automatically use -mms-bitfields on Windows when + building with gcc. (#394453) + 2007-01-13 Hans Breuer <hans@breuer.org> * pango/makefile.msc pango/opentype/makefile.msc : updated diff --git a/configure.in b/configure.in index 7d708f1a..775b4ff1 100644 --- a/configure.in +++ b/configure.in @@ -279,6 +279,41 @@ fi AC_SUBST(WIN32_LIBS) AM_CONDITIONAL(HAVE_WIN32, $have_win32) +# Ensure MSVC-compatible struct packing convention is used when +# compiling for Win32 with gcc. +# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while +# gcc2 uses "-fnative-struct". +if test "$pango_os_win32" = "yes"; then + if test x"$GCC" = xyes; then + msnative_struct='' + AC_MSG_CHECKING([how to get MSVC-compatible struct packing]) + if test -z "$ac_cv_prog_CC"; then + our_gcc="$CC" + else + our_gcc="$ac_cv_prog_CC" + fi + case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in + 2.) + if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then + msnative_struct='-fnative-struct' + fi + ;; + *) + if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then + msnative_struct='-mms-bitfields' + fi + ;; + esac + if test x"$msnative_struct" = x ; then + AC_MSG_RESULT([no way]) + AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code]) + else + CFLAGS="$CFLAGS $msnative_struct" + AC_MSG_RESULT([${msnative_struct}]) + fi + fi +fi + # # Checks for ATSUI # |