Edit

thodg/libiconv/m4/general.m4

Branch :

  • Show log

    Commit

  • Author : Bruno Haible
    Date : 2003-04-08 11:05:39
    Hash : 9c83e7cc
    Message : Update the autoconf macros, mostly from GNU gettext.

  • m4/general.m4
  • 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
    ])