Blame m4/vapigen.m4

Packit Service 93d855
dnl vapigen.m4
Packit Service 93d855
dnl
Packit Service 93d855
dnl Copyright 2012 Evan Nemerson
Packit Service 93d855
dnl
Packit Service 93d855
dnl This library is free software; you can redistribute it and/or
Packit Service 93d855
dnl modify it under the terms of the GNU Lesser General Public
Packit Service 93d855
dnl License as published by the Free Software Foundation; either
Packit Service 93d855
dnl version 2.1 of the License, or (at your option) any later version.
Packit Service 93d855
dnl
Packit Service 93d855
dnl This library is distributed in the hope that it will be useful,
Packit Service 93d855
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 93d855
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 93d855
dnl Lesser General Public License for more details.
Packit Service 93d855
dnl
Packit Service 93d855
dnl You should have received a copy of the GNU Lesser General Public
Packit Service 93d855
dnl License along with this library; if not, write to the Free Software
Packit Service 93d855
dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
Packit Service 93d855
Packit Service 93d855
# VAPIGEN_CHECK([VERSION], [API_VERSION], [FOUND_INTROSPECTION], [DEFAULT])
Packit Service 93d855
# --------------------------------------
Packit Service 93d855
# Check vapigen existence and version
Packit Service 93d855
#
Packit Service 93d855
# See http://live.gnome.org/Vala/UpstreamGuide for detailed documentation
Packit Service 93d855
AC_DEFUN([VAPIGEN_CHECK],
Packit Service 93d855
[
Packit Service 93d855
  AS_IF([test "x$3" != "xyes"], [
Packit Service 93d855
      m4_provide_if([GOBJECT_INTROSPECTION_CHECK], [], [
Packit Service 93d855
          m4_provide_if([GOBJECT_INTROSPECTION_REQUIRE], [], [
Packit Service 93d855
              AC_MSG_ERROR([[You must call GOBJECT_INTROSPECTION_CHECK or GOBJECT_INTROSPECTION_REQUIRE before using VAPIGEN_CHECK unless using the FOUND_INTROSPECTION argument is "yes"]])
Packit Service 93d855
            ])
Packit Service 93d855
        ])
Packit Service 93d855
    ])
Packit Service 93d855
Packit Service 93d855
  AC_ARG_ENABLE([vala],
Packit Service 93d855
    [AS_HELP_STRING([--enable-vala[=@<:@no/auto/yes@:>@]],[build Vala bindings @<:@default=]ifelse($4,,auto,$4)[@:>@])],,[
Packit Service 93d855
      AS_IF([test "x$4" = "x"], [
Packit Service 93d855
          enable_vala=auto
Packit Service 93d855
        ], [
Packit Service 93d855
          enable_vala=$4
Packit Service 93d855
        ])
Packit Service 93d855
    ])
Packit Service 93d855
Packit Service 93d855
  AS_CASE([$enable_vala], [no], [enable_vala=no],
Packit Service 93d855
      [yes], [
Packit Service 93d855
        AS_IF([test "x$3" != "xyes" -a "x$found_introspection" != "xyes"], [
Packit Service 93d855
            AC_MSG_ERROR([Vala bindings require GObject Introspection])
Packit Service 93d855
          ])
Packit Service 93d855
      ], [auto], [
Packit Service 93d855
        AS_IF([test "x$3" != "xyes" -a "x$found_introspection" != "xyes"], [
Packit Service 93d855
            enable_vala=no
Packit Service 93d855
          ])
Packit Service 93d855
      ], [
Packit Service 93d855
        AC_MSG_ERROR([Invalid argument passed to --enable-vala, should be one of @<:@no/auto/yes@:>@])
Packit Service 93d855
      ])
Packit Service 93d855
Packit Service 93d855
  AS_IF([test "x$2" = "x"], [
Packit Service 93d855
      vapigen_pkg_name=vapigen
Packit Service 93d855
    ], [
Packit Service 93d855
      vapigen_pkg_name=vapigen-$2
Packit Service 93d855
    ])
Packit Service 93d855
  AS_IF([test "x$1" = "x"], [
Packit Service 93d855
      vapigen_pkg="$vapigen_pkg_name"
Packit Service 93d855
    ], [
Packit Service 93d855
      vapigen_pkg="$vapigen_pkg_name >= $1"
Packit Service 93d855
    ])
Packit Service 93d855
Packit Service 93d855
  PKG_PROG_PKG_CONFIG
Packit Service 93d855
Packit Service 93d855
  PKG_CHECK_EXISTS([$vapigen_pkg], [
Packit Service 93d855
      AS_IF([test "$enable_vala" = "auto"], [
Packit Service 93d855
          enable_vala=yes
Packit Service 93d855
        ])
Packit Service 93d855
    ], [
Packit Service 93d855
      AS_CASE([$enable_vala], [yes], [
Packit Service 93d855
          AC_MSG_ERROR([$vapigen_pkg not found])
Packit Service 93d855
        ], [auto], [
Packit Service 93d855
          enable_vala=no
Packit Service 93d855
        ])
Packit Service 93d855
    ])
Packit Service 93d855
Packit Service 93d855
  AC_MSG_CHECKING([for vapigen])
Packit Service 93d855
Packit Service 93d855
  AS_CASE([$enable_vala],
Packit Service 93d855
    [yes], [
Packit Service 93d855
      VAPIGEN=`$PKG_CONFIG --variable=vapigen $vapigen_pkg_name`
Packit Service 93d855
      VAPIGEN_MAKEFILE=`$PKG_CONFIG --variable=datadir $vapigen_pkg_name`/vala/Makefile.vapigen
Packit Service 93d855
      AS_IF([test "x$2" = "x"], [
Packit Service 93d855
          VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir $vapigen_pkg_name`
Packit Service 93d855
        ], [
Packit Service 93d855
          VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir_versioned $vapigen_pkg_name`
Packit Service 93d855
        ])
Packit Service 93d855
    ])
Packit Service 93d855
Packit Service 93d855
  AC_MSG_RESULT([$enable_vala])
Packit Service 93d855
Packit Service 93d855
  AC_SUBST([VAPIGEN])
Packit Service 93d855
  AC_SUBST([VAPIGEN_VAPIDIR])
Packit Service 93d855
  AC_SUBST([VAPIGEN_MAKEFILE])
Packit Service 93d855
Packit Service 93d855
  AM_CONDITIONAL(ENABLE_VAPIGEN, test "x$enable_vala" = "xyes")
Packit Service 93d855
])