【发布时间】:2011-03-15 08:56:21
【问题描述】:
我有一个使用编译器包装器编译的应用程序,例如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 中有代码来找出h5fc/cc 或 mpif90/cc 的底层编译器是。我想这一定是可能的,但我不知道该怎么做。有人有什么建议吗?
额外问题:事实上在某些情况下我需要使用h5pfc/cc 进行编译,这是启用 MPI 的 HDF5 包装器:
$ h5pfc -show
mpif90 [...] -lsz -lz -lm
这需要迭代搜索,因为我需要这样做mpif90 -show...
【问题讨论】:
标签: makefile mpi autoconf configure hdf5