我有一个使用编译器包装器编译的应用程序,例如h5fc/h5cc
(HDF5编译器包装器)或mpif90/mpicc
(MPI编译器包装器)。这些只是包装器,可以使用-show
参数来查看真正的底层编译器,例如。
$ h5fc -show
ifort -fPIC [...] -lz -lm
$ mpif90 -show
ifort [...] -lmpichf90 -lmpichf90 -lpmpich -lmpich -lopa -lpthread
在这两种情况下,底层编译器都是ifort。现在我使用configure.ac
生成配置脚本来设置Makefile
,我希望能够将编译器相关的参数添加到编译器中,但这需要在{{1}中包含代码找出configure.ac
或h5fc/cc
的底层编译器是什么。我想这一定是可能的,但我不知道该怎么做。有没有人有任何建议?
奖金问题:实际上在某些情况下我需要使用mpif90/cc
进行编译,这是支持MPI的HDF5包装器:
h5pfc/cc
需要迭代搜索,因为我需要$ h5pfc -show
mpif90 [...] -lsz -lz -lm
...
答案 0 :(得分:1)
我终于明白了 - 答案就是:
fccompiler = `h5fc -show | awk {'print $1'}`
AC_MSG_RESULT($fccompiler) # print out to check