# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # @(#) $Id: aclocal.m4,v 1.28 2008/05/23 08:17:56 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 ], [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 ], [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 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 :