1 dnl -*-fundamental-*- *@--GLOB-HEADER--@*
5 dnl Common library of autoconf macros
7 dnl (c) 1997 Mark Wooding, except for macros and documentation where noted.
10 dnl----- Licensing notice ---------------------------------------------------
12 dnl This file is part of the Common Files Distribution (`common')
14 dnl `Common' is free software; you can redistribute it and/or modify
15 dnl it under the terms of the GNU General Public License as published by
16 dnl the Free Software Foundation; either version 2 of the License, or
17 dnl (at your option) any later version.
19 dnl `Common' is distributed in the hope that it will be useful,
20 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
21 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 dnl GNU General Public License for more details.
24 dnl You should have received a copy of the GNU General Public License
25 dnl along with `common'; if not, write to the Free Software Foundation,
26 dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
28 dnl *@--NOTICE--@* Common File Distribution
31 dnl --- *@-mdw_REQUIRE-@* ---
33 dnl Author: Mark Wooding
35 dnl Synopsis: mdw_REQUIRE(MACRO, ARGS...)
37 dnl Arguments: MACRO = name of a macro which should have been called
38 dnl ARGS = arguments to pass
40 dnl Use: Like `AC_REQUIRE', only it handles arguments.
42 m4_define([_m4_divert(mdwdvt_REQUIRE)], 54633)
43 AC_DEFUN([mdw_REQUIRE],
44 [ifdef([AC_PROVIDE_$1], ,
45 [AC_DIVERT_PUSH([mdwdvt_REQUIRE])dnl
50 dnl --- *@-mdw_CURSES-@* ---
52 dnl Author: Mark Wooding
54 dnl Synopsis: mdw_CURSES
58 dnl Use: Searches for a `curses' library (one of `ncurses' or
59 dnl `curses') using mdw_CHECK_MANYLIBS. If one is found, the
60 dnl preprocessor macro HAVE_CURSES is defined, and a search is
61 dnl made for a `curses' header file (one of <ncurses.h>,
62 dnl <ncurses/ncurses.h> or <curses.h>) using AC_CHECK_HEADERS
63 dnl and the appropriate preprocessor symbol is defined.
64 dnl Finally, a check is made for the function `wresize' using
67 AC_DEFUN([mdw_CURSES],
68 [mdw_CHECK_MANYLIBS(newwin, ncurses curses, AC_DEFINE(HAVE_CURSES))
69 if test $mdw_cv_lib_newwin != no; then
70 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h curses.h], [break])
71 if test "$ac_cv_header_ncurses_h" = "no" &&
72 test "$ac_cv_header_ncurses_ncurses_h" = "no" &&
73 test "$ac_cv_header_curses_h" = "no"; then
74 AC_MSG_WARN([couldn't find a \`curses' header. Assuming \`curses.h'.])
75 AC_DEFINE(HAVE_CURSES_H)
77 AC_CHECK_FUNCS(wresize)
80 dnl --- *@-mdw_TYPE_SSIZE_T-@* ---
82 dnl Author: Mark Wooding
84 dnl Synopsis: mdw_TYPE_SSIZE_T
88 dnl Use: Checks whether the Posix type `ssize_t' is defined. If not,
89 dnl it defaults to `int'.
91 AC_DEFUN([mdw_TYPE_SSIZE_T],
92 [AC_REQUIRE([AC_HEADER_STDC])
93 AC_CACHE_CHECK(for ssize_t, mdw_cv_ssize_t,
94 [AC_EGREP_CPP(ssize_t,
95 [#include <sys/types.h>
103 [mdw_cv_ssize_t=yes], [mdw_cv_ssize_t=no])])
104 if test $mdw_cv_ssize_t = no; then
105 AC_DEFINE(ssize_t, int)
108 dnl --- *@-mdw_DECL_ENVIRON-@* ---
110 dnl Author: Mark Wooding
112 dnl Synopsis: mdw_DECL_ENVIRON
116 dnl Use: Searches for a declaration of the global `environ' variable.
117 dnl If one is found in one of the `usual' places, DECL_ENVIRON
118 dnl is defined as a preprocessor symbol.
120 AC_DEFUN([mdw_DECL_ENVIRON],
121 [AC_CACHE_CHECK([for declaration of \`environ'], mdw_cv_environ,
122 [AC_EGREP_CPP(environ,
123 [#include <sys/types.h>
130 #endif], [mdw_cv_environ=yes], [mdw_cv_environ=no])])
131 if test $mdw_cv_environ = yes; then
132 AC_DEFINE(DECL_ENVIRON)
135 dnl --- *@-mdw_CHECK_MANYLIBS-@* ---
137 dnl Author: Mark Wooding
139 dnl Synopsis: mdw_CHECK_MANYLIBS(FUNC, LIBS, [IF-FOUND], [IF-NOT-FOUND],
140 dnl [INCLUDES], [ARGS])
142 dnl Arguments: FUNC = a function to try to find
143 dnl LIBS = a whitespace-separated list of libraries to search
144 dnl IF-FOUND = what to do when the function is found
145 dnl IF-NOT-FOUND = what to do when the function isn't found
146 dnl INCLUDES = other include files to add
147 dnl ARGS = arguments to pass the function
149 dnl Use: Searches for a library which defines FUNC. It first tries
150 dnl without any libraries; then it tries each library specified
151 dnl in LIBS in turn. If it finds a match, it adds the
152 dnl appropriate library to `LIBS'.
154 dnl This is particularly handy under DIREIX: if you link with
155 dnl `-lnsl' then you get non-NIS-aware versions of getpwnam and
156 dnl so on, which is clearly a Bad Thing.
158 AC_DEFUN([mdw_CHECK_MANYLIBS],
159 [AC_CACHE_CHECK([for library containing $1], [mdw_cv_lib_$1],
160 [mdw_save_LIBS="$LIBS"
162 AC_TRY_LINK([$5], [$1($6)], [mdw_cv_lib_$1="none required"])
163 test "$mdw_cv_lib_$1" = "no" && for i in $2; do
164 LIBS="-l$i $mdw_save_LIBS"
165 AC_TRY_LINK([$5], [$1($6)],
166 [mdw_cv_lib_$1="-l$i"
169 LIBS="$mdw_save_LIBS"])
170 if test "$mdw_cv_lib_$1" != "no"; then
171 test "$mdw_cv_lib_$1" = "none required" || LIBS="$mdw_cv_lib_$1 $LIBS"
177 dnl --- *@-mdw__PYTHON_VERSION-@* ---
179 dnl Will fail hopelessly on Python < 1.5.2. Nobody uses that any more,
182 AC_DEFUN([mdw__PYTHON_VERSION],
183 [$1 -c 'from sys import *; v = argv[1]; vv = v.split("."); x = 0
184 for i in range(len(vv)): x = x | (int(vv[i]) << (24 - i * 8))
185 exit(x > hexversion)' $2])
187 dnl --- *@-mdw_PROG_PYTHON-@* ---
189 dnl Author: Mark Wooding
191 dnl Synopsis: mdw_PROG_PYTHON(VERSION, [IF-FOUND], [IF-NOT-FOUND])
193 dnl Arguments: VERSION = version number of Python required
194 dnl IF-FOUND = what to do if it's found
195 dnl IF-NOT-FOUND = what to do if it isn't
197 dnl Use: Attempts to find a working version of Python with a late
198 dnl enough version number. It supplies an option `--with-python'
199 dnl to allow the user to provide a Python interpreter. If one
200 dnl isn't provided explicitly, it searches for `python' and
201 dnl `pythonVERSION' in the current PATH, asking them whether they
202 dnl have a late enough version number. The path of the working
203 dnl Python is put into the `PYTHON' environment variable;
204 dnl `AC_SUBST' is used to substitute its value into Python
205 dnl scripts. If there is no Python to be found, the value of
206 dnl `PYTHON' is set to be `none'.
208 AC_DEFUN([mdw_PROG_PYTHON],
209 [AC_ARG_WITH([python],
210 [ --with-python=PYTHON specify path to Python version $1 or newer],
212 if test -z "$PYTHON"; then
213 [AC_CACHE_CHECK([for Python version $1 or later], mdw_cv_prog_python,
214 [mdw_cv_prog_python="none"
215 for p in `echo "$PATH:/usr/local/bin" | tr ":" " "`; do
216 case $p in /*) ;; *) p=`pwd`/$p ;; esac
217 if mdw__PYTHON_VERSION(["$p/python"], $1); then
218 mdw_cv_prog_python="$p/python"
221 if mdw__PYTHON_VERSION(["$p/python$1"], $1); then
222 mdw_cv_prog_python="$p/python$1"
226 PYTHON="$mdw_cv_prog_python"])
230 if test "$PYTHON" = "none"; then :
236 dnl --- *@-mdw_CHECK_PYTHON-@* ---
238 dnl Author: Mark Wooding
240 dnl Synopsis: mdw_CHECK_PYTHON(VERSION)
242 dnl Arguments: VERSION = version number of Python required
244 dnl Use: Verifies that the Python interpreter in the `PYTHON' shell
245 dnl variable actually works and is of the right version. If it's
246 dnl not, an error is raised and configuration is aborted.
248 AC_DEFUN([mdw_CHECK_PYTHON],
249 [mdw_REQUIRE([mdw_PROG_PYTHON], [$1])
250 AC_MSG_CHECKING([whether Python ($PYTHON) works])
251 if test "$PYTHON" != "none" && mdw__PYTHON_VERSION("$PYTHON", $1); then
255 AC_MSG_ERROR([Python version $1 or newer not found.
256 If you have a recent enough Python, and I just failed to find it, try using
257 the --with-python=PYTHON option to give me an explicit pathname.])
260 dnl --- *@-mdw__PERL_VERSION-@* ---
262 dnl AC_DEFUN relies on `[', `]' being quotes, so I have to drop down a level.
264 AC_DEFUN([mdw__PERL_VERSION], [mdw__PERL_VERSION_hack([$1], [$2])])
266 define(<<mdw__PERL_VERSION_hack>>, <<$1 -e 'exit ($] < $2);' >&5 2>&5>>)
269 dnl --- *@-mdw_PROG_PERL-@* ---
271 dnl Author: Mark Wooding
273 dnl Synopsis: mdw_PROG_PERL(VERSION, [IF-FOUND], [IF-NOT-FOUND])
275 dnl Arguments: VERSION = version number of Perl required
276 dnl IF-FOUND = what to do if it's found
277 dnl IF-NOT-FOUND = what to do if it isn't
279 dnl Use: Attempts to find a working version of Perl with a late
280 dnl enough version number. It supplies an option `--with-perl'
281 dnl to allow the user to provide a Perl interpreter. If one
282 dnl isn't provided explicitly, it searches for `perl' and `perl5'
283 dnl in the current PATH, asking them whether they have a late
284 dnl enough version number. The path of the working Perl is
285 dnl put into the `PERL' environment variable; `AC_SUBST' is used
286 dnl to substitute its value into Perl scripts. If there is no
287 dnl Perl to be found, the value of `PERL' is set to be `none'.
289 AC_DEFUN([mdw_PROG_PERL],
291 [ --with-perl=PERL specify path to Perl version $1 or newer],
293 if test -z "$PERL"; then
294 [AC_CACHE_CHECK([for Perl version $1 or later], mdw_cv_prog_perl,
295 [mdw_cv_prog_perl="none"
296 for p in `echo "$PATH:/usr/local/bin" | tr ":" " "`; do
297 case $p in /*) ;; *) p=`pwd`/$p ;; esac
298 if mdw__PERL_VERSION(["$p/perl"], $1); then
299 mdw_cv_prog_perl="$p/perl"
302 if mdw__PERL_VERSION(["$p/perl5"], $1); then
303 mdw_cv_prog_perl="$p/perl5"
307 PERL="$mdw_cv_prog_perl"])
311 if test "$PERL" = "none"; then :
317 dnl --- *@-mdw_CHECK_PERL-@* ---
319 dnl Author: Mark Wooding
321 dnl Synopsis: mdw_CHECK_PERL(VERSION)
323 dnl Arguments: VERSION = version number of Perl required
325 dnl Use: Verifies that the Perl interpreter in the `PERL' shell
326 dnl variable actually works and is of the right version. If it's
327 dnl not, an error is raised and configuration is aborted.
329 AC_DEFUN([mdw_CHECK_PERL],
330 [mdw_REQUIRE([mdw_PROG_PERL], [$1])
331 AC_MSG_CHECKING([whether Perl ($PERL) works])
332 if test "$PERL" != "none" && mdw__PERL_VERSION("$PERL", $1); then
336 AC_MSG_ERROR([Perl version $1 or newer not found.
337 If you have a recent enough Perl, and I just failed to find it, try using
338 the --with-perl=PERL option to give me an explicit pathname.])
341 dnl --- *@-mdw_PERLLIB_CHECK-@* ---
343 dnl Author: Mark Wooding
345 dnl Synopsis: mdw_PERLLIB_CHECK(LIBRARY)
347 dnl Arguments: LIBRARY = name of a Perl library to check for
349 dnl Use: Ensures that a Perl script can `use LIBRARY;'. If it can,
350 dnl all's well and good; if it can't, `LIBRARY.pm' is added to
351 dnl the variable `NEEDED_PERLLIBS' and a line which adds
352 dnl `pkgdatadir' to Perl's `@INC' array is placed in the
353 dnl variable `INC_PERLLIBS'; `AC_SUBST' is called for both of
354 dnl these variables. It's expected that `NEEDED_PERLLIBS' will
355 dnl be used in the `Makefile.in' to decide which versions from
356 dnl the distribution need installing.
358 dnl This macro isn't terribly useful in the general case. It
359 dnl Also implicitly assumes that `$PERL' is Perl 5 or later.
361 AC_DEFUN([mdw__PERLLIB_INIT],
362 [AC_SUBST(INC_PERLLIBS)dnl
363 AC_SUBST(NEEDED_PERLLIBS)dnl
366 AC_DEFUN([mdw_PERLLIB_CHECK],
367 [AC_REQUIRE([mdw__PERLLIB_INIT])
368 mdw_REQUIRE([mdw_CHECK_PERL], 5)
369 AC_CACHE_CHECK([for Perl library $1], mdw_cv_perllib_$1,
370 [if $PERL -e 'use $1;' >&5 2>&5; then
371 mdw_cv_perllib_$1="yes"
373 mdw_cv_perllib_$1="no"
376 if test "$mdw_cv_perllib_$1" = "no"; then
377 NEEDED_PERLLIBS="$NEEDED_PERLLIBS $1.pm"
379 # --- Deal with autoconf lossage ---
381 # It doesn't want to define `prefix' until rather later on, so I have
384 if test -z "$INC_PERLLIBS"; then
385 mdw_old_prefix="$prefix"
386 test "$prefix" = "NONE" && prefix="$ac_default_prefix";
387 INC_PERLLIBS="BEGIN { push @INC, \"`eval echo $datadir/$PACKAGE`\"; }"
388 prefix="$mdw_old_prefix";
392 dnl --- *@-mdw_GCC_FLAGS-@* ---
394 dnl Author: Mark Wooding
396 dnl Synopsis: mdw_GCC_FLAGS([FLAGS], [CFLAGS], [C++FLAGS])
398 dnl Arguments: FLAGS = GCC compiler flags to add (default is
399 dnl `-pedantic -Wall')
400 dnl CFLAGS = GCC C compiler flags to add (default is empty)
401 dnl C++FLAGS = GCC C++ compiler flags to add (default is
402 dnl `-fhandle-exceptions').
404 dnl Use: If the C compiler is GCC, add the compiler flags.
406 AC_DEFUN([mdw_GCC_FLAGS],
407 [if test "$GCC" = "yes"; then
408 CFLAGS="$CFLAGS ifelse([$1], [], [-pedantic -Wall], [$1])"
409 CFLAGS="$CFLAGS ifelse([$2], [], [], [$2])"
411 if test "$GXX" = "yes"; then
412 CXXFLAGS="$CXXFLAGS ifelse([$1], [], [-pedantic -Wall], [$1])"
413 CXXFLAGS="$CXXFLAGS ifelse([$3], [], [-fhandle-exceptions], [$3])"
416 dnl --- *@-mdw_INIT_LIB-@* ---
418 dnl Author: Mark Wooding
420 dnl Synopsis: mdw_INIT_LIB(LIB, NAME, VERSION, [PACKAGE])
422 dnl Arguments: LIB = the name of the library (and the package)
423 dnl NAME = a presentable version of the library's name
424 dnl VERSION = version of the library
425 dnl PACKAGE = package name to pass on to AM_INIT_AUTOMAKE
427 dnl Use: Sets up various useful variables. This macro calls
428 dnl AM_INIT_AUTOMAKE, which might be considered useful. It also
429 dnl provides variables for the use of `lib-config.in'.
431 AC_DEFUN([mdw_INIT_LIB],
432 [AM_INIT_AUTOMAKE(ifelse([$4], [], [$1], [$4]), [$3])
433 LIBRARY="$1" AC_SUBST(LIBRARY)
434 LIBNAME="$2" AC_SUBST(LIBNAME)])
436 dnl --- *@-mdw_LIB_CONFIG-@* ---
438 dnl Author: Mark Wooding
440 dnl Synopsis: mdw_LIB_CONFIG(LIB, NAME, VERSION, IF-FOUND, IF-NOT-FOUND)
442 dnl Arguments: LIB = the name of the library (and its configuration program)
443 dnl NAME = a presentable version of the library's name
444 dnl VERSION = version of library required
445 dnl IF-FOUND = what to do if found
446 dnl IF-NOT-FOUND = what to do if not found
448 dnl Use: Configures a library client program, using a configuration
449 dnl script provided by the library maintainer.
451 dnl The default version is 1.0.0pre0; the default action is to
452 dnl add everything to the CFLAGS and LIBS variables, and complain
453 dnl if the library couldn't be found.
455 dnl The variable LIB_VERSION contains the version number of
456 dnl the library; LIB_CFLAGS is the C compiler flags required
457 dnl and LIB_LIBS is the linker flags.
459 AC_DEFUN([mdw_LIB_CONFIG],
460 [pushdef([upname], translit([$1], [a-z], [A-Z]))dnl
461 AC_MSG_CHECKING([for $2 library])
462 if $1-config --check $3 >/dev/null 2>&1; then
463 upname[]_VERSION=`$1-config --version`
464 upname[]_CFLAGS=`$1-config --cflags`
465 upname[]_LIBS=`$1-config --libs`
466 AC_SUBST(upname[]_VERSION)
467 AC_SUBST(upname[]_CFLAGS)
468 AC_SUBST(upname[]_LIBS)
470 [CFLAGS="$CFLAGS $upname[]_CFLAGS"
471 LIBS="$upname[]_LIBS $LIBS"],
473 AC_MSG_RESULT([$upname[]_VERSION])
476 AC_MSG_ERROR([$2 library not found or too old.]),
478 AC_MSG_RESULT([not found])
482 dnl --- *@-mdw_MLIB-@* ---
484 dnl Author: Mark Wooding
486 dnl Synopsis: mdw_MLIB(VERSION, IF-FOUND, IF-NOT-FOUND
488 dnl Arguments: VERSION = version of library required
489 dnl IF-FOUND = what to do if found
490 dnl IF-NOT-FOUND = what to do if not found
492 dnl Use: Configures an mLib client program.
494 AC_DEFUN([mdw_MLIB], [mdw_LIB_CONFIG(mLib, mLib, $@)])
496 dnl --- *@-mdw_MGLIB-@* ---
498 dnl Author: Mark Wooding
500 dnl Synopsis: mdw_MGLIB(VERSION, IF-FOUND, IF-NOT-FOUND
502 dnl Arguments: VERSION = version of library required
503 dnl IF-FOUND = what to do if found
504 dnl IF-NOT-FOUND = what to do if not found
506 dnl Use: Configures an mgLib client program.
508 AC_DEFUN([mdw_MGLIB],
509 [mdw_REQUIRE([mdw_MLIB], [1.6.0])
510 mdw_LIB_CONFIG(mgLib, mgLib, $@)])
512 dnl --- *@-mdw_CATACOMB-@* ---
514 dnl Author: Mark Wooding
516 dnl Synopsis: mdw_CATACOMB([VERSION], [IF-FOUND], [IF-NOT-FOUND])
518 dnl Arguments: VERSION = version of Catacomb required
519 dnl IF-FOUND = what to do if found
520 dnl IF-NOT-FOUND = what to do if not found
522 dnl Use: Configures the program as a Catacomb client.
524 AC_DEFUN([mdw_CATACOMB],
525 [mdw_REQUIRE([mdw_MLIB], [1.6.0])
526 mdw_LIB_CONFIG(catacomb, Catacomb, $@)])
528 dnl --- *@-mdw_PK-@* ---
530 dnl Author: Mark Wooding
532 dnl Synopsis: mdw_PK([VERSION], [IF-FOUND], [IF-NOT-FOUND])
534 dnl Arguments: VERSION = version of PK required
535 dnl IF-FOUND = what to do if found
536 dnl IF-NOT-FOUND = what to do if not found
538 dnl Use: Configures the program as a PK client.
541 [mdw_REQUIRE([mdw_MLIB], [1.6.0])
542 mdw_LIB_CONFIG(pk, PK, $@)])
544 dnl --- *@-mdw_OPT_NDEBUG-@* ---
546 dnl Author: Mark Wooding
548 dnl Synopsis: mdw_OPT_NDEBUG
552 dnl Use: Turns on the `NDEBUG' flag, to disable useful things like
555 AC_DEFUN([mdw_OPT_NDEBUG],
556 [AC_ARG_ENABLE(debugging,
557 [ --disable-debugging spews vast swathes of useless information],
558 [if test "$enableval" = "no"; then
562 dnl --- *@-mdw_OPT_EFENCE-@* ---
564 dnl Author: Mark Wooding
566 dnl Synopsis: mdw_OPT_EFENCE
570 dnl Use: Links with the Electric Fence library.
572 AC_DEFUN([mdw_OPT_EFENCE],
573 [AC_ARG_WITH(electric-fence,
574 [ --with-electric-fence link programs with Electric Fence],
575 [if test "$withval" = "yes"; then
576 AC_CHECK_LIB(efence, malloc)
579 dnl --- *@-mdw_OPT_TRACE-@* ---
581 dnl Author: Mark Wooding
583 dnl Synopsis: mdw_OPT_TRACE
587 dnl Use: Turns on the `NTRACE' flag, to disable useful things like
590 AC_DEFUN([mdw_OPT_TRACE],
591 [AC_ARG_ENABLE(tracing,
592 [ --disable-tracing disable output of trace information],
593 [if test "$enableval" = "no"; then
597 dnl --- *@-mdw_OPT_mLib_TRACK-@* ---
599 dnl Author: Mark Wooding
601 dnl Synopsis: mdw_OPT_mLib_TRACK(PROGRAM)
603 dnl Arguments: PROGRAM = name of this program or package.
605 dnl Use: Controls the unsupported mLib memory tracker. The
606 dnl following are defined:
608 dnl --enable-track turns on malloc tracking
609 dnl --enable-blame-PROGRAM tracks malloc contexts in PROGRAM
611 dnl There must be a separate `blame' option for each program,
612 dnl so that the various blame options in a hierarchy get
613 dnl propagated properly. This is an obsolete feature from the
614 dnl days when mLib was provided as a subdirectory of other
617 AC_DEFUN([mdw_OPT_mLib_TRACK],
618 [AC_REQUIRE([mdw_OPT_TRACE])
620 [ --enable-track enable tracking of malloc and free],
621 [AC_DEFINE(TRACK_ENABLE, 1)])
622 AC_ARG_ENABLE(blame-$1,
624 track malloc contexts while in $1],
625 [AC_DEFINE(TRACK_BLAME, 1)])])
627 dnl --- *@-mdw_OPT_mLib_DEBUG-@* ---
629 dnl Author: Mark Wooding
631 dnl Synopsis: mdw_OPT_mLib_DEBUG(PROGRAM)
633 dnl Arguments: PROGRAM = name of this program or package.
635 dnl Use: Provides all of the above debugging options.
637 AC_DEFUN([mdw_OPT_mLib_DEBUG],
638 [mdw_REQUIRE([mdw_OPT_NDEBUG])
639 mdw_REQUIRE([mdw_OPT_mLib_TRACK], [$1])])
641 dnl --- *@-mdw_DEFINE_PATHS-@*
643 dnl Author: Mark Wooding
645 dnl Synopsis: mdw_DEFINE_FILES(CODE)
647 dnl Arguments: CODE = shell script code to execute
649 dnl Use: Fixes up various variables so that pathname defines can be
650 dnl defined. Within CODE, you may use the following macros:
652 dnl mdw_PROG(NAME) Transformed program name
654 dnl mdw_PATH(PATH) Expanded path (may contain variables)
656 dnl mdw_DEFINE_PROG(SYMBOL, PROG)
657 dnl Define a symbol as a transformed
660 dnl mdw_DEFINE_PATH(SYMBOL, NAME)
661 dnl Define a symbol as an expanded path
663 AC_DEFUN([mdw_DEFINE_PATHS],
664 [mdw_prefix=$prefix mdw_exec_prefix=$exec_prefix
665 mdw_transform=`echo "$program_transform_name"|sed 's,\\\\\\\\,\\\\,g; s,\\$\\$,$,g'`
666 test "$prefix" = "NONE" && prefix=$ac_default_prefix
667 test "$exec_prefix" = "NONE" && exec_prefix=$prefix
669 prefix=$mdw_prefix exec_prefix=$mdw_exec_prefix])
671 AC_DEFUN([mdw_PROG], [`echo "$1"|sed "$mdw_transform"`])
672 AC_DEFUN([mdw_PATH], [dnl
676 *\\$[]*) t=\`eval echo "$t"\`;; dnl
680 AC_DEFUN([mdw_DEFINE_PROG], [AC_DEFINE_UNQUOTED([$1], ["mdw_PROG([$2])"])])
681 AC_DEFUN([mdw_DEFINE_PATH], [AC_DEFINE_UNQUOTED([$1], ["mdw_PATH([$2])"])])
683 dnl --- *@-mdw_DIR_TEXMF-@* ---
685 dnl Author: Mark Wooding
687 dnl Synopsis: mdw_DIR_TEXMF
691 dnl Use: Sets the substitution `texmfdir' as a sensible TeX install
694 AC_DEFUN([mdw_DIR_TEXMF], [
695 AC_ARG_WITH([texmfdir],
696 [ --with-texmfdir=DIR set the TeX install directory to DIR],
698 [AC_MSG_CHECKING([where to put installed TeX files])
700 texmfdir='${datadir}/texmf'
702 '${datadir}/texmf' '${prefix}/lib/texmf' \
703 '${prefix}/texmf' '${libdir}/lib/texmf'; do
704 if test -d "mdw_PATH([$d])"; then
709 AC_MSG_RESULT([$texmfdir])])])
712 dnl --- *@-mdw_MANEXT-@* ---
714 dnl Author: Mark Wooding
716 dnl Synopsis: mdw_MANEXT
720 dnl Use: Sets the substitution `manext' for man page extensions.
722 AC_DEFUN([mdw_MANEXT], [
723 AC_ARG_WITH([man-ext],
724 [ --with-man-ext=EXT give manpages the EXT extension (e.g., foo.3EXT)],
725 [manext=$withval], [manext=mLib])
728 dnl----- That's all, folks --------------------------------- *@--GLOB-END--@*