Blame m4/vapigen.m4

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