Oops, actually commit the configure.in change I thought I did in my

previous commit:

2001-09-26  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Retract my change earlier today. Don't preset
	autoconf variables in a try to match both mingw and MSVC. Instead,
	he who packages a prebuilt GLib developer distribution for Win32
	runs configure twice: once for mingw, once for MSVC, and then uses
	diff -D on the glibconfig.h files to generate a suitably ifdeffed
	glibconfig.h for distribution that suits both compilers. (Ditto
	for config.h, although that file wouldn't be distributed in a
	developer package, but in a source package for Win32 users who
	want to build GLib but can't use configure.)

----------------------------------------------------------------------
----------------------------------------------------------------------
This commit is contained in:
Tor Lillqvist 2001-09-27 06:11:48 +00:00 committed by Tor Lillqvist
parent b5fa5b9867
commit 63e17a0f73

View File

@ -97,27 +97,7 @@ dnl
AC_MSG_CHECKING([for Win32])
case "$host" in
*-*-mingw*)
os_win32=yes
# Make config vars match MSVC, too. The mingw32 library that the
# mingw gcc always links with contains a few Unixish emulation
# functions. The mingw gcc also provides some headers that MSVC
# doesn't. As we want to be able to use the same config.h and
# glibconfig.h for both gcc and MSVC (because they use the same
# "real" C library, msvcrt.dll), hack around that.
ac_cv_func_getpagesize=no
ac_cv_func_strcasecmp=no
ac_cv_func_strncasecmp=no
ac_cv_header_dirent_h=no
ac_cv_header_stdint_h=no
ac_cv_header_sys_time_h=no
ac_cv_header_unistd_h=no
ac_cv_header_values_h=no
# Also hide some gcc features
ac_cv_c_inline=__inline
glib_cv_hasinline=no
glib_cv_has__inline__=no
glib_native_win32=yes
G_LIB_WIN32_RESOURCE=glib-win32res.lo
G_MODULE_WIN32_RESOURCE=gmodule-win32res.lo
G_OBJECT_WIN32_RESOURCE=gobject-win32res.lo
@ -129,7 +109,7 @@ case "$host" in
TESTGMODULE_EXP=testgmodule.exp
;;
*)
os_win32=no
glib_native_win32=no
G_LIB_WIN32_RESOURCE=
G_MODULE_WIN32_RESOURCE=
G_OBJECT_WIN32_RESOURCE=
@ -141,8 +121,8 @@ case "$host" in
TESTGMODULE_EXP=
;;
esac
AC_MSG_RESULT($os_win32)
AM_CONDITIONAL(OS_WIN32, test x$os_win32 = xyes)
AC_MSG_RESULT([$glib_native_win32])
AM_CONDITIONAL(OS_WIN32, test x$glib_native_win32 = xyes)
AC_SUBST(G_LIB_WIN32_RESOURCE)
AC_SUBST(G_MODULE_WIN32_RESOURCE)
AC_SUBST(G_OBJECT_WIN32_RESOURCE)
@ -154,7 +134,7 @@ AC_SUBST(GTHREAD_DEF)
AC_SUBST(TESTGMODULE_EXP)
ms_librarian=no
if test $os_win32 = yes; then
if test $glib_native_win32 = yes; then
AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
fi
AM_CONDITIONAL(MS_LIB_AVAILABLE, test $ms_librarian = yes)
@ -245,6 +225,16 @@ else
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" ;;
esac
fi
fi
AC_CYGWIN
AC_EXEEXT
@ -362,6 +352,7 @@ AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(void *)
AC_CHECK_SIZEOF(long long)
AC_CHECK_SIZEOF(__int64)
if test x$ac_cv_sizeof_long_long = x8; then
# long long is a 64 bit integer.
@ -386,6 +377,12 @@ if test x$ac_cv_sizeof_long_long = x8; then
else
AC_MSG_RESULT(none)
fi
elif test x$ac_cv_sizeof___int64 = x8; then
# __int64 is a 64 bit integer.
AC_MSG_CHECKING(for format to printf and scanf a gint64)
# We know this is MSVC, and what the formats are
glib_cv_long_long_format=I64
AC_MSG_RESULT(%${glib_cv_long_long_format}u)
fi
dnl long doubles were not used, and a portability problem
@ -1691,21 +1688,6 @@ _______EOF
if test -n "$gint64"; then
if test x$glib_os_win32 = xyes; then
cat >>$outfile <<_______EOF
#define G_HAVE_GINT64 1
#ifdef _MSC_VER
typedef __int64 gint64;
typedef unsigned __int64 guint64;
#define G_GINT64_CONSTANT(val) (val##i64)
#elif __GNUC__
typedef long long gint64;
typedef unsigned long long guint64;
#define G_GINT64_CONSTANT(val) (val##LL)
#endif
_______EOF
else
cat >>$outfile <<_______EOF
#define G_HAVE_GINT64 1
@ -1714,7 +1696,6 @@ ${glib_extension}typedef unsigned $gint64 guint64;
#define G_GINT64_CONSTANT(val) $gint64_constant
_______EOF
fi
if test -n "$gint64_format"; then
cat >>$outfile <<_______EOF
#define G_GINT64_FORMAT $gint64_format
@ -1792,9 +1773,7 @@ _______EOF
if test x$g_have_gnuc_varargs = xyes ; then
cat >>$outfile <<_______EOF
#ifdef __GNUC__
#define G_HAVE_GNUC_VARARGS 1
#endif
_______EOF
fi
@ -1919,10 +1898,6 @@ else
glib_header_alloca_h="$ac_cv_header_alloca_h"
fi
if test $os_win32 = yes; then
glib_os_win32=yes
fi
case xyes in
x$ac_cv_header_float_h)
glib_float_h=yes
@ -2008,6 +1983,15 @@ $ac_cv_sizeof_long_long)
glib_extension='G_GNUC_EXTENSION '
gint64_constant='(G_GNUC_EXTENSION (val##LL))'
;;
$ac_cv_sizeof___int64)
gint64='__int64'
if test -n "$glib_cv_long_long_format"; then
gint64_format='"'$glib_cv_long_long_format'i"'
guint64_format='"'$glib_cv_long_long_format'u"'
fi
glib_extension=
gint64_constant='(val##i64)'
;;
esac
glib_size_t=$glib_cv_sizeof_size_t
glib_void_p=$ac_cv_sizeof_long