Home | History | Annotate | Download | only in common
      1 dnl -*- mode: autoconf -*-
      2 dnl Copyright 2009 Johan Dahlin
      3 dnl
      4 dnl This file is free software; the author(s) gives unlimited
      5 dnl permission to copy and/or distribute it, with or without
      6 dnl modifications, as long as this notice is preserved.
      7 dnl
      8 
      9 # serial 1
     10 
     11 m4_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 
     79 dnl Usage:
     80 dnl   GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
     81 
     82 AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
     83 [
     84   _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
     85 ])
     86 
     87 dnl Usage:
     88 dnl   GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
     89 
     90 
     91 AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
     92 [
     93   _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
     94 ])
     95