156 lines
5.3 KiB
Text
156 lines
5.3 KiB
Text
dnl Copyright (C) 2000, 2001, 2002 Loic Dachary <loic@senga.org>
|
|
dnl
|
|
dnl This program is free software; you can redistribute it and/or modify
|
|
dnl it under the terms of the GNU General Public License as published by
|
|
dnl the Free Software Foundation; either version 2 of the License, or
|
|
dnl (at your option) any later version.
|
|
dnl
|
|
dnl This program is distributed in the hope that it will be useful,
|
|
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
dnl GNU General Public License for more details.
|
|
dnl
|
|
dnl You should have received a copy of the GNU General Public License
|
|
dnl along with this program; if not, write to the Free Software
|
|
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
dnl
|
|
dnl Local autoconf definitions. Try to follow the guidelines of the autoconf
|
|
dnl macro repository so that integration in the repository is easy.
|
|
dnl To submit a macro to the repository send the macro (one macro per mail)
|
|
dnl to Peter Simons <simons@cryp.to>.
|
|
dnl The repository itself is at httphttp://savannah.gnu.org/projects/ac-archive/
|
|
dnl
|
|
|
|
dnl @synopsis AC_MANDATORY_HEADER(HEADER-FILE, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
dnl
|
|
dnl Same semantic as AC_CHECK_HEADER except that it aborts the configuration
|
|
dnl script if the header file is not found.
|
|
dnl
|
|
dnl @version $Id: acinclude.m4,v 1.5 2002/09/02 10:40:09 loic Exp $
|
|
dnl @author Loic Dachary <loic@senga.org>
|
|
dnl
|
|
AC_DEFUN([AC_MANDATORY_HEADER],
|
|
[dnl Do the transliteration at runtime so arg 1 can be a shell variable.
|
|
ac_safe=`echo "$1" | sed 'y%./+-%__p_%'`
|
|
AC_MSG_CHECKING([for $1])
|
|
AC_CACHE_VAL(ac_cv_header_$ac_safe,
|
|
[AC_TRY_CPP([#include <$1>], eval "ac_cv_header_$ac_safe=yes",
|
|
eval "ac_cv_header_$ac_safe=no")])dnl
|
|
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
|
|
AC_MSG_RESULT(yes)
|
|
ifelse([$2], , :, [$2])
|
|
else
|
|
AC_MSG_ERROR(header not found check config.log)
|
|
ifelse([$3], , , [$3
|
|
])dnl
|
|
fi
|
|
])
|
|
|
|
dnl @synopsis AC_MANDATORY_HEADERS(HEADER-FILE... [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
dnl
|
|
dnl Same semantic as AC_CHECK_HEADERS except that it aborts the configuration
|
|
dnl script if one of the headers file is not found.
|
|
dnl
|
|
dnl @version $Id: acinclude.m4,v 1.5 2002/09/02 10:40:09 loic Exp $
|
|
dnl @author Loic Dachary <loic@senga.org>
|
|
dnl
|
|
AC_DEFUN([AC_MANDATORY_HEADERS],
|
|
[for ac_hdr in $1
|
|
do
|
|
AC_MANDATORY_HEADER($ac_hdr,
|
|
[changequote(, )dnl
|
|
ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
|
|
changequote([, ])dnl
|
|
AC_DEFINE_UNQUOTED($ac_tr_hdr) $2], $3)dnl
|
|
done
|
|
])
|
|
|
|
dnl @synopsis AC_MANDATORY_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]])
|
|
dnl
|
|
dnl Same semantic as AC_CHECK_LIB except that it aborts the configuration
|
|
dnl script if the library is not found or compilation fails.
|
|
dnl
|
|
dnl @version $Id: acinclude.m4,v 1.5 2002/09/02 10:40:09 loic Exp $
|
|
dnl @author Loic Dachary <loic@senga.org>
|
|
dnl
|
|
AC_DEFUN([AC_MANDATORY_LIB],
|
|
[AC_MSG_CHECKING([for $2 in -l$1])
|
|
dnl Use a cache variable name containing both the library and function name,
|
|
dnl because the test really is for library $1 defining function $2, not
|
|
dnl just for library $1. Separate tests with the same $1 and different $2s
|
|
dnl may have different results.
|
|
ac_lib_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'`
|
|
AC_CACHE_VAL(ac_cv_lib_$ac_lib_var,
|
|
[ac_save_LIBS="$LIBS"
|
|
LIBS="-l$1 $5 $LIBS"
|
|
AC_TRY_LINK(dnl
|
|
ifelse(AC_LANG, [FORTRAN77], ,
|
|
ifelse([$2], [main], , dnl Avoid conflicting decl of main.
|
|
[/* Override any gcc2 internal prototype to avoid an error. */
|
|
]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
|
|
extern "C"
|
|
#endif
|
|
])dnl
|
|
[/* We use char because int might match the return type of a gcc2
|
|
builtin and then its argument prototype would still apply. */
|
|
char $2();
|
|
])),
|
|
[$2()],
|
|
eval "ac_cv_lib_$ac_lib_var=yes",
|
|
eval "ac_cv_lib_$ac_lib_var=no")
|
|
LIBS="$ac_save_LIBS"
|
|
])dnl
|
|
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
|
AC_MSG_RESULT(yes)
|
|
ifelse([$3], ,
|
|
[changequote(, )dnl
|
|
ac_tr_lib=HAVE_LIB`echo $1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \
|
|
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
|
|
changequote([, ])dnl
|
|
AC_DEFINE_UNQUOTED($ac_tr_lib)
|
|
LIBS="-l$1 $LIBS"
|
|
], [$3])
|
|
else
|
|
AC_MSG_ERROR(library not found check config.log)
|
|
ifelse([$4], , , [$4
|
|
])dnl
|
|
fi
|
|
])
|
|
|
|
dnl @synopsis AC_COMPILE_WARNINGS
|
|
dnl
|
|
dnl Set the maximum warning verbosity according to compiler used.
|
|
dnl Currently supports g++ and gcc.
|
|
dnl This macro must be put after AC_PROG_CC and AC_PROG_CXX in
|
|
dnl configure.in
|
|
dnl
|
|
dnl @version $Id: acinclude.m4,v 1.5 2002/09/02 10:40:09 loic Exp $
|
|
dnl @author Loic Dachary <loic@senga.org>
|
|
dnl
|
|
|
|
AC_DEFUN(AC_COMPILE_WARNINGS,
|
|
[AC_MSG_CHECKING(maximum warning verbosity option)
|
|
if test -n "$CXX"
|
|
then
|
|
if test "$GXX" = "yes"
|
|
then
|
|
ac_compile_warnings_opt='-Wall -Woverloaded-virtual'
|
|
fi
|
|
CXXFLAGS="$CXXFLAGS $ac_compile_warnings_opt"
|
|
ac_compile_warnings_msg="$ac_compile_warnings_opt for C++"
|
|
fi
|
|
|
|
if test -n "$CC"
|
|
then
|
|
if test "$GCC" = "yes"
|
|
then
|
|
ac_compile_warnings_opt='-Wall -Wmissing-declarations -Wmissing-prototypes'
|
|
fi
|
|
CFLAGS="$CFLAGS $ac_compile_warnings_opt"
|
|
ac_compile_warnings_msg="$ac_compile_warnings_msg $ac_compile_warnings_opt for C"
|
|
fi
|
|
AC_MSG_RESULT($ac_compile_warnings_msg)
|
|
unset ac_compile_warnings_msg
|
|
unset ac_compile_warnings_opt
|
|
])
|
|
|