summaryrefslogtreecommitdiffstats
path: root/aclocal.m4
diff options
context:
space:
mode:
Diffstat (limited to 'aclocal.m4')
-rw-r--r--aclocal.m4418
1 files changed, 396 insertions, 22 deletions
diff --git a/aclocal.m4 b/aclocal.m4
index f5b3c08..ebedd84 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,6 +1,80 @@
-# All fp_* macros are:
-# Copyright (C) 1992, 1994 Free Software Foundation, Inc.
-# Francois Pinard <pinard@iro.umontreal.ca>, 1992.
+# Local additions to Autoconf macros.
+# Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
+# François Pinard <pinard@iro.umontreal.ca>, 1992.
+
+AC_DEFUN(jm_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ if test $USE_MAINTAINER_MODE = yes; then
+ MAINT=
+ else
+ MAINT='#M#'
+ fi
+ AC_SUBST(MAINT)dnl
+]
+)
+
+AC_DEFUN(gm_DECL_SBRK,
+[AC_CACHE_CHECK(for sbrk declaration in unistd.h, ac_cv_decl_sbrk,
+[AC_EGREP_HEADER(sbrk, unistd.h,
+ ac_cv_decl_sbrk=yes, ac_cv_decl_sbrk=no)])
+if test $ac_cv_decl_sbrk = yes; then
+ AC_DEFINE(HAVE_DECL_SBRK)
+fi
+])
+
+AC_DEFUN(gm_DECL_SYS_ERRLIST,
+[AC_CACHE_CHECK(for sys_errlist declaration, ac_cv_decl_sys_errlist,
+[ac_cv_decl_sys_errlist=no
+ AC_EGREP_HEADER(sys_errlist, errno.h, ac_cv_decl_sys_errlist=yes)
+ AC_EGREP_HEADER(sys_errlist, stdio.h, ac_cv_decl_sys_errlist=yes)
+ AC_EGREP_HEADER(sys_errlist, error.h, ac_cv_decl_sys_errlist=yes)
+ ])
+if test $ac_cv_decl_sys_errlist = yes; then
+ AC_DEFINE(HAVE_DECL_SYS_ERRLIST)
+fi
+])
+
+
+## --------------------------------------------------------- ##
+## Use A*_PROG_INSTALL, supplementing it with INSTALL_SCRIPT ##
+## substitution. ##
+## --------------------------------------------------------- ##
+
+AC_DEFUN(fp_PROG_INSTALL,
+[AC_PROG_INSTALL
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL} -m 755'
+AC_SUBST(INSTALL_SCRIPT)dnl
+])
+
+## ------------------------------- ##
+## Check for function prototypes. ##
+## ------------------------------- ##
+
+AC_DEFUN(fp_C_PROTOTYPES,
+[AC_REQUIRE([fp_PROG_CC_STDC])
+AC_MSG_CHECKING([for function prototypes])
+if test "$ac_cv_prog_cc_stdc" != no; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(PROTOTYPES)
+ U= ANSI2KNR=
+else
+ AC_MSG_RESULT(no)
+ U=_ ANSI2KNR=./ansi2knr
+fi
+AC_SUBST(U)dnl
+AC_SUBST(ANSI2KNR)dnl
+])
+
+## ----------------------------------------- ##
+## ANSIfy the C compiler whenever possible. ##
+## ----------------------------------------- ##
# @defmac AC_PROG_CC_STDC
# @maindex PROG_CC_STDC
@@ -10,7 +84,7 @@
# options that select ANSI C on some system or another. It considers the
# compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and
# handles function prototypes correctly.
-#
+#
# If you use this macro, you should check after calling it whether the C
# compiler has been set to accept ANSI C; if not, the shell variable
# @code{ac_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
@@ -18,7 +92,7 @@
# program @code{ansi2knr}, which comes with Ghostscript.
# @end defmac
-define(fp_PROG_CC_STDC,
+AC_DEFUN(fp_PROG_CC_STDC,
[AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
AC_CACHE_VAL(ac_cv_prog_cc_stdc,
[ac_cv_prog_cc_stdc=no
@@ -28,15 +102,14 @@ ac_save_CFLAGS="$CFLAGS"
# AIX -qlanglvl=ansi
# Ultrix and OSF/1 -std1
# HP-UX -Aa -D_HPUX_SOURCE
-# CX/UX -Xa (-Xc is strict ANSI)
-# SVR4 -Xc
-for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xa -Xc
+# SVR4 -Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CFLAGS="$ac_save_CFLAGS $ac_arg"
AC_TRY_COMPILE(
[#if !defined(__STDC__) || __STDC__ != 1
choke me
-#endif
+#endif
], [int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};],
@@ -51,19 +124,320 @@ case "x$ac_cv_prog_cc_stdc" in
esac
])
-# Check for function prototypes.
+## -------------------------------------------- ##
+## Check if --with-regex was given. ##
+## Slightly modified version of fp_WITH_REGEX. ##
+## -------------------------------------------- ##
-AC_DEFUN(fp_C_PROTOTYPES,
-[AC_REQUIRE([fp_PROG_CC_STDC])
-AC_MSG_CHECKING([for function prototypes])
-if test "$ac_cv_prog_cc_stdc" != no; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(PROTOTYPES)
- U= ANSI2KNR=
-else
- AC_MSG_RESULT(no)
- U=_ ANSI2KNR=ansi2knr
+AC_DEFUN(ud_WITH_REGEX,
+[AC_MSG_CHECKING(which of rx or regex is wanted)
+AC_ARG_WITH(regex,
+[ --with-regex use older regex in lieu of GNU rx for matching],
+[if test "$withval" = yes; then
+ ac_with_regex=1
+ AC_MSG_RESULT(regex)
+ AC_DEFINE(WITH_REGEX)
+ REGEXOBJ=regex.o
+fi])
+if test -z "$ac_with_regex"; then
+ AC_MSG_RESULT(rx)
+ AC_CHECK_FUNC(re_rx_search, , [REGEXOBJ=rx.o])
fi
-AC_SUBST(U)dnl
-AC_SUBST(ANSI2KNR)dnl
+AC_SUBST(REGEXOBJ)dnl
+])
+
+dnl ------------------------
+dnl Emacs LISP file handling
+dnl ------------------------
+AC_DEFUN(ud_PATH_LISPDIR,
+ [AC_PATH_PROG(EMACS, emacs, no)
+ if test $EMACS != "no"; then
+ AC_MSG_CHECKING([where .elc files should go])
+ dnl Set default value
+ LISPDIR="\$(datadir)/emacs/site-lisp"
+ if test "x$prefix" = "xNONE"; then
+ if test -d $ac_default_prefix/share/emacs/site-lisp; then
+ LISPDIR="\$(prefix)/share/emacs/site-lisp"
+ else
+ if test -d $ac_default_prefix/lib/emacs/site-lisp; then
+ LISPDIR="\$(prefix)/lib/emacs/site-lisp"
+ fi
+ fi
+ else
+ if test -d $prefix/share/emacs/site-lisp; then
+ LISPDIR="\$(prefix)/share/emacs/site-lisp"
+ else
+ if test -d $prefix/lib/emacs/site-lisp; then
+ LISPDIR="\$(prefix)/lib/emacs/site-lisp"
+ fi
+ fi
+ fi
+ AC_MSG_RESULT($LISPDIR)
+ ELCFILES="\$(ELCFILES)"
+ fi
+ AC_SUBST(LISPDIR)
+ AC_SUBST(ELCFILES)])
+
+dnl --------------------------------------------------------- ##
+dnl The following definitions all have to go into the ##
+dnl aclocal.m4 files of the packages to be internationalized. ##
+dnl Last updated for gettext-0.10.11. ##
+dnl --------------------------------------------------------- ##
+
+AC_DEFUN(md_PATH_PROG,
+ [AC_PATH_PROG($1,$2,$3)dnl
+ if echo $$1 | grep openwin > /dev/null; then
+ echo "WARNING: Do not use OpenWin's $2. (Better remove it.)" >&AC_FD_MSG
+ ac_cv_path_$1=$2
+ $1=$2
+ fi
+])
+
+dnl Check NLS options
+
+AC_DEFUN(ud_LC_MESSAGES,
+ [if test $ac_cv_header_locale_h = yes; then
+ AC_CACHE_CHECK([for LC_MESSAGES], ud_cv_val_LC_MESSAGES,
+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+ ud_cv_val_LC_MESSAGES=yes, ud_cv_val_LC_MESSAGES=no)])
+ if test $ud_cv_val_LC_MESSAGES = yes; then
+ AC_DEFINE(HAVE_LC_MESSAGES)
+ fi
+ fi])
+
+AC_DEFUN(ud_WITH_NLS,
+ [AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE(nls,
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT($USE_NLS)
+ AC_SUBST(USE_NLS)
+
+ dnl If we use NLS figure out what method
+ if test "$USE_NLS" = "yes"; then
+ AC_DEFINE(ENABLE_NLS)
+ AC_MSG_CHECKING([for explicitly using GNU gettext])
+ AC_ARG_WITH(gnu-gettext,
+ [ --with-gnu-gettext use the GNU gettext library],
+ nls_cv_force_use_gnu_gettext=$withval,
+ nls_cv_force_use_gnu_gettext=no)
+ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+ dnl User does not insist on using GNU NLS library. Figure out what
+ dnl to use. If gettext or catgets are available (in this order) we
+ dnl use this. Else we have to fall back to GNU NLS library.
+ dnl catgets is only used if permitted by option --with-catgets.
+ nls_cv_header_intl=
+ nls_cv_header_libgt=
+ CATOBJEXT=NONE
+
+ AC_CHECK_HEADER(libintl.h,
+ [AC_CHECK_LIB(intl, main)
+ AC_CHECK_FUNC(gettext,
+ [AC_DEFINE(HAVE_GETTEXT)
+ md_PATH_PROG(MSGFMT, msgfmt, no)dnl
+ if test "$MSGFMT" != "no"; then
+ AC_CHECK_FUNCS(dcgettext)
+ md_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ md_PATH_PROG(XGETTEXT, xgettext, :)
+ CATOBJEXT=.mo
+ INSTOBJEXT=.mo
+ DATADIRNAME=lib
+ fi])])
+
+ if test "$CATOBJEXT" = "NONE"; then
+ AC_MSG_CHECKING([whether catgets can be used])
+ AC_ARG_WITH(catgets,
+ [ --with-catgets use catgets functions if available],
+ nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
+ AC_MSG_RESULT($nls_cv_use_catgets)
+
+ if test "$nls_cv_use_catgets" = "yes"; then
+ dnl No gettext in C library. Try catgets next.
+ AC_CHECK_LIB(i, main)
+ AC_CHECK_FUNC(catgets,
+ [AC_DEFINE(HAVE_CATGETS)
+ INTLOBJS="\$(CATOBJS)"
+ AC_PATH_PROG(GENCAT, gencat, no)dnl
+ if test "$GENCAT" != "no"; then
+ AC_PATH_PROGS(GMSGFMT, [gmsgfmt msgfmt], msgfmt)
+ md_PATH_PROG(XGETTEXT, xgettext, :)
+ CATOBJEXT=.cat
+ INSTOBJEXT=.cat
+ DATADIRNAME=lib
+ INTLDEPS="../intl/libintl.a"
+ INTLLIBS=$INTLDEPS
+ INTLSUB=intl
+ LIBS=`echo $LIBS | sed -e 's/-lintl//'`
+ nls_cv_header_intl=intl/libintl.h
+ nls_cv_header_libgt=intl/libgettext.h
+ fi])
+ fi
+ fi
+
+ if test "$CATOBJEXT" = "NONE"; then
+ dnl Neither gettext nor catgets in included in the C library.
+ dnl Fall back on GNU gettext library.
+ nls_cv_use_gnu_gettext=yes
+ fi
+ fi
+
+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions used to generate GNU NLS library.
+ INTLOBJS="\$(GETTOBJS)"
+ md_PATH_PROG(MSGFMT, msgfmt, msgfmt)
+ md_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ md_PATH_PROG(XGETTEXT, xgettext, :)
+ AC_SUBST(MSGFMT)
+ CATOBJEXT=.gmo
+ INSTOBJEXT=.mo
+ DATADIRNAME=share
+ INTLDEPS="../intl/libintl.a"
+ INTLLIBS=$INTLDEPS
+ INTLSUB=intl
+ LIBS=`echo $LIBS | sed -e 's/-lintl//'`
+ nls_cv_header_intl=intl/libintl.h
+ nls_cv_header_libgt=intl/libgettext.h
+ fi
+
+ dnl Test whether we really found GNU xgettext.
+ if test "$XGETTEXT" != ":"; then
+ dnl If it is no GNU xgettext we define it as : so that the
+ dnl Makefiles still can work.
+ if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+ : ;
+ else
+ AC_MSG_RESULT(
+ [found xgettext programs is not GNU xgettext; ignore it])
+ XGETTEXT=":"
+ fi
+ fi
+
+ # We need to process the po/ directory.
+ POSUB=po
+ else
+ DATADIRNAME=share
+ nls_cv_header_intl=intl/libintl.h
+ nls_cv_header_libgt=intl/libgettext.h
+ fi
+
+ dnl These rules are solely for the distribution goal. While doing this
+ dnl we only have to keep exactly one list of the available catalogs
+ dnl in configure.in.
+ for lang in $ALL_LINGUAS; do
+ GMOFILES="$GMOFILES $lang.gmo"
+ POFILES="$POFILES $lang.po"
+ done
+
+ dnl Make all variables we use known to autoconf.
+ AC_SUBST(CATALOGS)
+ AC_SUBST(CATOBJEXT)
+ AC_SUBST(DATADIRNAME)
+ AC_SUBST(GMOFILES)
+ AC_SUBST(INSTOBJEXT)
+ AC_SUBST(INTLDEPS)
+ AC_SUBST(INTLLIBS)
+ AC_SUBST(INTLOBJS)
+ AC_SUBST(INTLSUB)
+ AC_SUBST(POFILES)
+ AC_SUBST(POSUB)
+ ])
+
+AC_DEFUN(ud_GNU_GETTEXT,
+ [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_CC])dnl
+ AC_REQUIRE([AC_ISC_POSIX])dnl
+ AC_REQUIRE([AC_PROG_RANLIB])dnl
+ AC_REQUIRE([AC_HEADER_STDC])dnl
+ AC_REQUIRE([AC_C_CONST])dnl
+ AC_REQUIRE([AC_C_INLINE])dnl
+ AC_REQUIRE([AC_TYPE_OFF_T])dnl
+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+ AC_REQUIRE([AC_FUNC_MMAP])dnl
+
+ AC_CHECK_HEADERS([limits.h locale.h nl_types.h malloc.h string.h unistd.h values.h])
+ AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp])
+
+ if test "${ac_cv_func_stpcpy+set}" != "set"; then
+ AC_CHECK_FUNCS(stpcpy)
+ fi
+ if test "${ac_cv_func_stpcpy}" = "yes"; then
+ AC_DEFINE(HAVE_STPCPY)
+ fi
+
+ ud_LC_MESSAGES
+ ud_WITH_NLS
+
+ if test "x$CATOBJEXT" != "x"; then
+ if test "x$ALL_LINGUAS" = "x"; then
+ LINGUAS=
+ else
+ AC_MSG_CHECKING(for catalogs to be installed)
+ NEW_LINGUAS=
+ for lang in ${LINGUAS=$ALL_LINGUAS}; do
+ case "$ALL_LINGUAS" in
+ *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
+ esac
+ done
+ LINGUAS=$NEW_LINGUAS
+ AC_MSG_RESULT($LINGUAS)
+ fi
+
+ dnl Construct list of names of catalog files to be constructed.
+ if test -n "$LINGUAS"; then
+ for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+ fi
+ fi
+
+ dnl Determine which catalog format we have (if any is needed)
+ dnl For now we know about two different formats:
+ dnl Linux and the normal X/Open format
+ test -d intl || mkdir intl
+ if test "$CATOBJEXT" = ".cat"; then
+ AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
+
+ dnl Transform the SED scripts while copying because some dumb SEDs
+ dnl cannot handle comments.
+ sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
+ fi
+ dnl po2tbl.sed is always needed.
+ sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
+ $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
+
+ dnl Generate list of files to be processed by xgettext which will
+ dnl be included in po/Makefile.
+ test -d po || mkdir po
+ if test "x$srcdir" != "x."; then
+ if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
+ posrcprefix="$srcdir/"
+ else
+ posrcprefix="../$srcdir/"
+ fi
+ else
+ posrcprefix="../"
+ fi
+ sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
+ < $srcdir/po/POTFILES.in > po/POTFILES
+ ])
+
+dnl AC_REPLACE_GNU_GETOPT
+AC_DEFUN(AC_REPLACE_GNU_GETOPT,
+[AC_CHECK_FUNC(getopt_long, , [LIBOBJS="$LIBOBJS getopt1.o getopt.o"])
+AC_SUBST(LIBOBJS)dnl
+])
+
+dnl AC_REPLACE_OBSTACK
+AC_DEFUN(AC_REPLACE_OBSTACK,
+[AC_CACHE_CHECK([for obstacks], gt_cv_func_obstack,
+[AC_TRY_LINK([#include "obstack.h"],
+[struct obstack *mem;obstack_free(mem,NULL)],
+ gt_cv_func_obstack=yes, gt_cv_func_obstack=no)])
+if test $gt_cv_func_obstack = no; then
+ LIBOBJS="$LIBOBJS obstack.o"
+fi
+AC_SUBST(LIBOBJS)dnl
])