Automake:如何在命令前加上编译命令
以下引用来自scorep的文档。为了使用该软件,scorep
命令被称为编译器前缀mpicc
。我正在使用automake。到目前为止,在configure.ac
我有AC_PROG_CC([mpicc])
。我怎样才能用automake将scorep
命令作为编译命令的前缀?Automake:如何在命令前加上编译命令
当生成文件被用于构建应用程序,它是方便 定义一个占位符变量来表示是否一个“准备‘’ 步骤等的仪表期望或只有纯汇编 和链接。例如,如果该变量被称为PREP则 线限定在生成文件C编译器可以改变从:
MPICC = mpicc
到MPICC = $(PREP) mpicc
一个然后可以使用相同的生成文件来完成构建一个instru- mented 版本与
make PREP="scorep"
命令,或者干脆利用由 全面优化,而不是仪表默认的编译:
make
。
如果你的包必须始终scorep
构建,则只需将其预先考虑到CC
在configure.ac
,如:
AC_PROG_CC([mpicc])
CC="scorep $CC"
这将导致构建失败,如果用户建立你的包不有scorep
,但想必这就是你想要的。 (或者你可以添加一个检查,以configure.ac
有它的错误,如果找不到scorep
)
如果你希望用户可选择使用scorep
,你可以把上面的分配条件。一个常见的方法是使用一个选项,在你的情况下,比如说--with-scorep
。
最后一个选择是什么也不做,让用户想这一功能的要求是这样的:
这个答案是具体到分数-P。
我想分享Score-P邮件列表的答案。在此基础上link,有必要与
SCOREP_WRAPPER=OFF ../configure \
CC=scorep-mpicc \
CXX=scorep-mpicxx \
FC=scorep-mpif90 \
--disable-dependency-tracking
Install_Scorep配置是一个bash脚本在基于Linux的系统上安装得分-P 3.0。要安装Score-P克隆存储库并运行名为install_scorep.sh的脚本。这将完成所有必要的任务来成功安装Score-P 3.0。