*-*-mingw*|*-*-cygwin*)
platform_win32=yes
AC_DEFINE(PLATFORM_WIN32,1,[Platform is Win32])
- CC="gcc -mno-cygwin"
+ CC="gcc -mno-cygwin -g"
HOST_CC="gcc"
# So libgc configure gets -mno-cygwin
export CC
CPPFLAGS="$CPPFLAGS -DWIN32_THREADS"
libdl=
libgc_threads=win32
- gc_default=boehm
- with_nptl=no
+ gc_default=included
+ with_nptl=default
with_sigaltstack=no
LN_S=cp
-
;;
*-*-*netbsd*)
platform_win32=no
AC_CHECK_HEADERS(sys/filio.h sys/sockio.h netdb.h utime.h semaphore.h sys/un.h)
+AC_CHECK_HEADER(zlib.h, [have_zlib=yes], [have_zlib=no])
+
+AM_CONDITIONAL(HAVE_ZLIB, test x$have_zlib = xyes)
+
# for mono/metadata/debug-symfile.c
AC_CHECK_HEADERS(elf.h)
AC_SUBST(GMODULE_CFLAGS)
AC_SUBST(GMODULE_LIBS)
+if test x$platform_win32 = xyes; then
+ AC_MSG_CHECKING(for cygwin glib2-dev package)
+ if [ cygcheck --f /usr/lib/libglib-2.0.dll.a | grep -q glib2-devel ]; then
+ AC_MSG_RESULT(found)
+ AC_MSG_ERROR([Mono cannot be built with the cygwin glib2-devel package installed, because that package doesn't work with -mno-cygwin. Please uninstall it then re-run configure.])
+ else
+ AC_MSG_RESULT(not found, ok)
+ fi
+
+ AC_MSG_CHECKING(for broken gwin32.h)
+ glib_include=`$PKG_CONFIG --cflags-only-I glib-2.0 | sed -e 's/ -I.*//g' | sed -e 's/-I//g'`
+ if test -f $glib_include/glib/gwin32.h; then
+ if [ grep ftruncate $glib_include/glib/gwin32.h | grep -q define ]; then
+ AC_MSG_RESULT(failed)
+ hashmark='#'
+ AC_MSG_ERROR([Your version of gwin32.h is broken and will cause compilation errors when building mono. Please fix it by deleting the line: '$hashmark define ftruncate...' from '$glib_include/glib/gwin32.h' then re-run configure.])
+ fi
+ fi
+ AC_MSG_RESULT(ok)
+fi
+
AC_ARG_WITH(gc, [ --with-gc=boehm,included,none],[gc=$with_gc],[gc=$gc_default])
# Enable support for fast thread-local storage
LIBGC_CFLAGS=
LIBGC_LIBS=
+LIBGC_STATIC_LIBS=
libgc_dir=
case "x$gc" in
xboehm|xbohem|xyes)
AC_DEFINE(HAVE_BOEHM_GC)
AC_SUBST(HAVE_BOEHM_GC)
LIBGC_LIBS="-lgc $libdl"
+ LIBGC_STATIC_LIBS="$LIBGC_LIBS"
# AC_CHECK_FUNCS does not work for some reason...
AC_CHECK_LIB(gc, GC_gcj_malloc, found_gcj_malloc="yes",,$libdl)
LIBGC_CFLAGS='-I$(top_srcdir)/libgc/include'
LIBGC_LIBS='$(top_builddir)/libgc/libmonogc.la'
+ LIBGC_STATIC_LIBS='$(top_builddir)/libgc/libmonogc-static.la'
AC_DEFINE(HAVE_BOEHM_GC)
AC_SUBST(HAVE_BOEHM_GC)
AM_CONDITIONAL(INCLUDED_LIBGC, test x$use_included_gc = xyes)
AC_SUBST(LIBGC_CFLAGS)
AC_SUBST(LIBGC_LIBS)
+AC_SUBST(LIBGC_STATIC_LIBS)
AC_SUBST(libgc_dir)
dnl
jdk_headers_found=no
AC_CHECK_LIB(ws2_32, main, LIBS="$LIBS -lws2_32", AC_ERROR(bad mingw install?))
AC_CHECK_LIB(psapi, main, LIBS="$LIBS -lpsapi", AC_ERROR(bad mingw install?))
+ AC_CHECK_LIB(ole32, main, LIBS="$LIBS -lole32", AC_ERROR(bad mingw install?))
dnl *********************************
dnl *** Check for struct ip_mreqn ***
LIBC="libc.so.12"
INTL="libintl.so.0"
;;
+ *-*-*freebsd*)
+ LIBC="libc.so"
+ INTL="libintl.so"
+ ;;
+ *-*-*openbsd*)
+ LIBC="libc.so"
+ INTL="libintl.so"
+ ;;
esac
AC_SUBST(libsuffix)
# undefined reference to `__tls_get_addr'
#
rm -f conftest.c conftest.so conftest
- echo "static __thread int foo; void bar () { foo = 5 };" > conftest.c
+ echo "static __thread int foo; void main () { foo = 5; }" > conftest.c
gcc -fPIC --shared -o conftest.so conftest.c > /dev/null 2>&1
gcc -o conftest conftest.so > /dev/null 2>&1
if test ! -f conftest; then
if test "x$with_tls" = "x__thread"; then
AC_DEFINE(HAVE_KW_THREAD)
+ # Pass the information to libgc
+ CPPFLAGS="$CPPFLAGS -DUSE_COMPILER_TLS"
+ export CPPFLAGS
fi
if test ${TARGET} = ARM; then