如何在晶圆构建系统中使用GCC -frandom-seed=〈file name>选项?

qzlgjiam  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(103)

根据GCC文档,-frandom-seed=string对于每个编译的文件都应该有一个唯一的字符串,请参见GCC Developer Options。一种常见的方法是使用源文件路径。我如何教waf构建系统使用源文件路径作为选项?我尝试在bld.objects(cflags=...)中使用-frandom-seed=${SRC[0].abspath()}

7cwmlq89

7cwmlq891#

您可以更改waf编译文件所使用的命令:

from waflib.Tools.c import c

class modified_c(c):
    run_str = '${CC} -frandom-seed=${SRC[0].abspath()} ${ARCH_ST:ARCH} ${CFLAGS} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${CPPPATH_ST:INCPATHS} ${DEFINES_ST:DEFINES} ${CC_SRC_F}${SRC} ${CC_TGT_F}$

from waflib.Task import classes
classes['c'] = modified_c

你可以把它放在wscript的开头,你也可以把它放在你加载的插件文件中。

相关问题