From: mdw Date: Tue, 15 Aug 2000 21:37:49 +0000 (+0000) Subject: New initialization macro for libraries, and a new base client macro for X-Git-Url: https://git.distorted.org.uk/~mdw/runlisp/commitdiff_plain/08f6362d10a14f11ed2d6700341ebe19001b8913 New initialization macro for libraries, and a new base client macro for finding libraries with an appropriate version. --- diff --git a/aclocal.glob b/aclocal.glob index ba2a1ad..311768e 100644 --- a/aclocal.glob +++ b/aclocal.glob @@ -1,6 +1,6 @@ dnl -*-fundamental-*- *@--GLOB-HEADER--@* dnl -dnl $Id: aclocal.glob,v 1.8 1999/11/26 01:23:17 mdw Exp $ +dnl $Id: aclocal.glob,v 1.9 2000/08/15 21:37:49 mdw Exp $ dnl dnl Common library of autoconf macros dnl @@ -28,6 +28,10 @@ dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. dnl----- Revision history --------------------------------------------------- dnl dnl $Log: aclocal.glob,v $ +dnl Revision 1.9 2000/08/15 21:37:49 mdw +dnl New initialization macro for libraries, and a new base client macro for +dnl finding libraries with an appropriate version. +dnl dnl Revision 1.8 1999/11/26 01:23:17 mdw dnl And support for MXD (not yet released). dnl @@ -55,7 +59,7 @@ dnl dnl----- Common files distribution --------------------------- *@--NOTICE--@* dnl -dnl $Id: aclocal.glob,v 1.8 1999/11/26 01:23:17 mdw Exp $ +dnl $Id: aclocal.glob,v 1.9 2000/08/15 21:37:49 mdw Exp $ dnl --- *@-AC_PROG_CC_STDC-@* --- dnl @@ -1360,120 +1364,100 @@ if test "$GXX" = "yes"; then CXXFLAGS="$CXXFLAGS ifelse([$3], [], [-fhandle-exceptions], [$3])" fi]) -dnl *@-mdw_MLIB-@* +dnl *@-mdw_INIT_LIB-@* dnl dnl Author: Mark Wooding dnl -dnl Synopsis: mdw_MLIB(VERSION, IF-FOUND, IF-NOT-FOUND +dnl Synopsis: mdw_INIT_LIB(LIB, NAME, VERSION, [PACKAGE]) dnl -dnl Arguments: VERSION = version of library required +dnl Arguments: LIB = the name of the library (and the package) +dnl NAME = a presentable version of the library's name +dnl VERSION = version of the library +dnl PACKAGE = package name to pass on to AM_INIT_AUTOMAKE +dnl +dnl Use: Sets up various useful variables. This macro calls +dnl AM_INIT_AUTOMAKE, which might be considered useful. It also +dnl provides variables for the use of `lib-config.in'. + +AC_DEFUN([mdw_INIT_LIB], +[AM_INIT_AUTOMAKE(ifelse([$4], [], [$1], [$4]), [$3]) +LIBRARY="$1" AC_SUBST(LIBRARY) +LIBNAME="$2" AC_SUBST(LIBNAME)]) + +dnl *@-mdw_LIB_CONFIG-@* +dnl +dnl Author: Mark Wooding +dnl +dnl Synopsis: mdw_LIB_CONFIG(LIB, NAME, VERSION, IF-FOUND, IF-NOT-FOUND) +dnl +dnl Arguments: LIB = the name of the library (and its configuration program) +dnl NAME = a presentable version of the library's name +dnl VERSION = version of library required dnl IF-FOUND = what to do if found dnl IF-NOT-FOUND = what to do if not found dnl -dnl Use: Configures an mLib client program. The default -dnl version is 1.0.0pre0; the default action is to add -dnl everything to the CFLAGS and LIBS variables, and complain +dnl Use: Configures a library client program, using a configuration +dnl script provided by the library maintainer. +dnl +dnl The default version is 1.0.0pre0; the default action is to +dnl add everything to the CFLAGS and LIBS variables, and complain dnl if the library couldn't be found. dnl -dnl The variable MLIB_VERSION contains the version number of -dnl the library; MLIB_CFLAGS is the C compiler flags required -dnl and MLIB_LIBS is the linker flags. - -AC_DEFUN([mdw_MLIB], -[AC_MSG_CHECKING([for mLib library]) -if mLib-config --check $1 >/dev/null 2>&1; then - MLIB_VERSION=`mLib-config --version` - MLIB_CFLAGS=`mLib-config --cflags` - MLIB_LIBS=`mLib-config --libs` - AC_SUBST(MLIB_VERSION) AC_SUBST(MLIB_CFLAGS) AC_SUBST(MLIB_LIBS) - ifelse([$2], [], - [CFLAGS="$CFLAGS $MLIB_CFLAGS" - LIBS="$MLIB_LIBS $LIBS"], - $2) - AC_MSG_RESULT([$MLIB_VERSION]) +dnl The variable LIB_VERSION contains the version number of +dnl the library; LIB_CFLAGS is the C compiler flags required +dnl and LIB_LIBS is the linker flags. + +AC_DEFUN([mdw_LIB_CONFIG], +[pushdef([upname], translit([$1], [a-z], [A-Z]))dnl +AC_MSG_CHECKING([for $2 library]) +if $1-config --check $3 >/dev/null 2>&1; then + upname[]_VERSION=`$1-config --version` + upname[]_CFLAGS=`$1-config --cflags` + upname[]_LIBS=`$1-config --libs` + AC_SUBST(upname[]_VERSION) + AC_SUBST(upname[]_CFLAGS) + AC_SUBST(upname[]_LIBS) + ifelse([$4], [], + [CFLAGS="$CFLAGS $upname[]_CFLAGS" + LIBS="$upname[]_LIBS $LIBS"], + $4) + AC_MSG_RESULT([$upname[]_VERSION]) else - ifelse([$3], [], - AC_MSG_ERROR([mLib library not found or too old.]), - $3) + ifelse([$5], [], + AC_MSG_ERROR([$2 library not found or too old.]), + $5) AC_MSG_RESULT([not found]) fi]) -dnl *@-mdw_MGLIB-@* +dnl *@-mdw_MLIB-@* dnl dnl Author: Mark Wooding dnl -dnl Synopsis: mdw_MGLIB(VERSION, IF-FOUND, IF-NOT-FOUND +dnl Synopsis: mdw_MLIB(VERSION, IF-FOUND, IF-NOT-FOUND dnl dnl Arguments: VERSION = version of library required dnl IF-FOUND = what to do if found dnl IF-NOT-FOUND = what to do if not found dnl -dnl Use: Configures an mgLib client program. The default -dnl version is 1.0.0pre0; the default action is to add -dnl everything to the CFLAGS and LIBS variables, and complain -dnl if the library couldn't be found. -dnl -dnl The variable MGLIB_VERSION contains the version number of -dnl the library; MGLIB_CFLAGS is the C compiler flags required -dnl and MGLIB_LIBS is the linker flags. +dnl Use: Configures an mLib client program. -AC_DEFUN([mdw_MGLIB], -[mdw_REQUIRE([mdw_MGLIB], [1.6.0]) -AC_MSG_CHECKING([for mgLib library]) -if mgLib-config --check $1 >/dev/null 2>&1; then - MGLIB_VERSION=`mgLib-config --version` - MGLIB_CFLAGS=`mgLib-config --cflags` - MGLIB_LIBS=`mgLib-config --libs` - AC_SUBST(MGLIB_VERSION) AC_SUBST(MGLIB_CFLAGS) AC_SUBST(MGLIB_LIBS) - ifelse([$2], [], - [CFLAGS="$CFLAGS $MGLIB_CFLAGS" - LIBS="$MGLIB_LIBS $LIBS"], - $2) - AC_MSG_RESULT([$MGLIB_VERSION]) -else - ifelse([$3], [], - AC_MSG_ERROR([mgLib library not found or too old.]), - $3) - AC_MSG_RESULT([not found]) -fi]) +AC_DEFUN([mdw_MLIB], [mdw_LIB_CONFIG(mLib, mLib, $@)]) -dnl *@-mdw_MXD-@* +dnl *@-mdw_MGLIB-@* dnl dnl Author: Mark Wooding dnl -dnl Synopsis: mdw_MXD(VERSION, IF-FOUND, IF-NOT-FOUND +dnl Synopsis: mdw_MGLIB(VERSION, IF-FOUND, IF-NOT-FOUND dnl dnl Arguments: VERSION = version of library required dnl IF-FOUND = what to do if found dnl IF-NOT-FOUND = what to do if not found dnl -dnl Use: Configures an MXD client program. The default -dnl version is 1.0.0pre0; the default action is to add -dnl everything to the CFLAGS and LIBS variables, and complain -dnl if the library couldn't be found. -dnl -dnl The variable MXD_VERSION contains the version number of -dnl the library; MXD_CFLAGS is the C compiler flags required -dnl and MXD_LIBS is the linker flags. - -AC_DEFUN([mdw_MXD], -[AC_MSG_CHECKING([for MXD library]) -if mxd-config --check $1 >/dev/null 2>&1; then - MXD_VERSION=`mxd-config --version` - MXD_CFLAGS=`mxd-config --cflags` - MXD_LIBS=`mxd-config --libs` - AC_SUBST(MXD_VERSION) AC_SUBST(MXD_CFLAGS) AC_SUBST(MXD_LIBS) - ifelse([$2], [], - [CFLAGS="$CFLAGS $MXD_CFLAGS" - LIBS="$MXD_LIBS $LIBS"], - $2) - AC_MSG_RESULT([$MXD_VERSION]) -else - ifelse([$3], [], - AC_MSG_ERROR([MXD library not found or too old.]), - $3) - AC_MSG_RESULT([not found]) -fi]) +dnl Use: Configures an mgLib client program. + +AC_DEFUN([mdw_MGLIB], +[mdw_REQUIRE([mdw_MLIB], [1.6.0]) +mdw_LIB_CONFIG(mgLib, mgLib, $@)]) dnl *@-mdw_CATACOMB-@* dnl @@ -1485,35 +1469,27 @@ dnl Arguments: VERSION = version of Catacomb required dnl IF-FOUND = what to do if found dnl IF-NOT-FOUND = what to do if not found dnl -dnl Use: Configures the program as a Catacomb client. The default -dnl version is 1.0.0pre0; the default action is to add -dnl everything to the CFLAGS and LIBS variables, and complain -dnl if the library couldn't be found. -dnl -dnl The variable CATACOMB_VERSION contains the version number of -dnl the library; CATACOMB_CFLAGS is the C compiler flags required -dnl and CATACOMB_LIBS is the linker flags. +dnl Use: Configures the program as a Catacomb client. AC_DEFUN([mdw_CATACOMB], [mdw_REQUIRE([mdw_MLIB], [1.6.0]) -AC_MSG_CHECKING([for Catacomb library]) -if catacomb-config --check $1 >/dev/null 2>&1; then - CATACOMB_VERSION=`catacomb-config --version` - CATACOMB_CFLAGS=`catacomb-config --cflags` - CATACOMB_LIBS=`catacomb-config --libs` - AC_SUBST(CATACOMB_VERSION) - AC_SUBST(CATACOMB_CFLAGS) AC_SUBST(CATACOMB_LIBS) - ifelse([$2], [], - [CFLAGS="$CFLAGS $CATACOMB_CFLAGS" - LIBS="$CATACOMB_LIBS $LIBS"], - $2) - AC_MSG_RESULT([$CATACOMB_VERSION]) -else - ifelse([$3], [], - AC_MSG_ERROR([Catacomb library not found or too old.]), - $3) - AC_MSG_RESULT([not found]) -fi]) +mdw_LIB_CONFIG(catacomb, Catacomb, $@)]) + +dnl *@-mdw_PK-@* +dnl +dnl Author: Mark Wooding +dnl +dnl Synopsis: mdw_PK([VERSION], [IF-FOUND], [IF-NOT-FOUND]) +dnl +dnl Arguments: VERSION = version of PK required +dnl IF-FOUND = what to do if found +dnl IF-NOT-FOUND = what to do if not found +dnl +dnl Use: Configures the program as a PK client. + +AC_DEFUN([mdw_PK], +[mdw_REQUIRE([mdw_MLIB], [1.6.0]) +mdw_LIB_CONFIG(pk, PK, $@)]) dnl --- *@-mdw_OPT_NDEBUG-@* --- dnl