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_CURSES-@* ---
33 dnl Author: Mark Wooding
35 dnl Synopsis: mdw_CURSES
39 dnl Use: Searches for a `curses' library (one of `ncurses' or
40 dnl `curses') using mdw_CHECK_MANYLIBS. If one is found, the
41 dnl preprocessor macro HAVE_CURSES is defined, and a search is
42 dnl made for a `curses' header file (one of <ncurses.h>,
43 dnl <ncurses/ncurses.h> or <curses.h>) using AC_CHECK_HEADERS
44 dnl and the appropriate preprocessor symbol is defined.
45 dnl Finally, a check is made for the function `wresize' using
48 AC_DEFUN([mdw_CURSES],
49 [mdw_CHECK_MANYLIBS([newwin], [ncurses curses],
50 [AC_DEFINE([HAVE_CURSES],
51 [Define if you have a curses library.])])
52 if test $mdw_cv_lib_newwin != no; then
53 AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h curses.h], [break])
54 if test "$ac_cv_header_ncurses_h" = "no" &&
55 test "$ac_cv_header_ncurses_ncurses_h" = "no" &&
56 test "$ac_cv_header_curses_h" = "no"; then
57 AC_MSG_WARN([couldn't find a \`curses' header. Assuming \`curses.h'.])
58 AC_DEFINE([HAVE_CURSES_H], [1], [Define if you have a `curses.h' header.])
60 AC_CHECK_FUNCS(wresize)
63 dnl --- *@-mdw_TYPE_SSIZE_T-@* ---
65 dnl Author: Mark Wooding
67 dnl Synopsis: mdw_TYPE_SSIZE_T
71 dnl Use: Checks whether the Posix type `ssize_t' is defined. If not,
72 dnl it defaults to `int'.
74 AC_DEFUN([mdw_TYPE_SSIZE_T],
75 [AC_REQUIRE([AC_HEADER_STDC])
76 AC_CACHE_CHECK(for ssize_t, mdw_cv_ssize_t,
77 [AC_EGREP_CPP(ssize_t,
78 [#include <sys/types.h>
86 [mdw_cv_ssize_t=yes], [mdw_cv_ssize_t=no])])
87 if test $mdw_cv_ssize_t = no; then
88 AC_DEFINE([ssize_t], [int], [Define to `int' if your system doesn't have ssize_t.])
91 dnl --- *@-mdw_DECL_ENVIRON-@* ---
93 dnl Author: Mark Wooding
95 dnl Synopsis: mdw_DECL_ENVIRON
99 dnl Use: Searches for a declaration of the global `environ' variable.
100 dnl If one is found in one of the `usual' places, DECL_ENVIRON
101 dnl is defined as a preprocessor symbol.
103 AC_DEFUN([mdw_DECL_ENVIRON],
104 [AC_CACHE_CHECK([for declaration of \`environ'], mdw_cv_environ,
105 [AC_EGREP_CPP(environ,
106 [#include <sys/types.h>
113 #endif], [mdw_cv_environ=yes], [mdw_cv_environ=no])])
114 if test $mdw_cv_environ = yes; then
115 AC_DEFINE([DECL_ENVIRON], [1],
116 [Define if you have the `environ' vector of environment variables.])
119 dnl --- *@-mdw_CHECK_MANYLIBS-@* ---
121 dnl Author: Mark Wooding
123 dnl Synopsis: mdw_CHECK_MANYLIBS(FUNC, LIBS, [IF-FOUND], [IF-NOT-FOUND],
124 dnl [INCLUDES], [ARGS])
126 dnl Arguments: FUNC = a function to try to find
127 dnl LIBS = a whitespace-separated list of libraries to search
128 dnl IF-FOUND = what to do when the function is found
129 dnl IF-NOT-FOUND = what to do when the function isn't found
130 dnl INCLUDES = other include files to add
131 dnl ARGS = arguments to pass the function
133 dnl Use: Searches for a library which defines FUNC. It first tries
134 dnl without any libraries; then it tries each library specified
135 dnl in LIBS in turn. If it finds a match, it adds the
136 dnl appropriate library to `LIBS'.
138 dnl This is particularly handy under DIREIX: if you link with
139 dnl `-lnsl' then you get non-NIS-aware versions of getpwnam and
140 dnl so on, which is clearly a Bad Thing.
142 AC_DEFUN([mdw_CHECK_MANYLIBS],
143 [AC_CACHE_CHECK([for library containing $1], [mdw_cv_lib_$1],
144 [mdw_save_LIBS="$LIBS"
146 AC_TRY_LINK([$5], [$1($6)], [mdw_cv_lib_$1="none required"])
147 test "$mdw_cv_lib_$1" = "no" && for i in $2; do
148 LIBS="-l$i $mdw_save_LIBS"
149 AC_TRY_LINK([$5], [$1($6)],
150 [mdw_cv_lib_$1="-l$i"
153 LIBS="$mdw_save_LIBS"])
154 if test "$mdw_cv_lib_$1" != "no"; then
155 test "$mdw_cv_lib_$1" = "none required" || LIBS="$mdw_cv_lib_$1 $LIBS"
161 dnl --- *@-mdw__PYTHON_VERSION-@* ---
163 dnl Will fail hopelessly on Python < 1.5.2. Nobody uses that any more,
166 AC_DEFUN([mdw__PYTHON_VERSION],
167 [$1 -c 'from sys import *; v = argv[1]; vv = v.split("."); x = 0
168 for i in range(len(vv)): x = x | (int(vv[i]) << (24 - i * 8))
169 exit(x > hexversion)' $2])
171 dnl --- *@-mdw_PROG_PYTHON-@* ---
173 dnl Author: Mark Wooding
175 dnl Synopsis: mdw_PROG_PYTHON(VERSION, [IF-FOUND], [IF-NOT-FOUND])
177 dnl Arguments: VERSION = version number of Python required
178 dnl IF-FOUND = what to do if it's found
179 dnl IF-NOT-FOUND = what to do if it isn't
181 dnl Use: Attempts to find a working version of Python with a late
182 dnl enough version number. It supplies an option `--with-python'
183 dnl to allow the user to provide a Python interpreter. If one
184 dnl isn't provided explicitly, it searches for `python' and
185 dnl `pythonVERSION' in the current PATH, asking them whether they
186 dnl have a late enough version number. The path of the working
187 dnl Python is put into the `PYTHON' environment variable;
188 dnl `AC_SUBST' is used to substitute its value into Python
189 dnl scripts. If there is no Python to be found, the value of
190 dnl `PYTHON' is set to be `none'.
192 AC_DEFUN([mdw_PROG_PYTHON],
193 [AC_ARG_WITH([python],
194 [ --with-python=PYTHON specify path to Python version $1 or newer],
196 if test -z "$PYTHON"; then
197 [AC_CACHE_CHECK([for Python version $1 or later], mdw_cv_prog_python,
198 [mdw_cv_prog_python="none"
199 for p in `echo "$PATH:/usr/local/bin" | tr ":" " "`; do
200 case $p in /*) ;; *) p=`pwd`/$p ;; esac
201 if mdw__PYTHON_VERSION(["$p/python"], $1); then
202 mdw_cv_prog_python="$p/python"
205 if mdw__PYTHON_VERSION(["$p/python$1"], $1); then
206 mdw_cv_prog_python="$p/python$1"
210 PYTHON="$mdw_cv_prog_python"])
214 if test "$PYTHON" = "none"; then :
220 dnl --- *@-mdw_CHECK_PYTHON-@* ---
222 dnl Author: Mark Wooding
224 dnl Synopsis: mdw_CHECK_PYTHON(VERSION)
226 dnl Arguments: VERSION = version number of Python required
228 dnl Use: Verifies that the Python interpreter in the `PYTHON' shell
229 dnl variable actually works and is of the right version. If it's
230 dnl not, an error is raised and configuration is aborted.
232 AC_DEFUN([mdw_CHECK_PYTHON],
233 [mdw_REQUIRE([mdw_PROG_PYTHON], [mdw_PROG_PYTHON([$1])])
234 AC_MSG_CHECKING([whether Python ($PYTHON) works])
235 if test "$PYTHON" != "none" && mdw__PYTHON_VERSION("$PYTHON", $1); then
239 AC_MSG_ERROR([Python version $1 or newer not found.
240 If you have a recent enough Python, and I just failed to find it, try using
241 the --with-python=PYTHON option to give me an explicit pathname.])
244 dnl --- *@-mdw__PERL_VERSION-@* ---
246 dnl AC_DEFUN relies on `[', `]' being quotes, so I have to drop down a level.
248 AC_DEFUN([mdw__PERL_VERSION], [mdw__PERL_VERSION_hack([$1], [$2])])
250 define(<<mdw__PERL_VERSION_hack>>, <<$1 -e 'exit ($] < $2);' >&5 2>&5>>)
253 dnl --- *@-mdw_PROG_PERL-@* ---
255 dnl Author: Mark Wooding
257 dnl Synopsis: mdw_PROG_PERL(VERSION, [IF-FOUND], [IF-NOT-FOUND])
259 dnl Arguments: VERSION = version number of Perl required
260 dnl IF-FOUND = what to do if it's found
261 dnl IF-NOT-FOUND = what to do if it isn't
263 dnl Use: Attempts to find a working version of Perl with a late
264 dnl enough version number. It supplies an option `--with-perl'
265 dnl to allow the user to provide a Perl interpreter. If one
266 dnl isn't provided explicitly, it searches for `perl' and `perl5'
267 dnl in the current PATH, asking them whether they have a late
268 dnl enough version number. The path of the working Perl is
269 dnl put into the `PERL' environment variable; `AC_SUBST' is used
270 dnl to substitute its value into Perl scripts. If there is no
271 dnl Perl to be found, the value of `PERL' is set to be `none'.
273 AC_DEFUN([mdw_PROG_PERL],
275 [ --with-perl=PERL specify path to Perl version $1 or newer],
277 if test -z "$PERL"; then
278 [AC_CACHE_CHECK([for Perl version $1 or later], mdw_cv_prog_perl,
279 [mdw_cv_prog_perl="none"
280 for p in `echo "$PATH:/usr/local/bin" | tr ":" " "`; do
281 case $p in /*) ;; *) p=`pwd`/$p ;; esac
282 if mdw__PERL_VERSION(["$p/perl"], $1); then
283 mdw_cv_prog_perl="$p/perl"
286 if mdw__PERL_VERSION(["$p/perl5"], $1); then
287 mdw_cv_prog_perl="$p/perl5"
291 PERL="$mdw_cv_prog_perl"])
295 if test "$PERL" = "none"; then :
301 dnl --- *@-mdw_CHECK_PERL-@* ---
303 dnl Author: Mark Wooding
305 dnl Synopsis: mdw_CHECK_PERL(VERSION)
307 dnl Arguments: VERSION = version number of Perl required
309 dnl Use: Verifies that the Perl interpreter in the `PERL' shell
310 dnl variable actually works and is of the right version. If it's
311 dnl not, an error is raised and configuration is aborted.
313 AC_DEFUN([mdw_CHECK_PERL],
314 [mdw_REQUIRE([mdw_PROG_PERL], [mdw_PROG_PERL([$1])])
315 AC_MSG_CHECKING([whether Perl ($PERL) works])
316 if test "$PERL" != "none" && mdw__PERL_VERSION("$PERL", $1); then
320 AC_MSG_ERROR([Perl version $1 or newer not found.
321 If you have a recent enough Perl, and I just failed to find it, try using
322 the --with-perl=PERL option to give me an explicit pathname.])
325 dnl --- *@-mdw_PERLLIB_CHECK-@* ---
327 dnl Author: Mark Wooding
329 dnl Synopsis: mdw_PERLLIB_CHECK(LIBRARY)
331 dnl Arguments: LIBRARY = name of a Perl library to check for
333 dnl Use: Ensures that a Perl script can `use LIBRARY;'. If it can,
334 dnl all's well and good; if it can't, `LIBRARY.pm' is added to
335 dnl the variable `NEEDED_PERLLIBS' and a line which adds
336 dnl `pkgdatadir' to Perl's `@INC' array is placed in the
337 dnl variable `INC_PERLLIBS'; `AC_SUBST' is called for both of
338 dnl these variables. It's expected that `NEEDED_PERLLIBS' will
339 dnl be used in the `Makefile.in' to decide which versions from
340 dnl the distribution need installing.
342 dnl This macro isn't terribly useful in the general case. It
343 dnl Also implicitly assumes that `$PERL' is Perl 5 or later.
345 AC_DEFUN([mdw__PERLLIB_INIT],
346 [AC_SUBST(INC_PERLLIBS)dnl
347 AC_SUBST(NEEDED_PERLLIBS)dnl
350 AC_DEFUN([mdw_PERLLIB_CHECK],
351 [AC_REQUIRE([mdw__PERLLIB_INIT])
352 mdw_REQUIRE([mdw_CHECK_PERL], [mdw_PROG_PERL([5])])
353 AC_CACHE_CHECK([for Perl library $1], mdw_cv_perllib_$1,
354 [if $PERL -e 'use $1;' >&5 2>&5; then
355 mdw_cv_perllib_$1="yes"
357 mdw_cv_perllib_$1="no"
360 if test "$mdw_cv_perllib_$1" = "no"; then
361 NEEDED_PERLLIBS="$NEEDED_PERLLIBS $1.pm"
363 # --- Deal with autoconf lossage ---
365 # It doesn't want to define `prefix' until rather later on, so I have
368 if test -z "$INC_PERLLIBS"; then
369 mdw_old_prefix="$prefix"
370 test "$prefix" = "NONE" && prefix="$ac_default_prefix";
371 INC_PERLLIBS="BEGIN { push @INC, \"`eval echo $datadir/$PACKAGE`\"; }"
372 prefix="$mdw_old_prefix";
376 dnl --- *@-mdw_GCC_FLAGS-@* ---
378 dnl Author: Mark Wooding
380 dnl Synopsis: mdw_GCC_FLAGS([FLAGS], [CFLAGS], [C++FLAGS])
382 dnl Arguments: FLAGS = GCC compiler flags to add (default is
383 dnl `-pedantic -Wall')
384 dnl CFLAGS = GCC C compiler flags to add (default is empty)
385 dnl C++FLAGS = GCC C++ compiler flags to add (default is
386 dnl `-fhandle-exceptions').
388 dnl Use: If the C compiler is GCC, add the compiler flags.
390 AC_DEFUN([mdw_GCC_FLAGS],
391 [if test "$GCC" = "yes"; then
392 CFLAGS="$CFLAGS ifelse([$1], [], [-pedantic -Wall], [$1])"
393 CFLAGS="$CFLAGS ifelse([$2], [], [], [$2])"
395 if test "$GXX" = "yes"; then
396 CXXFLAGS="$CXXFLAGS ifelse([$1], [], [-pedantic -Wall], [$1])"
397 CXXFLAGS="$CXXFLAGS ifelse([$3], [], [-fhandle-exceptions], [$3])"
400 dnl --- *@-mdw_INIT_LIB-@* ---
402 dnl Author: Mark Wooding
404 dnl Synopsis: mdw_INIT_LIB(LIB, NAME, VERSION, [PACKAGE])
406 dnl Arguments: LIB = the name of the library (and the package)
407 dnl NAME = a presentable version of the library's name
408 dnl VERSION = version of the library
409 dnl PACKAGE = package name to pass on to AM_INIT_AUTOMAKE
411 dnl Use: Sets up various useful variables. This macro calls
412 dnl AM_INIT_AUTOMAKE, which might be considered useful. It also
413 dnl provides variables for the use of `lib-config.in'.
415 AC_DEFUN([mdw_INIT_LIB],
416 [AM_INIT_AUTOMAKE(ifelse([$4], [], [$1], [$4]), [$3])
417 LIBRARY="$1" AC_SUBST(LIBRARY)
418 LIBNAME="$2" AC_SUBST(LIBNAME)])
420 dnl --- *@-mdw_LIB_CONFIG-@* ---
422 dnl Author: Mark Wooding
424 dnl Synopsis: mdw_LIB_CONFIG(LIB, NAME, VERSION, IF-FOUND, IF-NOT-FOUND)
426 dnl Arguments: LIB = the name of the library (and its configuration program)
427 dnl NAME = a presentable version of the library's name
428 dnl VERSION = version of library required
429 dnl IF-FOUND = what to do if found
430 dnl IF-NOT-FOUND = what to do if not found
432 dnl Use: Configures a library client program, using a configuration
433 dnl script provided by the library maintainer.
435 dnl The default version is 1.0.0pre0; the default action is to
436 dnl add everything to the CFLAGS and LIBS variables, and complain
437 dnl if the library couldn't be found.
439 dnl The variable LIB_VERSION contains the version number of
440 dnl the library; LIB_CFLAGS is the C compiler flags required
441 dnl and LIB_LIBS is the linker flags.
443 AC_DEFUN([mdw_LIB_CONFIG],
444 [pushdef([upname], translit([$1], [a-z], [A-Z]))dnl
445 AC_MSG_CHECKING([for $2 library])
446 if $1-config --check $3 >/dev/null 2>&1; then
447 upname[]_VERSION=`$1-config --version`
448 upname[]_CFLAGS=`$1-config --cflags`
449 upname[]_LIBS=`$1-config --libs`
450 AC_SUBST(upname[]_VERSION)
451 AC_SUBST(upname[]_CFLAGS)
452 AC_SUBST(upname[]_LIBS)
454 [CFLAGS="$CFLAGS $upname[]_CFLAGS"
455 LIBS="$upname[]_LIBS $LIBS"],
457 AC_MSG_RESULT([$upname[]_VERSION])
460 AC_MSG_ERROR([$2 library not found or too old.]),
462 AC_MSG_RESULT([not found])
466 dnl --- *@-mdw_MLIB-@* ---
468 dnl Author: Mark Wooding
470 dnl Synopsis: mdw_MLIB(VERSION, IF-FOUND, IF-NOT-FOUND
472 dnl Arguments: VERSION = version of library required
473 dnl IF-FOUND = what to do if found
474 dnl IF-NOT-FOUND = what to do if not found
476 dnl Use: Configures an mLib client program.
478 AC_DEFUN([mdw_MLIB], [mdw_LIB_CONFIG(mLib, mLib, $@)])
480 dnl --- *@-mdw_MGLIB-@* ---
482 dnl Author: Mark Wooding
484 dnl Synopsis: mdw_MGLIB(VERSION, IF-FOUND, IF-NOT-FOUND
486 dnl Arguments: VERSION = version of library required
487 dnl IF-FOUND = what to do if found
488 dnl IF-NOT-FOUND = what to do if not found
490 dnl Use: Configures an mgLib client program.
492 AC_DEFUN([mdw_MGLIB],
493 [mdw_REQUIRE([mdw_MLIB], [mdw_MLIB([2.0.3])])
494 mdw_LIB_CONFIG(mgLib, mgLib, $@)])
496 dnl --- *@-mdw_CATACOMB-@* ---
498 dnl Author: Mark Wooding
500 dnl Synopsis: mdw_CATACOMB([VERSION], [IF-FOUND], [IF-NOT-FOUND])
502 dnl Arguments: VERSION = version of Catacomb 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 the program as a Catacomb client.
508 AC_DEFUN([mdw_CATACOMB],
509 [mdw_REQUIRE([mdw_MLIB], [mdw_MLIB([2.0.3])])
510 mdw_LIB_CONFIG(catacomb, Catacomb, $@)])
512 dnl --- *@-mdw_PK-@* ---
514 dnl Author: Mark Wooding
516 dnl Synopsis: mdw_PK([VERSION], [IF-FOUND], [IF-NOT-FOUND])
518 dnl Arguments: VERSION = version of PK 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 PK client.
525 [mdw_REQUIRE([mdw_MLIB], [mdw_MLIB([2.0.3])])
526 mdw_LIB_CONFIG(pk, PK, $@)])
528 dnl --- *@-mdw_OPT_NDEBUG-@* ---
530 dnl Author: Mark Wooding
532 dnl Synopsis: mdw_OPT_NDEBUG
536 dnl Use: Turns on the `NDEBUG' flag, to disable useful things like
539 AC_DEFUN([mdw_OPT_NDEBUG],
540 [AC_ARG_ENABLE(debugging,
541 [ --disable-debugging spews vast swathes of useless information],
542 [if test "$enableval" = "no"; then
543 AC_DEFINE([NDEBUG], [1],
544 [Define to turn off assertions and other debugging. Not recommended.])
547 dnl --- *@-mdw_OPT_EFENCE-@* ---
549 dnl Author: Mark Wooding
551 dnl Synopsis: mdw_OPT_EFENCE
555 dnl Use: Links with the Electric Fence library.
557 AC_DEFUN([mdw_OPT_EFENCE],
558 [AC_ARG_WITH(electric-fence,
559 [ --with-electric-fence link programs with Electric Fence],
560 [if test "$withval" = "yes"; then
561 AC_CHECK_LIB(efence, malloc)
564 dnl --- *@-mdw_OPT_TRACE-@* ---
566 dnl Author: Mark Wooding
568 dnl Synopsis: mdw_OPT_TRACE
572 dnl Use: Turns on the `NTRACE' flag, to disable useful things like
575 AC_DEFUN([mdw_OPT_TRACE],
576 [AC_ARG_ENABLE(tracing,
577 [ --disable-tracing disable output of trace information],
578 [if test "$enableval" = "no"; then
579 AC_DEFINE([NTRACE], [1], [Define to turn off tracing.])
582 dnl --- *@-mdw_OPT_mLib_TRACK-@* ---
584 dnl Author: Mark Wooding
586 dnl Synopsis: mdw_OPT_mLib_TRACK(PROGRAM)
588 dnl Arguments: PROGRAM = name of this program or package.
590 dnl Use: Controls the unsupported mLib memory tracker. The
591 dnl following are defined:
593 dnl --enable-track turns on malloc tracking
594 dnl --enable-blame-PROGRAM tracks malloc contexts in PROGRAM
596 dnl There must be a separate `blame' option for each program,
597 dnl so that the various blame options in a hierarchy get
598 dnl propagated properly. This is an obsolete feature from the
599 dnl days when mLib was provided as a subdirectory of other
602 AC_DEFUN([mdw_OPT_mLib_TRACK],
603 [AC_REQUIRE([mdw_OPT_TRACE])
605 [ --enable-track enable tracking of malloc and free],
606 [AC_DEFINE([TRACK_ENABLE], [1],
607 [Define to turn on memory tracking. Doesn't work properly.])])
608 AC_ARG_ENABLE(blame-$1,
610 track malloc contexts while in $1],
611 [AC_DEFINE([TRACK_BLAME], [1],
612 [Define to track mallocs in this code.])])])
614 dnl --- *@-mdw_OPT_mLib_DEBUG-@* ---
616 dnl Author: Mark Wooding
618 dnl Synopsis: mdw_OPT_mLib_DEBUG(PROGRAM)
620 dnl Arguments: PROGRAM = name of this program or package.
622 dnl Use: Provides all of the above debugging options.
624 AC_DEFUN([mdw_OPT_mLib_DEBUG],
625 [AC_REQUIRE([mdw_OPT_NDEBUG])
626 AC_REQUIRE([mdw_OPT_mLib_TRACK], [mdw_OPT_mLib_TRACK([$1])])])
628 dnl --- *@-mdw_DEFINE_PATHS-@*
630 dnl Author: Mark Wooding
632 dnl Synopsis: mdw_DEFINE_PATHS(CODE)
634 dnl Arguments: CODE = shell script code to execute
636 dnl Use: Fixes up various variables so that pathname defines can be
637 dnl defined. Within CODE, you may use the following macros:
639 dnl mdw_PROG(NAME) Transformed program name
641 dnl mdw_PATH(PATH) Expanded path (may contain variables)
643 dnl mdw_DEFINE_PROG(SYMBOL, PROG)
644 dnl Define a symbol as a transformed
647 dnl mdw_DEFINE_PATH(SYMBOL, NAME)
648 dnl Define a symbol as an expanded path
650 AC_DEFUN([mdw_DEFINE_PATHS],
651 [mdw_prefix=$prefix mdw_exec_prefix=$exec_prefix
652 mdw_transform=`echo "$program_transform_name"|sed 's,\\\\\\\\,\\\\,g; s,\\$\\$,$,g'`
653 test "$prefix" = "NONE" && prefix=$ac_default_prefix
654 test "$exec_prefix" = "NONE" && exec_prefix=$prefix
656 prefix=$mdw_prefix exec_prefix=$mdw_exec_prefix])
658 AC_DEFUN([mdw_PROG], [`echo "$1"|sed "$mdw_transform"`])
659 AC_DEFUN([mdw_PATH], [dnl
663 *\\$[]*) t=\`eval echo "$t"\`;; dnl
667 AC_DEFUN([mdw_DEFINE_PROG],
668 [AC_DEFINE_UNQUOTED([$1], ["mdw_PROG([$2])"],
669 [Program name for $2.])])
670 AC_DEFUN([mdw_DEFINE_PATH], [AC_DEFINE_UNQUOTED([$1], ["mdw_PATH([$2])"],
671 [Pathname for $2.])])
673 dnl --- *@-mdw_DIR_TEXMF-@* ---
675 dnl Author: Mark Wooding
677 dnl Synopsis: mdw_DIR_TEXMF
681 dnl Use: Sets the substitution `texmfdir' as a sensible TeX install
684 AC_DEFUN([mdw_DIR_TEXMF], [
685 AC_ARG_WITH([texmfdir],
686 [ --with-texmfdir=DIR set the TeX install directory to DIR],
688 [AC_MSG_CHECKING([where to put installed TeX files])
690 texmfdir='${datadir}/texmf'
692 '${datadir}/texmf' '${prefix}/lib/texmf' \
693 '${prefix}/texmf' '${libdir}/lib/texmf'; do
694 if test -d "mdw_PATH([$d])"; then
699 AC_MSG_RESULT([$texmfdir])])])
702 dnl --- *@-mdw_MANEXT-@* ---
704 dnl Author: Mark Wooding
706 dnl Synopsis: mdw_MANEXT
710 dnl Use: Sets the substitution `manext' for man page extensions.
712 AC_DEFUN([mdw_MANEXT], [
713 AC_ARG_WITH([man-ext],
714 [ --with-man-ext=EXT give manpages the EXT extension (e.g., foo.3EXT)],
715 [manext=$withval], [manext=mLib])
718 dnl----- That's all, folks --------------------------------- *@--GLOB-END--@*