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-2011 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 AS_IF([test -d "$withval/lib64/pkgconfig"],[ 53 export PKG_CONFIG_PATH=$withval/lib64/pkgconfig 54 ],[ 55 export PKG_CONFIG_PATH=$withval/lib/pkgconfig 56 ]) 57 ]) 58 59dnl Check for libupnp >= MIN_LIBUPNP_VERSION 60 AS_IF([test $cross_compiling = no], [ 61 AC_MSG_CHECKING([for libupnp version >= MIN_LIBUPNP_VERSION]) 62 AS_IF([test -n "$PKG_CONFIG"], [ 63 AS_IF([$PKG_CONFIG libupnp --exists], [ 64 LIBUPNP_VERSION=`$PKG_CONFIG libupnp --modversion` 65 AS_IF([$PKG_CONFIG libupnp --atleast-version=MIN_LIBUPNP_VERSION], [ 66 result=yes 67 resultstr=" (version $LIBUPNP_VERSION)" 68 LIBUPNP_CPPFLAGS=`$PKG_CONFIG libupnp --cflags-only-I` 69 LIBUPNP_CFLAGS=`$PKG_CONFIG libupnp --cflags-only-other` 70 LIBUPNP_LDFLAGS=`$PKG_CONFIG libupnp --libs-only-L` 71 LIBUPNP_LIBS=`$PKG_CONFIG libupnp --libs-only-other` 72 LIBUPNP_LIBS="$LIBUPNP_LIBS `$PKG_CONFIG libupnp --libs-only-l`" 73 ], [ 74 result=no 75 resultstr=" (version $LIBUPNP_VERSION is not new enough)" 76 ]) 77 ], [ 78 result=no 79 resultstr=" (try to use --with-libupnp-prefix=PREFIX)" 80 ]) 81 ], [ 82 result=no 83 resultstr=" (pkg-config not found)" 84 ]) 85 AC_MSG_RESULT([$result$resultstr]) 86 libupnp_error="libupnp >= MIN_LIBUPNP_VERSION not found$resultstr" 87 ], [ 88dnl Currently cross-compilation with libupnp is not supported. 89 result=no 90 libupnp_error="cross compiling" 91 ]) 92 93dnl Execute the right action. 94 AS_IF([test ${result:-no} = yes], [$2], [$3]) 95 96dnl Exported symbols 97AC_SUBST([LIBUPNP_CPPFLAGS])dnl 98AC_SUBST([LIBUPNP_CFLAGS])dnl 99AC_SUBST([LIBUPNP_LDFLAGS])dnl 100AC_SUBST([LIBUPNP_LIBS])dnl 101m4_undefine([MIN_LIBUPNP_VERSION])dnl 102]) 103