106 lines
2.7 KiB
Plaintext
106 lines
2.7 KiB
Plaintext
dnl Copyright (C) 1993-2003 Free Software Foundation, Inc.
|
|
dnl This file is free software, distributed under the terms of the GNU
|
|
dnl General Public License. As a special exception to the GNU General
|
|
dnl Public License, this file may be distributed as part of a program
|
|
dnl that contains a configuration script generated by Autoconf, under
|
|
dnl the same distribution terms as the rest of that program.
|
|
|
|
dnl From Bruno Haible, Marcus Daniels, Sam Steingold.
|
|
|
|
AC_PREREQ(2.13)
|
|
|
|
dnl without AC_MSG_...: with AC_MSG_... and caching:
|
|
dnl AC_TRY_CPP CL_CPP_CHECK
|
|
dnl AC_TRY_COMPILE CL_COMPILE_CHECK
|
|
dnl AC_TRY_LINK CL_LINK_CHECK
|
|
dnl AC_TRY_RUN CL_RUN_CHECK - would require cross-compiling support
|
|
dnl Usage:
|
|
dnl AC_TRY_CPP(INCLUDES,
|
|
dnl ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
|
|
dnl CL_CPP_CHECK(ECHO-TEXT, CACHE-ID,
|
|
dnl INCLUDES,
|
|
dnl ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
|
|
dnl AC_TRY_xxx(INCLUDES, FUNCTION-BODY,
|
|
dnl ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
|
|
dnl CL_xxx_CHECK(ECHO-TEXT, CACHE-ID,
|
|
dnl INCLUDES, FUNCTION-BODY,
|
|
dnl ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
|
|
|
|
AC_DEFUN([CL_CPP_CHECK],
|
|
[AC_MSG_CHECKING(for $1)
|
|
AC_CACHE_VAL($2,[
|
|
AC_TRY_CPP([$3], $2=yes, $2=no)
|
|
])
|
|
AC_MSG_RESULT([$]$2)
|
|
if test [$]$2 = yes; then
|
|
ifelse([$4], , :, [$4])
|
|
ifelse([$5], , , [else
|
|
$5
|
|
])dnl
|
|
fi
|
|
])
|
|
|
|
AC_DEFUN([CL_COMPILE_CHECK],
|
|
[AC_MSG_CHECKING(for $1)
|
|
AC_CACHE_VAL($2,[
|
|
AC_TRY_COMPILE([$3],[$4], $2=yes, $2=no)
|
|
])
|
|
AC_MSG_RESULT([$]$2)
|
|
if test [$]$2 = yes; then
|
|
ifelse([$5], , :, [$5])
|
|
ifelse([$6], , , [else
|
|
$6
|
|
])dnl
|
|
fi
|
|
])
|
|
|
|
AC_DEFUN([CL_LINK_CHECK],
|
|
[AC_MSG_CHECKING(for $1)
|
|
AC_CACHE_VAL($2,[
|
|
AC_TRY_LINK([$3],[$4], $2=yes, $2=no)
|
|
])
|
|
AC_MSG_RESULT([$]$2)
|
|
if test [$]$2 = yes; then
|
|
ifelse([$5], , :, [$5])
|
|
ifelse([$6], , , [else
|
|
$6
|
|
])dnl
|
|
fi
|
|
])
|
|
|
|
dnl CL_SILENT(ACTION)
|
|
dnl performs ACTION, with AC_MSG_CHECKING and AC_MSG_RESULT being defined away.
|
|
AC_DEFUN([CL_SILENT],
|
|
[pushdef([AC_MSG_CHECKING],[:])dnl
|
|
pushdef([AC_CHECKING],[:])dnl
|
|
pushdef([AC_MSG_RESULT],[:])dnl
|
|
$1[]dnl
|
|
popdef([AC_MSG_RESULT])dnl
|
|
popdef([AC_CHECKING])dnl
|
|
popdef([AC_MSG_CHECKING])dnl
|
|
])
|
|
|
|
dnl Expands to the "extern ..." prefix used for system declarations.
|
|
dnl AC_LANG_EXTERN()
|
|
AC_DEFUN([AC_LANG_EXTERN],
|
|
[extern
|
|
#ifdef __cplusplus
|
|
"C"
|
|
#endif
|
|
])
|
|
|
|
AC_DEFUN([CL_CC_WORKS],
|
|
[AC_CACHE_CHECK(whether CC works at all, cl_cv_prog_cc_works, [
|
|
AC_LANG_SAVE()
|
|
AC_LANG_C()
|
|
AC_TRY_RUN([int main() { exit(0); }],
|
|
cl_cv_prog_cc_works=yes, cl_cv_prog_cc_works=no,
|
|
AC_TRY_LINK([], [], cl_cv_prog_cc_works=yes, cl_cv_prog_cc_works=no))
|
|
AC_LANG_RESTORE()
|
|
])
|
|
case "$cl_cv_prog_cc_works" in
|
|
*no) echo "Installation or configuration problem: C compiler cannot create executables."; exit 1;;
|
|
*yes) ;;
|
|
esac
|
|
])
|