告诉配置脚本使用相对路径
我使用GNU autoconf为我的一个程序生成一个配置脚本,现在我正在尝试为Windows进行交叉编译。
在Linux下,要改变我提供的数据文件的位置--datarootdir=/blah
,它工作正常。 然而,在Windows下,我的应用程序的路径在运行时才会知道(因为用户可以选择将它安装在任何地方)。因此,我想将数据目录设置为当前目录,无论应用程序在何处已启动。
不幸的是,传递--datarootdir=.
不起作用:
configure: error: expected an absolute directory name for --datarootdir: .
你如何告诉Autoconf / configure在运行时需要一个相对于当前目录的路径?
我想我已经找到了一个解决方案。 看起来--datarootdir
用于控制文件的安装位置,因此它需要成为make install
的绝对路径。 但是在编译过程中它可以被覆盖:
make datadir="."
这样,在编译过程中,代码认为$(datadir)
是“。” 但是当运行make install
,文件仍然放在./configure --datarootdir=...
指定的绝对路径中./configure --datarootdir=...
给它一个与当前工作目录相等的绝对路径:
./configure --datarootdir=$PWD
链接地址: http://www.djcxy.com/p/58227.html
上一篇: Tell a configure script to use a relative path for
下一篇: Can I/O latency cause a simple UPDATE to take seconds in MySQL?