2002-09-29 Tor Lillqvist <tml@iki.fi>
+ * configure.in: Instead of forcing -fnative-struct into CFLAGS
+ when using gcc for Win32, check for gcc version 3.x which uses
+ -mms-bitfields instead. Also check if either of these switches is
+ actually available at all, and warn if not. Thanks to Soren
+ Andersen for the inspiration.
+
* HACKING: Say we require autoconf 2.52 as that is what
configure.in does.
2002-09-29 Tor Lillqvist <tml@iki.fi>
+ * configure.in: Instead of forcing -fnative-struct into CFLAGS
+ when using gcc for Win32, check for gcc version 3.x which uses
+ -mms-bitfields instead. Also check if either of these switches is
+ actually available at all, and warn if not. Thanks to Soren
+ Andersen for the inspiration.
+
* HACKING: Say we require autoconf 2.52 as that is what
configure.in does.
2002-09-29 Tor Lillqvist <tml@iki.fi>
+ * configure.in: Instead of forcing -fnative-struct into CFLAGS
+ when using gcc for Win32, check for gcc version 3.x which uses
+ -mms-bitfields instead. Also check if either of these switches is
+ actually available at all, and warn if not. Thanks to Soren
+ Andersen for the inspiration.
+
* HACKING: Say we require autoconf 2.52 as that is what
configure.in does.
2002-09-29 Tor Lillqvist <tml@iki.fi>
+ * configure.in: Instead of forcing -fnative-struct into CFLAGS
+ when using gcc for Win32, check for gcc version 3.x which uses
+ -mms-bitfields instead. Also check if either of these switches is
+ actually available at all, and warn if not. Thanks to Soren
+ Andersen for the inspiration.
+
* HACKING: Say we require autoconf 2.52 as that is what
configure.in does.
2002-09-29 Tor Lillqvist <tml@iki.fi>
+ * configure.in: Instead of forcing -fnative-struct into CFLAGS
+ when using gcc for Win32, check for gcc version 3.x which uses
+ -mms-bitfields instead. Also check if either of these switches is
+ actually available at all, and warn if not. Thanks to Soren
+ Andersen for the inspiration.
+
* HACKING: Say we require autoconf 2.52 as that is what
configure.in does.
2002-09-29 Tor Lillqvist <tml@iki.fi>
+ * configure.in: Instead of forcing -fnative-struct into CFLAGS
+ when using gcc for Win32, check for gcc version 3.x which uses
+ -mms-bitfields instead. Also check if either of these switches is
+ actually available at all, and warn if not. Thanks to Soren
+ Andersen for the inspiration.
+
* HACKING: Say we require autoconf 2.52 as that is what
configure.in does.
2002-09-29 Tor Lillqvist <tml@iki.fi>
+ * configure.in: Instead of forcing -fnative-struct into CFLAGS
+ when using gcc for Win32, check for gcc version 3.x which uses
+ -mms-bitfields instead. Also check if either of these switches is
+ actually available at all, and warn if not. Thanks to Soren
+ Andersen for the inspiration.
+
* HACKING: Say we require autoconf 2.52 as that is what
configure.in does.
fi
fi
-# Ensure -fnative-struct is used when compiling for Win32
-if test "x$glib_native_win32" = "xyes"; then
- if test "x$GCC" = "xyes"; then
- case " $CFLAGS " in
- *[[\ \ ]]-fnative-struct[[\ \ ]]*) ;;
- *) CFLAGS="$CFLAGS -fnative-struct" ;;
+# 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 x"$glib_native_win32" = xyes; 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