summaryrefslogtreecommitdiff
path: root/Tools/config/ax_path_generic.m4
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/config/ax_path_generic.m4')
-rw-r--r--Tools/config/ax_path_generic.m4142
1 files changed, 142 insertions, 0 deletions
diff --git a/Tools/config/ax_path_generic.m4 b/Tools/config/ax_path_generic.m4
new file mode 100644
index 000000000..4db2da11b
--- /dev/null
+++ b/Tools/config/ax_path_generic.m4
@@ -0,0 +1,142 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_path_generic.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_PATH_GENERIC(LIBRARY,[MINIMUM-VERSION,[SED-EXPR-EXTRACTOR]],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],[CONFIG-SCRIPTS],[CFLAGS-ARG],[LIBS-ARG])
+#
+# DESCRIPTION
+#
+# Runs the LIBRARY-config script and defines LIBRARY_CFLAGS and
+# LIBRARY_LIBS
+#
+# The script must support `--cflags' and `--libs' args. If MINIMUM-VERSION
+# is specified, the script must also support the `--version' arg. If the
+# `--with-library-[exec-]prefix' arguments to ./configure are given, it
+# must also support `--prefix' and `--exec-prefix'. Prefereable use
+# CONFIG-SCRIPTS as config script, CFLAGS-ARG instead of `--cflags` and
+# LIBS-ARG instead of `--libs`, if given.
+#
+# The SED-EXPR-EXTRACTOR parameter representes the expression used in sed
+# to extract the version number. Use it if your 'foo-config --version'
+# dumps something like 'Foo library v1.0.0 (alfa)' instead of '1.0.0'.
+#
+# Example:
+#
+# AX_PATH_GENERIC(Foo, 1.0.0)
+#
+# would run `foo-config --version' and check that it is at least 1.0.0, if
+# successful the following variables would be defined and substituted:
+#
+# FOO_CFLAGS to `foo-config --cflags`
+# FOO_LIBS to `foo-config --libs`
+#
+# Example:
+#
+# AX_PATH_GENERIC([Bar],,,[
+# AC_MSG_ERROR([Cannot find Bar library])
+# ])
+#
+# would check for bar-config program, defining and substituting the
+# following variables:
+#
+# BAR_CFLAGS to `bar-config --cflags`
+# BAR_LIBS to `bar-config --libs`
+#
+# This macro is a rearranged version of AC_PATH_GENERIC from Angus Lees.
+#
+# LICENSE
+#
+# Copyright (c) 2009 Francesco Salvestrini <salvestrini@users.sourceforge.net>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 10
+
+AU_ALIAS([AC_PATH_GENERIC], [AX_PATH_GENERIC])
+AC_DEFUN([AX_PATH_GENERIC],[
+ AC_REQUIRE([AC_PROG_SED])
+
+ dnl we're going to need uppercase and lowercase versions of the
+ dnl string `LIBRARY'
+ pushdef([UP], translit([$1], [a-z], [A-Z]))dnl
+ pushdef([DOWN], translit([$1], [A-Z], [a-z]))dnl
+
+ AC_ARG_WITH(DOWN-prefix,[AS_HELP_STRING([--with-]DOWN[-prefix=PREFIX], [Prefix where $1 is installed (optional)])],
+ DOWN[]_config_prefix="$withval", DOWN[]_config_prefix="")
+ AC_ARG_WITH(DOWN-exec-prefix,[AS_HELP_STRING([--with-]DOWN[-exec-prefix=EPREFIX], [Exec prefix where $1 is installed (optional)])],
+ DOWN[]_config_exec_prefix="$withval", DOWN[]_config_exec_prefix="")
+
+ AC_ARG_VAR(UP[]_CONFIG, [config script used for $1])
+ AC_ARG_VAR(UP[]_CFLAGS, [CFLAGS used for $1])
+ AC_ARG_VAR(UP[]_LIBS, [LIBS used for $1])
+
+ AS_IF([test x$DOWN[]_config_exec_prefix != x],[
+ DOWN[]_config_args="$DOWN[]_config_args --exec-prefix=$DOWN[]_config_exec_prefix"
+ AS_IF([test x${UP[]_CONFIG+set} != xset],[
+ UP[]_CONFIG=$DOWN[]_config_exec_prefix/bin/DOWN-config
+ ])
+ ])
+ AS_IF([test x$DOWN[]_config_prefix != x],[
+ DOWN[]_config_args="$DOWN[]_config_args --prefix=$DOWN[]_config_prefix"
+ AS_IF([test x${UP[]_CONFIG+set} != xset],[
+ UP[]_CONFIG=$DOWN[]_config_prefix/bin/DOWN-config
+ ])
+ ])
+
+ AC_PATH_PROGS(UP[]_CONFIG,[$6 DOWN-config],[no])
+ AS_IF([test "$UP[]_CONFIG" == "no"],[
+ :
+ $5
+ ],[
+ dnl Get the CFLAGS from LIBRARY-config script
+ AS_IF([test x"$7" == x],[
+ UP[]_CFLAGS="`$UP[]_CONFIG $DOWN[]_config_args --cflags`"
+ ],[
+ UP[]_CFLAGS="`$UP[]_CONFIG $DOWN[]_config_args $7`"
+ ])
+
+ dnl Get the LIBS from LIBRARY-config script
+ AS_IF([test x"$8" == x],[
+ UP[]_LIBS="`$UP[]_CONFIG $DOWN[]_config_args --libs`"
+ ],[
+ UP[]_LIBS="`$UP[]_CONFIG $DOWN[]_config_args $8`"
+ ])
+
+ AS_IF([test x"$2" != x],[
+ dnl Check for provided library version
+ AS_IF([test x"$3" != x],[
+ dnl Use provided sed expression
+ DOWN[]_version="`$UP[]_CONFIG $DOWN[]_config_args --version | $SED -e $3`"
+ ],[
+ DOWN[]_version="`$UP[]_CONFIG $DOWN[]_config_args --version | $SED -e 's/^\ *\(.*\)\ *$/\1/'`"
+ ])
+
+ AC_MSG_CHECKING([for $1 ($DOWN[]_version) >= $2])
+ AX_COMPARE_VERSION($DOWN[]_version,[ge],[$2],[
+ AC_MSG_RESULT([yes])
+
+ AC_SUBST(UP[]_CFLAGS)
+ AC_SUBST(UP[]_LIBS)
+ :
+ $4
+ ],[
+ AC_MSG_RESULT([no])
+ :
+ $5
+ ])
+ ],[
+ AC_SUBST(UP[]_CFLAGS)
+ AC_SUBST(UP[]_LIBS)
+ :
+ $4
+ ])
+ ])
+
+ popdef([UP])
+ popdef([DOWN])
+])