2013-02-14 140 views
1

檢測emacs是否安裝的最佳方法是什麼? nesC編譯器構建(顯然)需要安裝emacs,並且我想修改它們的配置腳本來檢測這個,但我不知道有任何AC_宏來檢測emacs ...Autoconf:檢測是否安裝了emacs

什麼是檢查/ usr/bin/emacs的最好方法是什麼?檢查which emacs的結果(假設系統有which ...)?

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

+0

告訴我這是個玩笑!編譯器需要emacs?!我想知道我什麼時候可以設置'CC = emacs'? – 2013-02-14 14:14:05

回答

3

如果您還在使用Automake,則可以使用AM_PATH_LISPDIR宏。如果設置爲EMACS環境變量,則值爲emacs或。

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

它還嘗試運行emacs以確定應安裝哪些elisp文件。有關更多詳細信息,請參閱the documentation

-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])])