0

configure実行時にスクリプトから依存関係チェックを削除する方法があるかどうか疑問に思っていmake distます。目的は、リポジトリ内のパッケージのバージョンがemacsLisp ファイルを実行してファイルを生成するために使用する.cのに対し、生成されたソース ファイルmake distは実行時に tarball に含まれることです。EXTRA_DISTAutomake は、Makefile で設定するだけで、ビルドされたファイルを出力 tarball に含めることをサポートします。emacs誰かがリポジトリからコンパイルしようとしたときだけチェックできるようにしたいのですが、誰かが tarball からコンパイルしたときはチェックできません。

より具体的には、configure.ac私は持っています:

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

しかし、実行後にそのチェックが行われないようにしたいと思いmake distます。これを行う方法はありますか?そうでない場合、このケースは通常どのように処理されますか?

4

2 に答える 2

1

私が思いついた最善の方法は、Bootstrapファイルの存在を確認することです。Bootstrapの実行後に tarball から削除されmake distます。

AC_CHECK_FILE([Bootstrap])
if test "$ac_cv_file_Bootstrap" == yes ; then
    <check for emacs>
fi
于 2013-06-01T01:00:07.823 に答える
0

ツールが次の場所にある場合は、通常、条件を設定しますconfigure.ac

AM_PATH_LISPDIR
AM_CONDITIONAL([HAVE_EMACS_IN_REPOSITORY], [test "x$EMACS" != xno -a -d ".git"])
AS_IF([test "$EMACS" = no -a -d ".git"], [AC_MSG_ERROR([cannot find emacs])])

次にMakefile.am

if HAVE_EMACS_IN_REPOSITORY

Execute lisp files...

Generate .c files...

endif

通常configure、 と同じ場所で終了します.git。そうでない場合は、パスを調整できます。

于 2013-05-11T23:16:39.400 に答える