configure.ac
ソースルートにあるヘッダーファイルをチェックしています
AC_CHECK_HEADER(log4c.h,
[],
[AC_MSG_ERROR([Couldn't find or include log4c.h])])
そして、ヘッダーを提供するさまざまな最も簡単な方法を反映するために、さまざまなプラットフォームでさまざまなフィードバックを提供したいと思います。
- Debian では、メッセージでエラーになるはずです
Couldn't find or include log4c.h. Install log4c using 'sudo apt-get install liblog4c-dev'
- OpenSUSE では、エラーが発生するはず
... Install log4c using 'sudo yum install log4c-devel'
です (パッケージ名は調査しませんでしたが、私のドリフトをキャッチしました)。 - 他のシステム(パッケージ名を調べるのが面倒なところ)では、次のエラーが発生するはずです
... Install log4c by fetching ftp://.../log4c.tar.gz and installing with './configure && make && make install' in the source root
私
- マクロをチェックしましたが、 inではなくin で
AM_CONDITIONAL
使用する方法がわかりません( autoconf/automake: conditional compilation based on presents of library? で説明されているように)configure.ac
Makefile.am
esyscmd
stackoverflow.com/questions/4627900/m4-executing-a-shell-command で実行するためのヒントを見つけましたが、実行しても何も出力esyscmd (/bin/echo abc)
されません。configure.ac
autoreconf --install --verbose --force
上記のOSのシェルコマンドを使用しない条件付きマクロの使用法と、事前定義されたマクロ( 、など)へのリンクを説明する両方の回答AC_CHECK_HEADER_DEBIAN
がAC_CHECK_HEADER_SUSE
高く評価されます。
以下configure.ac
は機能しません。
AC_INIT([cndrvcups-common], [2.90], [krichter722@aol.de])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([foreign -Wall subdir-objects])
AC_PROG_CC
AM_PROG_AR
AM_PROG_CC_C_O
AC_MSG_NOTICE([Hello, world.])
AC_INCLUDES_DEFAULT
AC_CHECK_HEADER(check.h,
[],
[
AS_IF (test "$(lsb_release -cs)" = "vivid", [echo aaaaaa], [echo bbbbbb])
])
LT_INIT # needs to be after AM_PROGS_AR
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
./configure
で失敗するため
checking check.h usability... no
checking check.h presence... no
checking for check.h... no
./configure: line 4433: syntax error near unexpected token `;'
./configure: line 4433: ` if ; then :'
./configure: line 4427: #include: command not found
が指定されているかどうかに関係なく発生するものもありAC_CHECK_HEADER
ます。