如何通过configure生成libtool自定义脚本?

Vya*_*lav 4 linux build configure libtool auto-generate

我对libtool的东西很新.我有一个问题,构建我的项目需要libtool 1.5,但我系统上的默认libtool(debian,squeeze)是2.2.我做的是我从源代码安装了libtool 1.5,并将其放入/ usr/local.我的PATH变量首先选择/ usr/local/bin路径.

运行autogen时,我可以看到它"看到"libtool 1.5.但是,当我运行configure脚本时,我的构建目录中会出现2.2版的libtool脚本.我不知道它来自哪里,因为我使用包管理器卸载了libtool 2.2.

你能建议如何解决这个问题吗?如何在我的构建文件夹中生成libtool脚本?与ltmain.sh有什么关系?

谢谢,维亚切斯拉夫

Wil*_*ell 7

一个简单的解决方案可能是

$ ./configure LIBTOOL=/usr/local/bin/libtool ...

但是如果你使用古老的libtool,你也可能使用古老的autoconf,在这种情况下你必须这样做:

$ LIBTOOL=/usr/local/bin/libtool ./configure ...

或者,如果您使用csh或其变体:

$ env LIBTOOL=/usr/local/bin/libtool ./configure ...

构建目录中的libtool是从ltmain.sh生成的.文件config.status(由configure生成)运行sed脚本,该脚本使用ltmain.sh作为生成libtool的输入.当您通过autoreconf运行libtoolize时,libtoolize将ltmain.sh复制到源目录中.如果autoreconf确实在/ usr/local/bin中看到了libtool 1.5,那么源目录中的ltmain.sh应该是/usr/local/share/libtool/ltmain.sh的副本.