2007-11-06 Geoff Norton <gnorton@novell.com>
[mono.git] / eglib / configure.ac
1 AC_INIT(README)
2 AC_CANONICAL_SYSTEM
3
4 AM_CONFIG_HEADER(config.h)
5 AM_INIT_AUTOMAKE(eglib,0.1)
6 AM_MAINTAINER_MODE
7
8 AC_PROG_CC
9 AM_PROG_LIBTOOL
10 CFLAGS='-g -O0 -D_GNU_SOURCE'
11 AC_SUBST(CFLAGS)
12 GNUC_PRETTY=
13 GNUC_UNUSED=
14 BREAKPOINT="G_STMT_START { } G_STMT_END"
15 if test x$GCC = xyes; then
16    GNUC_UNUSED='__attribute__((__unused__))'
17    GNUC_NORETURN='__attribute__((__noreturn__))'
18    echo targte_cpu=$target_cpu
19    case $target_cpu in
20      i*86) BREAKPOINT="G_STMT_START { __asm__ (\"int \$03\"); } G_STMT_END" ;;
21    esac
22 fi
23 AC_SUBST(GNUC_PRETTY)
24 AC_SUBST(GNUC_UNUSED)
25 AC_SUBST(GNUC_NORETURN)
26 AC_SUBST(BREAKPOINT)
27
28 AC_C_BIGENDIAN([ORDER=G_BIG_ENDIAN],[ORDER=G_LITTLE_ENDIAN])
29 AC_SUBST(ORDER)
30
31 case $host in
32 *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
33     PATHSEP='\\'
34     SEARCHSEP=';'
35     OS="WIN32"
36     ;;
37 *)
38     PATHSEP='/'
39     SEARCHSEP=':'
40     OS="UNIX"
41     ;;
42 esac
43
44 AC_SUBST(PATHSEP)
45 AC_SUBST(SEARCHSEP)
46 AC_SUBST(OS)
47 AM_CONDITIONAL(PLATFORM_WIN32, test x$OS = xWIN32)
48
49 AC_CHECK_SIZEOF(int)
50 AC_CHECK_SIZEOF(void *)
51 AC_CHECK_FUNCS(strndup strlcpy getpwent_r)
52 AC_CHECK_LIB(iconv, iconv_open, LIBS="$LIBS -liconv")
53 old_ldflags="${LDFLAGS}"
54 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
55 AC_TRY_LINK(, [int i;], found_export_dynamic=yes, found_export_dynamic=no)
56 if test $found_export_dynamic = no; then
57         LDFLAGS="${old_ldflags}"
58 fi
59
60 AC_CHECK_HEADERS(getopt.h sys/time.h sys/wait.h pwd.h)
61
62 if test $ac_cv_sizeof_void_p != $ac_cv_sizeof_int; then
63    GPOINTER_TO_INT="((gint)(long) (ptr))"
64    GPOINTER_TO_UINT="((guint)(long) (ptr))"
65    GINT_TO_POINTER="((gpointer)(glong) (v))"
66    GUINT_TO_POINTER="((gpointer)(gulong) (v))"
67    GSIZE="long"
68    GSIZE_FORMAT='"lu"'
69    G_GUINT64_FORMAT='"lu"'
70 else
71    GPOINTER_TO_INT="((gint) (ptr))"
72    GPOINTER_TO_UINT="((guint) (ptr))"
73    GINT_TO_POINTER="((gpointer) (v))"
74    GUINT_TO_POINTER="((gpointer) (v))"
75    GSIZE="int"
76    GSIZE_FORMAT='"u"'
77    G_GUINT64_FORMAT='"llu"'
78 fi
79
80 PKG_CHECK_MODULES(GLIB, glib-2.0,
81         [AM_CONDITIONAL(HAVE_GLIB, test x = x)],
82         [AM_CONDITIONAL(HAVE_GLIB, test x = y)]
83         )
84 AC_SUBST(GPOINTER_TO_INT)
85 AC_SUBST(GPOINTER_TO_UINT)
86 AC_SUBST(GINT_TO_POINTER)
87 AC_SUBST(GUINT_TO_POINTER)
88 AC_SUBST(GSIZE)
89 AC_SUBST(GSIZE_FORMAT)
90 AC_SUBST(G_GUINT64_FORMAT)
91
92 AC_OUTPUT([
93 Makefile
94 src/Makefile
95 src/eglib-config.h
96 test/Makefile
97 ])