Macro: ac_as_dirname

Back to the Main Page. | # ac_as_dirname | Download the M4 Source.

Synopsis

  ``

Version

  1.1.1.1 (2001/07/26) guidod @ ac-archive-0.5.39

Author

  complain to <guidod@gmx.de>

Description
  AC_AS_DIRNAME (PATH) this is the macro AS_DIRNAME from autoconf 2.4x defined here for use in autoconf 2.1x, remove the AC_ when you use 2.4x

M4 Source Code

      AC_DEFUN([AC_ECHO_MKFILE],
      [dnl
        case $2 in
          */*) P=` AC_AS_DIRNAME($2) ` ; AC_AS_MKDIR_P($P) ;;
        esac
        echo "$1" >$2
      ])

      AC_DEFUN([AC_AS_DIRNAME],
      [AC_AS_DIRNAME_EXPR([$1]) 2>/dev/null ||
      AC_AS_DIRNAME_SED([$1])
      ])

      # _AC_AS_EXPR_PREPARE
      # ----------------
      # Some expr work properly (i.e. compute and issue the right result),
      # but exit with failure.  When a fall back to expr (as in AS_DIRNAME)
      # is provided, you get twice the result.  Prevent this.
      AC_DEFUN([_AC_AS_EXPR_PREPARE],
      [if expr a : '\(a\)' >/dev/null 2>&1; then
        as_expr=expr
      else
        as_expr=false
      fi
      ])# _AC_AS_EXPR_PREPARE

      # AS_DIRNAME(PATHNAME)
      # --------------------
      # Simulate running `dirname(1)' on PATHNAME, not all systems have it.
      # This macro must be usable from inside ` `.
      #
      # Prefer expr to echo|sed, since expr is usually faster and it handles
      # backslashes and newlines correctly.  However, older expr
      # implementations (e.g. SunOS 4 expr and Solaris 8 /usr/ucb/expr) have
      # a silly length limit that causes expr to fail if the matched
      # substring is longer than 120 bytes.  So fall back on echo|sed if
      # expr fails.
      #
      # FIXME: Please note the following m4_require is quite wrong: if the first
      # occurrence of AS_DIRNAME_EXPR is in a backquoted expression, the
      # shell will be lost.  We might have to introduce diversions for
      # setting up an M4sh script: required macros will then be expanded there.

      AC_DEFUN([AC_AS_DIRNAME_EXPR],
      [AC_REQUIRE([_AC_AS_EXPR_PREPARE])dnl
      $as_expr X[]$1 : 'X\(.*[[^/]]\)//*[[^/][^/]]*/*$' \| \
               X[]$1 : 'X\(//\)[[^/]]' \| \
               X[]$1 : 'X\(//\)$' \| \
               X[]$1 : 'X\(/\)' \| \
               .     : '\(.\)'])

      AC_DEFUN([AC_AS_DIRNAME_SED],
      [echo X[]$1 |
          sed ['/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
                /^X\(\/\/\)[^/].*/{ s//\1/; q; }
                /^X\(\/\/\)$/{ s//\1/; q; }
                /^X\(\/\).*/{ s//\1/; q; }
                s/.*/./; q']])