2

これは何年もの間私を悩ませてきましたが、他のみんながそうしていると思うように、私はそれを無視してきました。

AM_INIT_AUTOMAKE([dist-bzip2])
AC_PROG_CC
AC_PROG_LIBTOOL
AC_C_INLINE
AM_PROG_CC_C_O

上記のconfigure.acファイルを使用すると、configureはCコンパイラを検索しますが、続行します。

checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking the maximum length of command line arguments... 1966080

これは実際には何も害はありません。視覚的なノイズが追加され、実行に少し時間がかかります。これも重要ではありませんが、何年もの間私を悩ませてきました。

--with-tags = C、AC_LANG([C])、およびシェル変数を使用した他のいくつかのトリック(間違いなく間違った方法のように感じます...)を使用して、これをオフにできるかどうかを確認しました。

誰かがautoconf/automake / libtoolに恵まれたC専用のconfigureプロービングを取得する方法を知っていますか?

4

2 に答える 2

6

libtool 1.5以前を使用する場合は、汚いトリックに頼る必要があります。これをconfigure.acに入れます:

m4_defun([_LT_AC_LANG_CXX_CONFIG], [:])
m4_defun([_LT_AC_LANG_F77_CONFIG], [:])

または、libtool 2.2以降に切り替えることもできます。これにより、検索するコンパイラーが自動的に(よりインテリジェントに)検出されます。

于 2010-11-28T20:39:15.150 に答える
2

ptomatoが言うように、これを行う正しい方法は、最新のlibtoolを使用することです。configure.acの場合:

# Set up libtool. The argument enables support for win32 DLLs
# and replaces AC_LIBTOOL_WIN32_DLL.
LT_INIT([win32-dll])
# Add C support to libtool
AC_PROG_CC
于 2010-11-28T23:13:29.523 に答える