1# -*- Autoconf -*- 2# This file is part of the aMule Project. 3# 4# Copyright (c) 2003-2011 aMule Team ( admin@amule.org / http://www.amule.org ) 5# 6# Any parts of this program derived from the xMule, lMule or eMule project, 7# or contributed by third-party developers are copyrighted by their 8# respective authors. 9# 10# This program is free software; you can redistribute it and/or modify 11# it under the terms of the GNU General Public License as published by 12# the Free Software Foundation; either version 2 of the License, or 13# (at your option) any later version. 14# 15# This program is distributed in the hope that it will be useful, 16# but WITHOUT ANY WARRANTY; without even the implied warranty of 17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18# GNU General Public License for more details. 19# 20# You should have received a copy of the GNU General Public License 21# along with this program; if not, write to the Free Software 22# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 23# 24 25dnl --------------------------------------------------------------------------- 26dnl MULE_CHECK_GDLIB([VERSION = 2.0.0], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 27dnl 28dnl adds support for --with-gdlib-prefix and --with-gdlib-config 29dnl command line options 30dnl 31dnl Test for gdlib, and define GDLIB_CFLAGS, GDLIB_LIBS and GDLIB_CONFIG_NAME 32dnl environment variable to override the default name of the gdlib-config script 33dnl to use. Set GDLIB_CONFIG_PATH to specify the full path to gdlib-config - 34dnl in this case the macro won't even waste time on tests for its existence. 35dnl --------------------------------------------------------------------------- 36AC_DEFUN([MULE_CHECK_GDLIB], 37[dnl 38m4_define([REQUIRED_VERSION], [m4_ifval([$1], [$1], [2.0.0])])dnl 39m4_define([REQUIRED_VERSION_MAJOR], [m4_bregexp(REQUIRED_VERSION, [\([0-9]+\)\.\([0-9]+\)\.\([0-9]+\)], [\1])])dnl 40m4_define([REQUIRED_VERSION_MINOR], [m4_bregexp(REQUIRED_VERSION, [\([0-9]+\)\.\([0-9]+\)\.\([0-9]+\)], [\2])])dnl 41m4_define([REQUIRED_VERSION_MICRO], [m4_bregexp(REQUIRED_VERSION, [\([0-9]+\)\.\([0-9]+\)\.\([0-9]+\)], [\3])])dnl 42 43 AC_ARG_WITH([gdlib-prefix], [AS_HELP_STRING([--with-gdlib-prefix=PREFIX], [prefix where gdlib is installed (optional)])]) 44 AC_ARG_WITH([gdlib-config], [AS_HELP_STRING([--with-gdlib-config=CONFIG], [gdlib-config script to use (optional)])]) 45 46 GDLIB_VERSION= 47 48 # do we have gdlib-config name: it can be gdlib-config or gd-config or ... 49 AS_IF([test x${GDLIB_CONFIG_NAME+set} != xset], [GDLIB_CONFIG_NAME=gdlib-config]) 50 AS_IF([test -n "$with_gdlib_config"], [GDLIB_CONFIG_NAME="$with_gdlib_config"]) 51 52 # deal with optional prefix 53 AS_IF([test -n "$with_gdlib_prefix"], [GDLIB_LOOKUP_PATH="$with_gdlib_prefix/bin"]) 54 55 # don't search the PATH if GDLIB_CONFIG_NAME is absolute filename 56 AS_IF([test -x "$GDLIB_CONFIG_NAME"], [ 57 AC_MSG_CHECKING([for gdlib-config]) 58 GDLIB_CONFIG_PATH="$GDLIB_CONFIG_NAME" 59 AC_MSG_RESULT([$GDLIB_CONFIG_PATH]) 60 ], [AC_PATH_PROG([GDLIB_CONFIG_PATH], [$GDLIB_CONFIG_NAME], [no], [$GDLIB_LOOKUP_PATH:$PATH])]) 61 62 AS_IF([test ${GDLIB_CONFIG_PATH:-no} != no], 63 [ 64 AC_MSG_CHECKING([for gdlib version >= REQUIRED_VERSION]) 65 GDLIB_CONFIG_WITH_ARGS="$GDLIB_CONFIG_PATH $gdlib_config_args" 66 67 GDLIB_VERSION=`$GDLIB_CONFIG_WITH_ARGS --version` 68 gdlib_config_major_version=`echo $GDLIB_VERSION | sed ['s/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1/']` 69 gdlib_config_minor_version=`echo $GDLIB_VERSION | sed ['s/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\2/']` 70 gdlib_config_micro_version=`echo $GDLIB_VERSION | sed ['s/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\3/']` 71 72 gdlib_ver_ok= 73 MULE_IF([test $gdlib_config_major_version -gt REQUIRED_VERSION_MAJOR], [gdlib_ver_ok=yes], 74 [test $gdlib_config_major_version -eq REQUIRED_VERSION_MAJOR], [ 75 MULE_IF([test $gdlib_config_minor_version -gt REQUIRED_VERSION_MINOR], [gdlib_ver_ok=yes], 76 [test $gdlib_config_minor_version -eq REQUIRED_VERSION_MINOR], 77 [MULE_IF([test $gdlib_config_micro_version -ge REQUIRED_VERSION_MICRO], [gdlib_ver_ok=yes])]) 78 ]) 79 80 AS_IF([test -z "$gdlib_ver_ok"], [ 81 AS_IF([test -z "$GDLIB_VERSION"], [AC_MSG_RESULT([no])], [ 82 AC_MSG_RESULT([no (version $GDLIB_VERSION is not new enough)]) 83 GDLIB_VERSION= 84 ]) 85 ], [ 86 AC_MSG_RESULT([yes (version $GDLIB_VERSION)]) 87 GDLIB_CFLAGS="`$GDLIB_CONFIG_WITH_ARGS --cflags`" 88 GDLIB_LDFLAGS="`$GDLIB_CONFIG_WITH_ARGS --ldflags`" 89 GDLIB_LIBS="`$GDLIB_CONFIG_WITH_ARGS --libs`" 90 MULE_BACKUP([CFLAGS]) 91 MULE_APPEND([CFLAGS], [$GDLIB_CFLAGS]) 92 AC_CHECK_HEADER([gd.h],, [GDLIB_VERSION=]) 93 MULE_RESTORE([CFLAGS]) 94 ]) 95 ]) 96 97 AS_IF([test -n "$GDLIB_VERSION"], [$2], [$3]) 98 99AC_SUBST([GDLIB_CFLAGS])dnl 100AC_SUBST([GDLIB_LDFLAGS])dnl 101AC_SUBST([GDLIB_LIBS])dnl 102 103m4_undefine([REQUIRED_VERSION])dnl 104m4_undefine([REQUIRED_VERSION_MAJOR])dnl 105m4_undefine([REQUIRED_VERSION_MINOR])dnl 106m4_undefine([REQUIRED_VERSION_MICRO])dnl 107]) 108