[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[patch] AC_PATH_EMACS
- From: OKAZAKI Tetsurou <okazaki@xxxxx>
- Date: Mon, 08 Jul 2002 06:23:41 +0900
- X-ml-name: emacs-w3m
- X-mail-count: 03612
configure のオプション --with-emacs, --with-xemacs を変更して、
Emacsen のフルパスを指定できる様にしてみました。
添付したパッチを当てて configure を作り直してから、configure を
./configure --with-emacs=/usr/local/bin/emacs ... (1)
の様に実行すると、Makefile の変数 EMACS の値が /usr/local/bin/emacs に
設定されます。(パッチを当てない状態だと EMACS=emacs になります。)
これにより、例えば
/usr/bin に emacs 20.X、
/usr/local/bin に emacs 21.Y
がインストールされている環境で /usr/local/bin よりも /usr/bin が
PATH の先にある場合でも、/usr/local/bin/emacs を使って emacs-w3m
のコンパイルとインストールができます。
現状でも configure を
./configure --with-emacs=emacs-21.Y
./configure --with-emacs=/usr/local/bin/emacs-21.Y
env EMACS=/usr/local/bin/emacs ./configure
等とすれば、指定したバージョンの Emacsen 用に Makefile を生成できる
のですが、(1) の様に指定した場合だけうまくいきませんでした。
パッチの内容は、aclocal.m4 のマクロ AC_CHECK_EMACS を copy & paste
して AC_PATH_EMACS というマクロを作り、その中で呼ばれている
AC_CHECK_PRG(S) を AC_PATH_PROG(S) に置き換えているだけです。
--
岡崎 哲朗
Index: aclocal.m4
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/aclocal.m4,v
retrieving revision 1.9
diff -u -r1.9 aclocal.m4
--- aclocal.m4 2002/03/07 04:55:46 1.9
+++ aclocal.m4 2002/07/06 14:25:45
@@ -66,6 +66,54 @@
esac
AC_MSG_RESULT(${flavor})])
+AC_DEFUN(AC_PATH_EMACS,
+ [dnl Check for Emacsen.
+
+ dnl Apparently, if you run a shell window in Emacs, it sets the EMACS
+ dnl environment variable to 't'. Lets undo the damage.
+ test x${EMACS} = xt && EMACS=
+
+ dnl Ignore cache.
+ unset ac_cv_prog_EMACS; unset EMACS_cv_SYS_flavor;
+
+ AC_ARG_WITH(emacs,
+ [ --with-emacs=EMACS compile with EMACS [EMACS=emacs, xemacs, mule...]],
+ [if test "${withval}" = yes -o -z "${withval}"; then
+ AC_PATH_PROGS(EMACS, emacs xemacs mule, emacs)
+ else
+ AC_PATH_PROG(EMACS, ${withval}, ${withval}, emacs)
+ fi])
+ AC_ARG_WITH(xemacs,
+ [ --with-xemacs=XEMACS compile with XEMACS [XEMACS=xemacs]],
+ [if test x$withval = xyes -o x$withval = x; then
+ AC_PATH_PROG(EMACS, xemacs, xemacs, xemacs)
+ else
+ AC_PATH_PROG(EMACS, $withval, $withval, xemacs)
+ fi])
+ test -z "${EMACS}" && AC_PATH_PROGS(EMACS, emacs xemacs mule, emacs)
+ AC_SUBST(EMACS)
+
+ AC_MSG_CHECKING([what a flavor does ${EMACS} have])
+ AC_EMACS_LISP(flavor,
+ (cond ((featurep (quote xemacs)) \"XEmacs\")\
+ ((and (boundp (quote emacs-major-version))\
+ (>= emacs-major-version 21))\
+ \"FSF Emacs 21\")\
+ ((boundp (quote MULE)) \"MULE\")\
+ (t \"FSF Emacs\")),
+ noecho)
+ case "${flavor}" in
+ XEmacs)
+ EMACS_FLAVOR=xemacs;;
+ MULE)
+ EMACS_FLAVOR=mule;;
+ "FSF Emacs 21")
+ EMACS_FLAVOR=emacs21;;
+ *)
+ EMACS_FLAVOR=emacs;;
+ esac
+ AC_MSG_RESULT(${flavor})])
+
AC_DEFUN(AC_EXAMINE_PACKAGEDIR,
[dnl Examine PACKAGEDIR.
AC_EMACS_LISP(PACKAGEDIR,
Index: configure.in
===================================================================
RCS file: /storage/cvsroot/emacs-w3m/configure.in,v
retrieving revision 1.3
diff -u -r1.3 configure.in
--- configure.in 2001/03/16 12:00:27 1.3
+++ configure.in 2002/07/06 14:25:45
@@ -1,7 +1,7 @@
AC_INIT(w3m.el)
AC_SET_MAKE
AC_PROG_INSTALL
-AC_CHECK_EMACS
+AC_PATH_EMACS
AC_PATH_LISPDIR
AC_PATH_PACKAGEDIR
AC_PATH_ICONDIR