1 dnl -*-autoconf-*- *@--GLOB-HEADER--@*
3 dnl Common library of autoconf macros
5 dnl (c) 1997 Mark Wooding, except for macros and documentation where noted.
8 dnl----- Licensing notice ---------------------------------------------------
10 dnl This file is part of the Common Files Distribution (`common')
12 dnl `Common' is free software; you can redistribute it and/or modify
13 dnl it under the terms of the GNU General Public License as published by
14 dnl the Free Software Foundation; either version 2 of the License, or
15 dnl (at your option) any later version.
17 dnl `Common' is distributed in the hope that it will be useful,
18 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
19 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 dnl GNU General Public License for more details.
22 dnl You should have received a copy of the GNU General Public License
23 dnl along with `common'; if not, write to the Free Software Foundation,
24 dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
26 dnl *@--NOTICE--@* Common File Distribution
28 dnl --- *@-mdw_AUTO_VERSION-@* ---
30 dnl Author: Mark Wooding
32 dnl Synopsis: mdw_AUTO_VERSION
36 dnl Use: Defines an m4 macro AUTO_VERSION which contains the current
37 dnl version number, worked out in some clever way.
39 AC_DEFUN([mdw_AUTO_VERSION], [nobody cares...])
40 m4_define([mdw_AUTO_VERSION], [m4_define([AUTO_VERSION], m4_esyscmd([
42 for pre in ./ config/; do
43 for post in "" .in; do
44 try=${pre}auto-version${post}
45 if test -x $try; then ver=$("$try"); break; fi
51 dnl --- *@-mdw_LIBTOOL_VERSION_INFO-@* ---
53 dnl Author: Mark Wooding
55 dnl Synopsis: mdw_LIBTOOL_VERSION
59 dnl Use: Decodes the PACKAGE_VERSION variable as a libtool
60 dnl version-info string. Strictly speaking, this is very
63 AC_DEFUN([mdw_LIBTOOL_VERSION_INFO], [
64 set -- $(echo $PACKAGE_VERSION |
65 sed 's:[^.*\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$]:\1 \2 \3:'
67 LIBTOOL_VERSION_INFO="$(expr $[]1 + $[]2):$[]3:$[]2"
68 AC_SUBST([LIBTOOL_VERSION_INFO])
71 dnl --- *@-mdw_DECL_ENVIRON-@* ---
73 dnl Author: Mark Wooding
75 dnl Synopsis: mdw_DECL_ENVIRON
79 dnl Use: Searches for a declaration of the global `environ' variable.
80 dnl If one is found in one of the `usual' places, DECL_ENVIRON
81 dnl is defined as a preprocessor symbol.
83 AC_DEFUN([mdw_DECL_ENVIRON],
84 [AC_CACHE_CHECK([for declaration of \`environ'], mdw_cv_environ,
85 [AC_EGREP_CPP([\<environ\>],
86 [#include <sys/types.h>
93 #endif], [mdw_cv_environ=yes], [mdw_cv_environ=no])])
94 if test $mdw_cv_environ = yes; then
95 AC_DEFINE([DECL_ENVIRON], [1],
96 [Define if you have the `environ' vector of environment variables.])
99 dnl --- *@-mdw_DEFINE_PATHS-@*
101 dnl Author: Mark Wooding
103 dnl Synopsis: mdw_DEFINE_PATHS(CODE)
105 dnl Arguments: CODE = shell script code to execute
107 dnl Use: Fixes up various variables so that pathname defines can be
108 dnl defined. Within CODE, you may use the following macros:
110 dnl mdw_PROG(NAME) Transformed program name
112 dnl mdw_PATH(PATH) Expanded path (may contain variables)
114 dnl mdw_DEFINE_PROG(SYMBOL, PROG)
115 dnl Define a symbol as a transformed
118 dnl mdw_DEFINE_PATH(SYMBOL, NAME)
119 dnl Define a symbol as an expanded path
121 AC_DEFUN([mdw_DEFINE_PATHS],
122 [mdw_prefix=$prefix mdw_exec_prefix=$exec_prefix
123 mdw_transform=`echo "$program_transform_name"|sed 's,\\\\\\\\,\\\\,g; s,\\$\\$,$,g'`
124 test "$prefix" = "NONE" && prefix=$ac_default_prefix
125 test "$exec_prefix" = "NONE" && exec_prefix=$prefix
127 prefix=$mdw_prefix exec_prefix=$mdw_exec_prefix])
129 AC_DEFUN([mdw_PROG], [`echo "$1"|sed "$mdw_transform"`])
130 AC_DEFUN([mdw_PATH], [dnl
134 *\\$[]*) t=\`eval echo "$t"\`;; dnl
138 AC_DEFUN([mdw_DEFINE_PROG],
139 [AC_DEFINE_UNQUOTED([$1], ["mdw_PROG([$2])"],
140 [Program name for $2.])])
141 AC_DEFUN([mdw_DEFINE_PATH], [AC_DEFINE_UNQUOTED([$1], ["mdw_PATH([$2])"],
142 [Pathname for $2.])])
144 dnl --- *@-mdw_MANEXT-@* ---
146 dnl Author: Mark Wooding
148 dnl Synopsis: mdw_MANEXT
152 dnl Use: Sets the substitution `manext' for man page extensions.
154 AC_DEFUN([mdw_MANEXT], [
155 AC_ARG_WITH([man-ext],
156 [ --with-man-ext=EXT give manpages the EXT extension (e.g., foo.3EXT)],
157 [manext=$withval], [manext=mLib])
160 dnl----- That's all, folks --------------------------------- *@--GLOB-END--@*