2010-11-27 5 views
2

Это меня било в течение многих лет, но я просто игнорировал его, как будто я подозреваю, что все остальные.Как я могу сказать autoconf, чтобы не исследовать fortran, C++ и т. Д., Когда мой пакет построен только в C?

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

С выше в моем файле configure.ac, настройка будет идти и найти меня компилятор Си, но затем он продолжает:

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?

ответ

6

Если вы используете libtool 1.5 или ранее, вам нужно прибегнуть к грязной трюке. Поместите это в configure.ac:

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

Или вы могли бы перейти на LIBTOOL 2.2 или более поздней версии, он автоматически (и более разумно) обнаруживает, что компиляторы искать.

+0

Я принимаю m4_defun как эффективный и не слишком грязный трюк; благодаря! – 2010-11-29 05:37:10

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