337 lines
9.2 KiB
Plaintext
337 lines
9.2 KiB
Plaintext
# 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.1 2008/06/16 00:01:21 cjohns 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 :
|