在 GNU Autotools 中,目录变量$sharedstatedir
和$localstatedir
分别展开为$(prefix)/com
和$(prefix)/var
。
然而com
和var
目录不存在了在 FHS 3 中,以及/var/lib
应该使用。
因此,我们希望在 Autotools 构建系统中覆盖localstatedir
to /var/lib
,因为我们使用它在代码中定义宏:
-DLOCAL_STATE_DIR=\\\"$localstatedir/program_name\\\"
但如果用户提供了自定义localstatedir
,--localstatedir=…
我们想使用它。
如何才能做到这一点?
编辑:
到目前为止,我已经成功地将 a 添加localstatedir=/var/lib
到我们的 中configure.ac
,它正确地完成了第一部分。但我还没有找到一种方法来重新定义它,例如
./configure --localstatedir=/custom/dir
。这可能吗?