2 AM_CONFIG_HEADER(config.h)
3 AM_INIT_AUTOMAKE(mono, 0.7)
16 AC_CHECK_SIZEOF(void *)
18 CFLAGS='-g -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations'
20 dnl ***************************
21 dnl *** Checks for glib 1.2 ***
22 dnl ***************************
24 AC_MSG_ERROR([Cannot find GLIB: Is glib-config in path?]))
26 GLIB_CFLAGS=`glib-config --cflags glib`
27 GLIB_LIBS=`glib-config --libs glib`
32 GMODULE_CFLAGS=`glib-config --cflags gmodule`
33 GMODULE_LIBS=`glib-config --libs gmodule`
35 AC_SUBST(GMODULE_CFLAGS)
36 AC_SUBST(GMODULE_LIBS)
38 dnl ****************************************
39 dnl *** Check if we're building on win32 ***
40 dnl ****************************************
41 AC_MSG_CHECKING([if building for some Win32 platform])
43 *-*-mingw*|*-*-cygwin*)
45 AC_DEFINE(PLATFORM_WIN32)
51 AC_MSG_RESULT($platform_win32)
52 AM_CONDITIONAL(PLATFORM_WIN32, test x$platform_win32 = xyes)
54 if test x$platform_win32 = xyes; then
55 AC_MSG_CHECKING([if building for native Win32])
58 platform_win32_native=yes
59 AC_DEFINE(PLATFORM_WIN32_NATIVE)
62 platform_win32_native=no
65 AC_MSG_RESULT($platform_win32_native)
66 AM_CONDITIONAL(PLATFORM_WIN32_NATIVE,
67 test x$platform_win32_native = xyes)
71 if test x$platform_win32 = xno; then
72 dnl ******************************************************************
73 dnl *** Check for large file support ***
74 dnl *** (If we were using autoconf 2.50 we'd use AC_SYS_LARGEFILE) ***
75 dnl ******************************************************************
77 # Check that off_t can represent 2**63 - 1 correctly, working around
78 # potential compiler bugs. Defines LARGE_FILE_SUPPORT, adds $1 to
79 # CFLAGS and sets $large_offt to yes if the test succeeds
81 AC_DEFUN(LARGE_FILES, [
82 large_CPPFLAGS=$CPPFLAGS
83 CPPFLAGS="$CPPFLAGS $1"
85 #include <sys/types.h>
87 #define BIG_OFF_T (((off_t)1<<62)-1+((off_t)1<<62))
90 int big_off_t=((BIG_OFF_T%2147483629==721) &&
91 (BIG_OFF_T%2147483647==1));
100 AC_DEFINE(HAVE_LARGE_FILE_SUPPORT)
107 CPPFLAGS=$large_CPPFLAGS
110 AC_MSG_CHECKING(if off_t is 64 bits wide)
112 if test $large_offt = no; then
113 AC_MSG_CHECKING(if _FILE_OFFSET_BITS=64 gives 64 bit off_t)
114 LARGE_FILES("-D_FILE_OFFSET_BITS=64")
116 if test $large_offt = no; then
117 AC_MSG_WARN([No 64 bit file size support available])
121 dnl *****************************
122 dnl *** Checks for libpthread ***
123 dnl *****************************
124 AC_SEARCH_LIBS(pthread_create, pthread, [
125 AM_CONDITIONAL(THREADS_PTHREAD, true)
126 AC_DEFINE(HAVE_PTHREAD)
128 # Need pthread_mutex_timedlock
130 orig_CPPFLAGS=$CPPFLAGS
131 # This is a gcc-specific error, but we already set
132 # gcc-specific options in CFLAGS
133 CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
134 AC_MSG_CHECKING(for pthread_mutex_timedlock)
135 AC_TRY_COMPILE([ #include <pthread.h>], [
136 pthread_mutex_t mut=PTHREAD_MUTEX_INITIALIZER;
137 pthread_mutex_timedlock(&mut, NULL);
141 AC_DEFINE(HAVE_PTHREAD_MUTEX_TIMEDLOCK)
145 # glibc requires -D_GNU_SOURCE before it will declare
147 AC_MSG_CHECKING(whether _GNU_SOURCE is needed for pthread_mutex_timedlock)
148 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
149 AC_TRY_COMPILE([ #include <pthread.h>], [
150 pthread_mutex_t mut=PTHREAD_MUTEX_INITIALIZER;
151 pthread_mutex_timedlock(&mut, NULL);
154 pthread_CFLAGS="-D_GNU_SOURCE"
155 AC_DEFINE(HAVE_PTHREAD_MUTEX_TIMEDLOCK)
158 dnl Add other variants here
159 AC_MSG_WARN(Working around pthread_mutex_timedlock)
162 CPPFLAGS=$orig_CPPFLAGS
163 CFLAGS="$CFLAGS $pthread_CFLAGS"
165 AC_MSG_ERROR([libpthread is required on non-win32 hosts])
171 ACCESS_UNALIGNED="yes"
174 #mips-sgi-irix5.* | mips-sgi-irix6.*) TARGET=MIPS; ACCESS_UNALIGNED="no";;
175 i*86-*-*) TARGET=X86; arch_target=x86;;
176 sparc*-*-*) TARGET=SPARC; ACCESS_UNALIGNED="no";;
177 #alpha*-*-linux* | alpha*-*-osf*) TARGET=ALPHA; ACCESS_UNALIGNED="no";;
178 #m68k-*-linux*) TARGET=M68K;;
179 #powerpc-*-linux* | powerpc-*-sysv*) TARGET=POWERPC; ACCESS_UNALIGNED="no";;
180 #arm-*-linux-*) TARGET=ARM; ACCESS_UNALIGNED="no";;
183 if test ${TARGET} = unknown; then
184 CFLAGS="$CFLAGS -DNO_PORT"
185 AC_MSG_WARN("mono has not been ported to $host: some things may not work.")
188 if test ${ACCESS_UNALIGNED} = no; then
189 CPPFLAGS="$CPPFLAGS -DNO_UNALIGNED_ACCESS"
192 AM_CONDITIONAL(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes)
193 AM_CONDITIONAL(MIPS_SGI, test ${TARGET}${ac_cv_prog_gcc} = MIPSno)
194 AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
195 AM_CONDITIONAL(X86, test x$TARGET = xX86)
196 AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
197 AM_CONDITIONAL(M68K, test x$TARGET = xM68K)
198 AM_CONDITIONAL(POWERPC, test x$TARGET = xPOWERPC)
199 AM_CONDITIONAL(ARM, test x$TARGET = xARM)
201 AC_SUBST(arch_target)
207 mono/metadata/Makefile
211 mono/arch/x86/Makefile
212 mono/interpreter/Makefile
214 mono/wrapper/Makefile
215 mono/monoburg/Makefile
217 mono/io-layer/Makefile