【问题标题】:Autoconf: Detect if emacs is installedAutoconf:检测是否安装了emacs
【发布时间】:2013-01-29 21:02:45
【问题描述】:

检测是否安装了 emacs 的最佳方法是什么? nesC 编译器构建(显然)需要安装 emacs,我想修改他们的配置脚本来检测这一点,但我不知道有任何 AC_ 宏来检测 emacs...

可靠检测此问题的最佳方法是什么——检查 /usr/bin/emacs?检查which emacs的结果(假设系统有which...)?

相关:https://github.com/tinyos/nesc/issues/1

【问题讨论】:

  • 告诉我这是个笑话!编译器需要emacs?!我想知道我什么时候可以设置CC=emacs?!

标签: emacs configure autoconf automake


【解决方案1】:

使用AC_ARG_VAR 向用户公开变量(并在./configure --help 中列出)和AC_PATH_PROGS 以检查emacs/xemacs。如果您只想要 GNU emacs,请改用 AC_PATH_PROG([EMACS], [emacs], [no])

AC_ARG_VAR([EMACS], [Path to emacs.])
AS_IF([test -z "$EMACS"], [AC_PATH_PROGS([EMACS], [emacs], [no])])

# If you want to fail out if you can't find emacs:
AS_IF([test "$EMACS" = no],
  [AC_MSG_ERROR([emacs is required to build. Install it, or set $EMACS])])

【讨论】:

    【解决方案2】:

    如果您也使用 Automake,则可以使用 AM_PATH_LISPDIR 宏。如果已设置,它会获取 EMACS 环境变量的值,否则会在路径中查找 emacsxemacs

    AM_PATH_LISPDIR
    AS_IF([test "$EMACS" = no], [AC_MSG_ERROR([cannot find Emacs])])
    

    它还尝试运行 emacs 以确定 elisp 文件的安装位置。详情请见the documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-29
      • 2011-03-25
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 2011-02-25
      • 2012-09-22
      • 2023-03-29
      相关资源
      最近更新 更多