DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(autocf21.info.gz) Changed Results

Info Catalog (autocf21.info.gz) Invoking autoupdate (autocf21.info.gz) Upgrading (autocf21.info.gz) Changed Macro Writing
 
 13.5 Changed Results
 ====================
 
 If you were checking the results of previous tests by examining the
 shell variable `DEFS', you need to switch to checking the values of the
 cache variables for those tests.  `DEFS' no longer exists while
 `configure' is running; it is only created when generating output
 files.  This difference from version 1 is because properly quoting the
 contents of that variable turned out to be too cumbersome and
 inefficient to do every time `AC_DEFINE' is called.   Cache
 Variable Names.
 
    For example, here is a `configure.in' fragment written for Autoconf
 version 1:
 
      AC_HAVE_FUNCS(syslog)
      case "$DEFS" in
      *-DHAVE_SYSLOG*) ;;
      *) # syslog is not in the default libraries.  See if it's in some other.
        saved_LIBS="$LIBS"
        for lib in bsd socket inet; do
          AC_CHECKING(for syslog in -l$lib)
          LIBS="$saved_LIBS -l$lib"
          AC_HAVE_FUNCS(syslog)
          case "$DEFS" in
          *-DHAVE_SYSLOG*) break ;;
          *) ;;
          esac
          LIBS="$saved_LIBS"
        done ;;
      esac
 
    Here is a way to write it for version 2:
 
      AC_CHECK_FUNCS(syslog)
      if test $ac_cv_func_syslog = no; then
        # syslog is not in the default libraries.  See if it's in some other.
        for lib in bsd socket inet; do
          AC_CHECK_LIB($lib, syslog, [AC_DEFINE(HAVE_SYSLOG)
            LIBS="$LIBS $lib"; break])
        done
      fi
 
    If you were working around bugs in `AC_DEFINE_UNQUOTED' by adding
 backslashes before quotes, you need to remove them.  It now works
 predictably, and does not treat quotes (except backquotes) specially.
  Setting Output Variables.
 
    All of the boolean shell variables set by Autoconf macros now use
 `yes' for the true value.  Most of them use `no' for false, though for
 backward compatibility some use the empty string instead.  If you were
 relying on a shell variable being set to something like 1 or `t' for
 true, you need to change your tests.
 
Info Catalog (autocf21.info.gz) Invoking autoupdate (autocf21.info.gz) Upgrading (autocf21.info.gz) Changed Macro Writing
automatically generated byinfo2html