Autoconf:检测是否安装了emacs

时间:2013-02-14 05:36:46

标签: emacs configure autoconf automake

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

可靠地检测这个的最佳方法是什么 - 检查/ usr / bin / emacs?检查which emacs的结果(假设系统有which ...)?

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

2 个答案:

答案 0 :(得分:3)

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

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

它还尝试运行emacs以确定应安装elisp文件的位置。有关详细信息,请参阅the documentation

答案 1 :(得分:-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])])