1dnl -*- mode: autoconf -*- 2dnl Copyright 2009 Johan Dahlin 3dnl 4dnl This file is free software; the author(s) gives unlimited 5dnl permission to copy and/or distribute it, with or without 6dnl modifications, as long as this notice is preserved. 7dnl 8 9# serial 1 10 11m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL], 12[ 13 AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first 14 AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first 15 AC_BEFORE([LT_INIT],[$0])dnl setup libtool first 16 17 dnl enable/disable introspection 18 m4_if([$2], [require], 19 [dnl 20 enable_introspection=yes 21 ],[dnl 22 AC_ARG_ENABLE(introspection, 23 AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]], 24 [Enable introspection for this build]),, 25 [enable_introspection=auto]) 26 ])dnl 27 28 AC_MSG_CHECKING([for gobject-introspection]) 29 30 dnl presence/version checking 31 AS_CASE([$enable_introspection], 32 [no], [dnl 33 found_introspection="no (disabled, use --enable-introspection to enable)" 34 ],dnl 35 [yes],[dnl 36 PKG_CHECK_EXISTS([gobject-introspection-1.0],, 37 AC_MSG_ERROR([gobject-introspection-1.0 is not installed])) 38 PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], 39 found_introspection=yes, 40 AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME])) 41 ],dnl 42 [auto],[dnl 43 PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no) 44 ],dnl 45 [dnl 46 AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@]) 47 ])dnl 48 49 AC_MSG_RESULT([$found_introspection]) 50 51 INTROSPECTION_SCANNER= 52 INTROSPECTION_COMPILER= 53 INTROSPECTION_GENERATE= 54 INTROSPECTION_GIRDIR= 55 INTROSPECTION_TYPELIBDIR= 56 if test "x$found_introspection" = "xyes"; then 57 INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` 58 INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` 59 INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` 60 INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` 61 INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" 62 INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` 63 INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` 64 INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection 65 fi 66 AC_SUBST(INTROSPECTION_SCANNER) 67 AC_SUBST(INTROSPECTION_COMPILER) 68 AC_SUBST(INTROSPECTION_GENERATE) 69 AC_SUBST(INTROSPECTION_GIRDIR) 70 AC_SUBST(INTROSPECTION_TYPELIBDIR) 71 AC_SUBST(INTROSPECTION_CFLAGS) 72 AC_SUBST(INTROSPECTION_LIBS) 73 AC_SUBST(INTROSPECTION_MAKEFILE) 74 75 AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes") 76]) 77 78 79dnl Usage: 80dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version]) 81 82AC_DEFUN([GOBJECT_INTROSPECTION_CHECK], 83[ 84 _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1]) 85]) 86 87dnl Usage: 88dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version]) 89 90 91AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE], 92[ 93 _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require]) 94]) 95