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