我正在开发一个配置程序 - 它不是autoconf,但我正在尝试(尽可能多)得到它以便使用它的./configure文件可以以类似于那些方式的方式进行接口使用autoconf制作 - 这意味着(尽可能)支持相同的变量选项。
只有一个选项对我没用。我的意思是,是的,我完全清楚选项意味着什么,我只是无法设想一个单独的场景,其中有人建议使用选项 - 除了一个我同样好奇的场景./configure脚本无法自动检测它将提供的信息。
我指的是“--srcdir”选项。它让我感到困惑的原因是我能够想象的唯一场景,其中源代码文件不在您当前的工作目录中(或者相对于您当前的工作目录如果“configure”脚本本身不在你当前的工作目录中,那么配置脚本被编程为预期 - 并且在那个场景中,我真的无法想象为什么“configure”脚本不能从其调用的名称外推源目录 - 而是必须使用--srcdir选项为其提供该信息。
例如,假设您的程序的源代码位于“awesome / software”目录中。这意味着,从您所在的位置,“configure”脚本将是“awesome / software / configure”。为什么“configure”脚本不能仅仅通过名称“awesome / software / configure”来调用source-directory是“awesome / software”,而是要求我添加单独的命令行选项:
--srcdir = awesome / software
如果这是不那种情况需要指定--srcdir选项(或者如果它不是仅类型的这种情况)有人可以向我描述任何其他类型的场景,其中安装程序的人会被建议改变它的默认情况下的“srcdir”变量吗?
答案 0 :(得分:0)
我指的是“--srcdir”选项。 ... 我可以想象的唯一场景,其中源代码文件不会出现在当前工作目录中(或者相对于当前工作目录,因为
configure
脚本被编程为期望)是“configure”脚本本身不在您当前的工作目录中
右。
在那个场景中,我真的无法想象为什么“configure”脚本不能从它调用的名称中推断出源目录 - 而是必须有--srcdir选项来给它那个信息。
我不确定是否需要。 configure
脚本将尝试猜测srcdir的位置:
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
...
因此,如果它们都不在这些地方,那么这将失败,因此需要--srcdir。也许这是(是吗?)需要哪种性能差异,其中源存储在“慢速”驱动器上,构建发生在“快速”驱动器上,configure
似乎运行得更快“快速“开车,所以它也需要在那里......
无论如何, - srcdir只是一个变量赋值,因此不难做到。
为什么“configure”脚本不能仅仅通过名称“awesome / software / configure”调用它来推断source-directory是“awesome / software”
configure
来源似乎没有指定--srcdir,但我没有尝试过。