2010-07-13 22 views
0

J'ai une application qui est compilée en utilisant des wrappers de compilateur tels que h5fc/h5cc (les wrappers de compilateur HDF5), ou mpif90/mpicc (les wrappers de compilateur MPI). Ce ne sont que des wrappers, et il est possible d'utiliser l'argument -show pour voir le vrai compilateur sous-jacent, par ex.Rechercher le compilateur sous-jacent dans la configuration

$ h5fc -show 
ifort -fPIC [...] -lz -lm 
$ mpif90 -show 
ifort [...] -lmpichf90 -lmpichf90 -lpmpich -lmpich -lopa -lpthread 

Dans les deux cas, le compilateur sous-jacent est ifort. Maintenant j'utilise configure.ac pour générer un script configure pour configurer le Makefile, et je veux être capable d'ajouter des arguments dépendant du compilateur au compilateur, mais cela nécessite d'avoir du code en configure.ac pour savoir ce que le compilateur sous-jacent de h5fc/cc ou mpif90/cc est. J'imagine que cela doit être possible, mais je n'ai aucune idée de comment faire cela. Est-ce que quelqu'un a des suggestions?

Question bonus: En fait, dans certains cas, je dois compiler avec h5pfc/cc qui est l'enveloppe de HDF5 MPI activé:

$ h5pfc -show 
mpif90 [...] -lsz -lz -lm 

qui nécessiterait une recherche itérative, parce que je dois alors faire mpif90 -show .. .

Répondre

1

J'ai finalement pensé à elle - la réponse est tout simplement à faire:

fccompiler = `h5fc -show | awk {'print $1'}` 
AC_MSG_RESULT($fccompiler) # print out to check