0

我有一个使用编译器包装器编译的应用程序,例如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,并且我希望能够向编译器添加依赖于编译器的参数,但这需要有代码configure.ac来找出 or 的底层编译器h5fc/cc是什么mpif90/cc。我想这一定是可能的,但我不知道该怎么做。有没有人有什么建议?

额外的问题:事实上,在某些情况下,我需要使用h5pfc/cc启用 MPI 的 HDF5 包装器进行编译:

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

这将需要迭代搜索,因为我需要做mpif90 -show......

4

1 回答 1

1

我终于想通了 - 答案很简单:

fccompiler = `h5fc -show | awk {'print $1'}`
AC_MSG_RESULT($fccompiler) # print out to check
于 2010-07-13T18:43:12.023 回答