告诉配置脚本使用--datarootdir的相对路径

时间:2012-03-11 10:11:16

标签: cross-compiling autoconf

我已经使用GNU autoconf为我的程序生成配置脚本,我现在正试图为Windows进行交叉编译。

在Linux下,要更改我提供的数据文件的位置--datarootdir=/blah,它可以正常工作。然而,在Windows下,我的应用程序的路径在运行时才会被人知道(因为用户可以选择将其安装在任何地方。)因此,我想将数据目录设置为当前目录,无论在哪里在应用程序启动时。

不幸的是,通过--datarootdir=.并不起作用:

configure: error: expected an absolute directory name for --datarootdir: .

如何在运行时告诉Autoconf / configure您想要相对于当前目录的路径?

2 个答案:

答案 0 :(得分:3)

我想我找到了部分解决方案。似乎--datarootdir用于控制文件安装的位置,因此它需要是make install的好处的绝对路径。但是在编译期间可以覆盖它:

make datadir="."

这样,在编译期间,代码认为$(datadir)是“。”但是当运行make install时,文件仍然放在./configure --datarootdir=...

的绝对路径中

答案 1 :(得分:1)

只需给它一个等于当前工作目录的绝对路径:

./configure --datarootdir=$PWD