Merge a pointless head that got away.
# aclocal.m4 - Local additions to Autoconf macros.
# Copyright (C) 1995 - 2006 Michael Riepe
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# @(#) $Id: aclocal.m4,v 1.27 2007/09/07 12:07:59 michael Exp $
AC_PREREQ(2.13)
dnl mr_PACKAGE(package-name)
AC_DEFUN(mr_PACKAGE, [changequote(<<, >>)dnl
changequote([, ])dnl
PACKAGE=$1
VERSION=`cat $srcdir/VERSION`
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_ARG_ENABLE(maintainer-mode,
[ --enable-maintainer-mode
enable maintainer-specific make rules (default: auto)],
[mr_enable_maintainer_mode="$enableval"],
[case :${I_AM_THE_MAINTAINER_OF}: in
*:$1:*) mr_enable_maintainer_mode=yes;;
*) mr_enable_maintainer_mode=no;;
esac])
if test x"$mr_enable_maintainer_mode" = x"yes"; then
MAINT=
else
MAINT='maintainer-only-'
fi
AC_SUBST(MAINT)
])
AC_DEFUN(mr_ENABLE_NLS, [
AC_PROVIDE([$0])
# Needed for `make dist' even if NLS is disabled.
GMOFILES=
MSGFILES=
POFILES=
for mr_lang in $ALL_LINGUAS; do
GMOFILES="$GMOFILES $mr_lang.gmo"
MSGFILES="$MSGFILES $mr_lang.msg"
POFILES="$POFILES $mr_lang.po"
done
AC_SUBST(GMOFILES)
AC_SUBST(MSGFILES)
AC_SUBST(POFILES)
AC_MSG_CHECKING([whether NLS is requested])
AC_ARG_ENABLE(nls,
[ --enable-nls use Native Language Support (default: yes)],
[mr_enable_nls="$enableval"],
[mr_enable_nls=yes])
AC_MSG_RESULT($mr_enable_nls)
CATOBJEXT=
INSTOBJEXT=
localedir=
if test "$mr_enable_nls" = yes; then
mr_PATH=`echo ":$PATH" | sed -e 's,:[^:]*openwin[^:]*,,g' -e 's,^:,,'`
AC_CACHE_CHECK([for dgettext],
mr_cv_func_dgettext, [
AC_TRY_LINK([#include <libintl.h>],
[char *s = dgettext("", ""); return 0],
[mr_cv_func_dgettext=yes],
[mr_cv_func_dgettext=no])
])
if test "$mr_cv_func_dgettext" = yes; then
AC_PATH_PROG(MSGFMT, msgfmt, no, $mr_PATH)
if test "$MSGFMT" != no; then
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT, $mr_PATH)
AC_PATH_PROG(XGETTEXT, xgettext, xgettext, $mr_PATH)
AC_PATH_PROG(MSGMERGE, msgmerge, msgmerge, $mr_PATH)
AC_CACHE_CHECK([for GNU gettext],
mr_cv_gnu_gettext, [
AC_TRY_LINK([],
[extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr],
[mr_cv_gnu_gettext=yes],
[mr_cv_gnu_gettext=no])
])
if test "$mr_cv_gnu_gettext" = yes; then
AC_CACHE_CHECK([for losing catgets-based GNU gettext],
mr_cv_catgets_based_gettext, [
AC_TRY_LINK([],
[extern int _msg_tbl_length; return _msg_tbl_length],
[mr_cv_catgets_based_gettext=yes],
[mr_cv_catgets_based_gettext=no])
])
if test "$mr_cv_catgets_based_gettext" = yes; then
# This loses completely. Turn it off and use catgets.
LIBS=`echo $LIBS | sed 's,-lintl,,g'`
mr_cv_func_dgettext=no
else
# Is there a better test for this case?
AC_CACHE_CHECK([for pure GNU gettext],
mr_cv_pure_gnu_gettext, [
AC_TRY_LINK([],
[extern int gettext(); return gettext()],
[mr_cv_pure_gnu_gettext=yes],
[mr_cv_pure_gnu_gettext=no])
])
if test "$mr_cv_pure_gnu_gettext" = yes; then
CATOBJEXT=.gmo
localedir='$(prefix)/share/locale'
else
CATOBJEXT=.mo
localedir='$(prefix)/lib/locale'
fi
INSTOBJEXT=.mo
fi
else
# System provided gettext
CATOBJEXT=.mo
INSTOBJEXT=.mo
localedir='$(prefix)/lib/locale'
fi
else
# Gettext but no msgfmt. Try catgets.
mr_cv_func_dgettext=no
fi
fi
if test "$mr_cv_func_dgettext" = yes; then
AC_DEFINE(HAVE_DGETTEXT)
else
AC_CACHE_CHECK([for catgets], mr_cv_func_catgets, [
AC_TRY_LINK([#include <nl_types.h>],
[catgets(catopen("",0),0,0,"");return 0;],
[mr_cv_func_catgets=yes],
[mr_cv_func_catgets=no])
])
if test "$mr_cv_func_catgets" = yes; then
AC_PATH_PROG(GENCAT, gencat, no, $mr_PATH)
if test "$GENCAT" != no; then
AC_DEFINE(HAVE_CATGETS)
AC_PATH_PROG(GMSGFMT, [gmsgfmt msgfmt], msgfmt, $mr_PATH)
AC_PATH_PROG(XGETTEXT, xgettext, xgettext, $mr_PATH)
CATOBJEXT=.cat
INSTOBJEXT=.cat
localedir='$(prefix)/lib/locale'
fi
else
AC_MSG_WARN([no NLS support, disabled])
mr_enable_nls=no
fi
fi
fi
AC_SUBST(CATOBJEXT)
AC_SUBST(INSTOBJEXT)
AC_SUBST(localedir)
POSUB=
CATALOGS=
if test "$mr_enable_nls" = yes; then
AC_MSG_CHECKING([for catalogs to be installed])
mr_linguas=
for mr_lang in ${LINGUAS=$ALL_LINGUAS}; do
case " $ALL_LINGUAS " in
*" $mr_lang "*)
mr_linguas="$mr_linguas$mr_lang "
CATALOGS="$CATALOGS $mr_lang$CATOBJEXT"
;;
esac
done
AC_MSG_RESULT($mr_linguas)
POSUB=po
fi
AC_SUBST(CATALOGS)
AC_SUBST(POSUB)
])
AC_DEFUN(mr_TARGET_ELF, [
AC_PROVIDE([$0])
AC_CACHE_CHECK([for native ELF system],
mr_cv_target_elf,
[AC_TRY_RUN(changequote(<<, >>)dnl
<<#include <stdio.h>
int
main(int argc, char **argv) {
char buf[BUFSIZ];
FILE *fp;
int n;
if ((fp = fopen(*argv, "r")) == NULL) {
exit(1);
}
n = fread(buf, 1, sizeof(buf), fp);
if (n >= 52
&& buf[0] == '\177'
&& buf[1] == 'E'
&& buf[2] == 'L'
&& buf[3] == 'F') {
exit(0);
}
exit(1);
}>>, changequote([, ])dnl
mr_cv_target_elf=yes,
mr_cv_target_elf=no,
mr_cv_target_elf=no)])])
AC_DEFUN(mr_ENABLE_SHARED, [
AC_PROVIDE([$0])
PICFLAGS=
SHLIB_SFX=
SHLINK_SFX=
SONAME_SFX=
LINK_SHLIB=
INSTALL_SHLIB=
DEPSHLIBS=
AC_MSG_CHECKING([whether to build a shared library])
AC_ARG_ENABLE(shared,
[ --enable-shared build shared library (default: yes)],
[mr_enable_shared="$enableval"],
[mr_enable_shared=yes])
AC_MSG_RESULT($mr_enable_shared)
if test "$mr_enable_shared" = yes; then
AC_MSG_CHECKING([whether GNU naming conventions are requested])
AC_ARG_ENABLE(gnu-names,
[ --enable-gnu-names use GNU library naming conventions (default: no)],
[mr_enable_gnu_names="$enableval"],
[mr_enable_gnu_names=no])
AC_MSG_RESULT($mr_enable_gnu_names)
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AC_PROG_CC])
AC_PATH_PROG(LD, ld, ld)
case "$host" in
*-linux*|*-gnu*)
if test "$GCC" = yes; then
mr_TARGET_ELF
if test "$mr_cv_target_elf" = yes; then
PICFLAGS='-fPIC -DPIC'
if test "$mr_enable_gnu_names" = yes
then SHLIB_SFX='-$(VERSION).so'
else SHLIB_SFX='.so.$(VERSION)'
fi
SHLINK_SFX='.so'
SONAME_SFX='.so.$(MAJOR)'
LINK_SHLIB='$(CC) -shared -Wl,-soname,$(SONAME)'
INSTALL_SHLIB='$(INSTALL_PROGRAM)'
DEPSHLIBS='-lc'
else
AC_MSG_WARN([shared libraries not supported for $host])
mr_enable_shared=no
fi
elif ${CC} -V 2>&1 | grep 'Intel(R) C++ Compiler' >/dev/null 2>&1; then
AC_MSG_WARN([Use --disable-shared if $CC fails to build the shared library])
PICFLAGS='-fPIC -DPIC'
if test "$mr_enable_gnu_names" = yes
then SHLIB_SFX='-$(VERSION).so'
else SHLIB_SFX='.so.$(VERSION)'
fi
SHLINK_SFX='.so'
SONAME_SFX='.so.$(MAJOR)'
LINK_SHLIB='$(CC) -shared -Wl,-soname,$(SONAME)'
INSTALL_SHLIB='$(INSTALL_PROGRAM)'
DEPSHLIBS='-lc'
else
AC_MSG_WARN([GNU CC required for building shared libraries])
mr_enable_shared=no
fi
;;
i386-pc-nto-qnx*)
mr_TARGET_ELF
if test "$mr_cv_target_elf" = yes; then
PICFLAGS='-fPIC -DPIC'
if test "$mr_enable_gnu_names" = yes
then SHLIB_SFX='-$(VERSION).so'
else SHLIB_SFX='.so.$(VERSION)'
fi
SHLINK_SFX='.so'
SONAME_SFX='.so.$(MAJOR)'
LINK_SHLIB='$(CC) -shared -Wl,-soname,$(SONAME)'
INSTALL_SHLIB='$(INSTALL_PROGRAM)'
DEPSHLIBS='-lc'
else
AC_MSG_WARN([shared libraries not supported for $host])
mr_enable_shared=no
fi
;;
sparc-sun-solaris2*)
if test "$GCC" = yes; then
PICFLAGS='-fPIC -DPIC'
else
PICFLAGS='-K PIC -DPIC'
fi
if test "$mr_enable_gnu_names" = yes
then SHLIB_SFX='-$(MAJOR).so'
else SHLIB_SFX='.so.$(MAJOR)'
fi
SONAME_SFX='.so.$(MAJOR)'
SHLINK_SFX='.so'
LINK_SHLIB='$(LD) -G -z text -h $(SONAME)'
INSTALL_SHLIB='$(INSTALL_PROGRAM)'
;;
*)
AC_MSG_WARN([shared libraries not supported for $host])
mr_enable_shared=no
;;
esac
else
mr_enable_shared=no
fi
AC_SUBST(PICFLAGS)
AC_SUBST(SHLIB_SFX)
AC_SUBST(SHLINK_SFX)
AC_SUBST(SONAME_SFX)
AC_SUBST(LINK_SHLIB)
AC_SUBST(INSTALL_SHLIB)
AC_SUBST(DEPSHLIBS)
DO_SHLIB="$mr_enable_shared"
AC_SUBST(DO_SHLIB)
])
AC_DEFUN(mr_ENABLE_DEBUG, [
AC_PROVIDE([$0])
AC_ARG_ENABLE(debug,
[ --enable-debug include extra debugging code (default: no)],
[mr_enable_debug="$enableval"],
[mr_enable_debug=no])
if test "$mr_enable_debug" = yes; then
AC_DEFINE(ENABLE_DEBUG)
fi
])
# vi: set ts=8 sw=2 :