- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个具有以下目录结构(简化)的项目:
configure.ac
Makefile.am
samples
src/Makefile.am
tests/openssh_keys
tests/Makefile.am
顶层 Makefile.am 包含以下内容:
EXTRA_DIST = $(srcdir)/tests/openssh_keys \
$(srcdir)/samples
SUBDIRS = src . tests
“tests”中的“openssh_keys”目录包含单元测试所需的数据。当我使用“make dist”创建包时,EXTRA_DIST 中提到的所有文件都正确包含在包中。我在使用“make distcheck”时遇到了麻烦,因为这会创建一个 VPATH 构建。不幸的是,在运行测试用例时,EXTRA_DIST 中提到的文件未被复制导致错误。
有人有适当的解决方案来包含 EXTRA_DIST 中提到的文件,即使是在 VPATH 构建中也是如此?
最佳答案
我不确定您收到的错误是什么,因为您没有报告,但我找到了 your repository并看一看(我建议您看一下您在 configure.ac
中编写的内容,因为它可以简化,但这是一个不同的主题。)
从我在代码中看到的情况来看,问题在于您实际上并没有为测试二进制文件提供查找文件的路径,而是以 CWD 相关的方式查找它。但是 make distcheck
(以及许多发行版)使用树外构建,其中 $(srcdir)
不是 .
,因此它失败了.
EXTRA_DIST
不会帮助你:它只会告诉 automake 复制 tarball 中的文件,但不会从 $(srcdir)
中复制出来。相反,您应该为测试代码本身提供一种了解 $(srcdir)
目录在哪里的方法。由于您没有使用测试驱动程序或脚本,因此我的最少更改建议是
pam_openssh_x509_check_CPPFLAGS = -DKEYSDIR="\"$(srcdir)/openssh_keys\""
然后把测试源改成
char *directory = KEYSDIR;
char *oneliner = KEYSDIR "/ssh_rsa.txt";
这样它会在相对路径中找到它们 (../../tests/openssh_keys
)。
关于c - VPATH 构建中未考虑 EXTRA_DIST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27680371/
我有一个具有以下目录结构(简化)的项目: configure.ac Makefile.am samples src/Makefile.am tests/openssh_keys tests/Makef
我在 Makefile.am 中使用 EXTRA_DIST 来复制一些文件夹:EXTRA_DIST = 输入/ 问题是重复目录名input/input/ 你知道这个问题的解决方案吗?这是automak
我是一名优秀的程序员,十分优秀!