2 # Process this file with autoconf to produce a configure script.
4 dnl the gi version number
5 m4_define(gi_major_version, 0)
6 m4_define(gi_minor_version, 5)
7 m4_define(gi_micro_version, 1)
8 m4_define(gi_version, gi_major_version.gi_minor_version.gi_micro_version)
11 AC_INIT(gobject-introspection, gi_version,
12 http://bugzilla.gnome.org/enter_bug.cgi?product=glib)
13 AM_INIT_AUTOMAKE([1.7 -Wno-portability])
15 AC_CONFIG_HEADER([config.h])
17 AC_CONFIG_MACRO_DIR([m4])
21 AC_MSG_CHECKING([for Win32])
30 AC_MSG_RESULT([$os_win32])
31 AM_CONDITIONAL(OS_WIN32, [test "$os_win32" = "yes"])
33 # Checks for programs.
40 if test "$LEX" = :; then
41 AC_MSG_ERROR([flex not found but required])
44 AC_CHECK_PROGS(YACC, 'bison -y' byacc yacc, :)
45 if test "$YACC" = :; then
46 AC_MSG_ERROR([bison not found but required])
55 *[\ \ ]${flag}[\ \ ]*) ;;
56 *) result="${flag} ${result}" ;;
63 if test "$GCC" = "yes"; then
64 for flag in -Wall -Wchar-subscripts -Wmissing-declarations \
65 -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align \
66 -Wsign-compare -fno-strict-aliasing;
68 CFLAGS="$(ensureflag $flag $CFLAGS)"
72 # Checks for libraries.
75 AC_CHECK_LIB([dl], [dlopen])
77 AC_MSG_CHECKING(for the suffix of shared libraries)
79 shrext_cmds=`./libtool --config | grep '^shrext_cmds='`
81 eval std_shrext=$shrext_cmds
82 # chop the initial dot
83 SHLIB_SUFFIX=`echo $std_shrext | sed 's/^\.//'`
84 AC_MSG_RESULT(.$SHLIB_SUFFIX)
85 # any reason it may fail?
86 if test "X$SHLIB_SUFFIX" = x; then
87 AC_MSG_ERROR(Cannot determine shared library suffix from libtool)
89 AC_DEFINE_UNQUOTED([SHLIB_SUFFIX], "$SHLIB_SUFFIX", [Define to the platform's shared library suffix])
91 PKG_CHECK_MODULES(GOBJECT, [gobject-2.0])
93 PKG_CHECK_MODULES(SCANNER, [gobject-2.0 gthread-2.0])
96 PKG_CHECK_MODULES(FFI, libffi, have_ffi_pkgconfig=yes, have_ffi_pkgconfig=no)
98 if test x"$have_ffi_pkgconfig" = xno ; then
99 AC_MSG_CHECKING(for ffi.h)
101 AC_TRY_CPP([#include <ffi.h>], have_ffi_h=yes, have_ffi_h=no)
102 if test x"$have_ffi_h" = x"yes"; then
105 if test x"$with_ffi" = x"yes" || test x"$with_ffi" = x"auto"; then
111 AC_SEARCH_LIBS(ffi_call,ffi,,AC_MSG_ERROR([libffi not found]),$other_LIBS)
112 if test x"$ac_cv_search_ffi_call" = x"none required" ; then
115 FFI_LIBS="$ac_cv_search_ffi_call $other_LIBS"
120 if test x"$have_ffi_h" != x"yes" ; then
121 AC_MSG_ERROR([ffi.h not found])
126 AC_MSG_RESULT([$have_ffi_h])
131 PKG_CHECK_MODULES(GIREPO, [glib-2.0 gobject-2.0 gmodule-2.0])
133 # if we ever remove manual check for ffi and require .pc file, then
134 # just put libffi in the PKG_CHECK_MODULES(GIREPO) deps
135 GIREPO_LIBS="$GIREPO_LIBS $GCOV_LIBS $FFI_LIBS"
136 GIREPO_CFLAGS="$GIREPO_CFLAGS $FFI_CFLAGS"
138 GIREPO_CFLAGS="$GIREPO_CFLAGS $GCOV_CFLAGS"
140 # Checks for header files.
142 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h])
144 # Checks for typedefs, structures, and compiler characteristics.
147 # Checks for library functions.
149 AC_CHECK_FUNCS([memchr strchr strspn strstr strtol strtoull])
150 AC_CHECK_FUNCS([backtrace backtrace_symbols])
154 AC_MSG_CHECKING([whether Python support is requested])
156 AM_PATH_PYTHON([2.5])
159 # Change backslashes to forward slashes in pyexecdir to avoid
161 pyexecdir=`echo $pyexecdir | tr '\\\\' '/'`
164 AM_CHECK_PYTHON_HEADERS
169 girepository/Makefile
175 tests/invoke/Makefile
176 tests/scanner/Makefile
177 tests/repository/Makefile
179 gobject-introspection-1.0.pc])