パッケージがcでのみ構築されている場合、fortran、c ++などのプローブをプローブしないようにAutoconfに伝えるにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4292683

質問

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

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

上記をmy 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

これは実際には何も傷つけません。視覚的なノイズを追加し、実行に少し時間がかかります。

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

coconf/autoconf/autoconf/autoconf/libtoolの祝福された方法を知っている人はいますか?

役に立ちましたか?

解決

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

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

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

他のヒント

Ptomatoが言うように、これを行う正しい方法は、現代のLibtoolを使用することです。 in 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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top