| 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 | |
| ]) |