2010-11-27 41 views
2

Cela me dérange depuis des années, mais je l'ai ignoré, comme je le soupçonne d'ailleurs. Avec ce qui précède dans mon fichier configure.acComment puis-je dire à autoconf de ne pas rechercher fortran, C++ etc. lorsque mon paquet est construit uniquement en C?

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

, configure aller me trouver un compilateur C, mais il poursuit:

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 

Cela ne fait pas vraiment mal quoi que ce soit, juste ajoute du bruit visuel et rend les choses un peu plus longues à courir - encore une fois, ce n'est pas significatif, mais ça me dérange depuis des années. J'ai essayé d'utiliser --with-tags = C, AC_LANG ([C]) et quelques autres trucs avec des variables de shell (vraiment le mauvais sens ...) pour voir si je peux tourner cette de.

Est-ce que quelqu'un connaît le moyen béni d'autoconf/automake/libtool pour obtenir des tests de configuration uniquement pour C?

Répondre

6

Si vous utilisez libtool 1.5 ou une version antérieure, vous devez recourir à une astuce. Mettez dans votre configure.ac:

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

Ou vous pourriez passer à libtool 2.2 ou ultérieure, automatiquement (et plus intelligemment) détecte ce que les compilateurs à rechercher.

+0

Je vais accepter le m4_defun comme un truc efficace et pas trop sale; Merci! –

2

Comme le dit ptomato, la manière correcte d'y parvenir est d'utiliser un libtool moderne. Dans 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