1# -*- Autoconf -*- 2# This file is part of the aMule project. 3# This file is part of the libupnp library project. 4# 5# Copyright (c) 2003-2008 aMule Team ( admin@amule.org / http://www.amule.org ) 6# 7# This program is free software; you can redistribute it and/or modify 8# it under the terms of the GNU General Public License as published by 9# the Free Software Foundation; either version 2 of the License, or 10# (at your option) any later version. 11# 12# This program is distributed in the hope that it will be useful, 13# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15# GNU General Public License for more details. 16# 17# You should have received a copy of the GNU General Public License 18# along with this program; if not, write to the Free Software 19# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 20# 21 22dnl -------------------------------------------------------------------------- 23dnl LIBUPNP_CHECK([VERSION = 1.6.6], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 24dnl 25dnl Check for the libupnp library 26dnl -------------------------------------------------------------------------- 27dnl 28dnl This macro sets these variables: 29dnl - LIBUPNP_VERSION 30dnl Something like "1.6.7" 31dnl - LIBUPNP_CPPFLAGS 32dnl Flags to be added to CPPFLAGS 33dnl - LIBUPNP_CFLAGS 34dnl Flags to be added to CFLAGS 35dnl - LIBUPNP_LDFLAGS 36dnl Flags to be added to LDFLAGS 37dnl - LIBUPNP_LIBS 38dnl Library to be added to LIBS 39dnl 40dnl The LIBUPNP_CPPFLAGS, LIBUPNP_CFLAGS, LIBUPNP_LDFLAGS and LIBUPNP_LIBS variables are also substituted. 41dnl 42AC_DEFUN([LIBUPNP_CHECK], 43[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 44m4_define([MIN_LIBUPNP_VERSION], [m4_ifval([$1], [$1], [1.6.6])])dnl 45 46dnl Test for --with-libupnp-prefix 47 AC_ARG_WITH( 48 [libupnp-prefix], 49 [AS_HELP_STRING( 50 [--with-libupnp-prefix=PREFIX], 51 [UPnP library location])], 52 [export PKG_CONFIG_PATH=$withval/lib/pkgconfig]) 53 54dnl Check for libupnp >= MIN_LIBUPNP_VERSION 55 AS_IF([test $cross_compiling = no], [ 56 AC_MSG_CHECKING([for libupnp version >= MIN_LIBUPNP_VERSION]) 57 AS_IF([test -n "$PKG_CONFIG"], [ 58 AS_IF([$PKG_CONFIG libupnp --exists], [ 59 LIBUPNP_VERSION=`$PKG_CONFIG libupnp --modversion` 60 AS_IF([$PKG_CONFIG libupnp --atleast-version=MIN_LIBUPNP_VERSION], [ 61 result=yes 62 resultstr=" (version $LIBUPNP_VERSION)" 63 LIBUPNP_CPPFLAGS=`$PKG_CONFIG libupnp --cflags-only-I` 64 LIBUPNP_CFLAGS=`$PKG_CONFIG libupnp --cflags-only-other` 65 LIBUPNP_LDFLAGS=`$PKG_CONFIG libupnp --libs-only-L` 66 LIBUPNP_LIBS=`$PKG_CONFIG libupnp --libs-only-other` 67 LIBUPNP_LIBS="$LIBUPNP_LIBS `$PKG_CONFIG libupnp --libs-only-l`" 68 ], [ 69 result=no 70 resultstr=" (version $LIBUPNP_VERSION is not new enough)" 71 ]) 72 ], [ 73 result=no 74 resultstr=" (try to use --with-libupnp-prefix=PREFIX)" 75 ]) 76 ], [ 77 result=no 78 resultstr=" (pkg-config not found)" 79 ]) 80 AC_MSG_RESULT([$result$resultstr]) 81 libupnp_error="libupnp >= MIN_LIBUPNP_VERSION not found$resultstr" 82 ], [ 83dnl Currently cross-compilation with libupnp is not supported. 84 result=no 85 libupnp_error="cross compiling" 86 ]) 87 88dnl Execute the right action. 89 AS_IF([test ${result:-no} = yes], [$2], [$3]) 90 91dnl Exported symbols 92AC_SUBST([LIBUPNP_CPPFLAGS])dnl 93AC_SUBST([LIBUPNP_CFLAGS])dnl 94AC_SUBST([LIBUPNP_LDFLAGS])dnl 95AC_SUBST([LIBUPNP_LIBS])dnl 96m4_undefine([MIN_LIBUPNP_VERSION])dnl 97]) 98