我正在尝试将autogen.sh (http://buildconf.brlcad.org/)与gummi (http://dev.midnightcoding.org/projects/gummi)结合使用,这样当我对configure.ac进行更改时,我的补丁就不必包含要配置的更改。如果我下载了gummi源代码的最新版本,删除po/Makefile.in.in,放入autogen.sh,然后运行它,autogen.sh会成功完成
Preparing the Gummi build system...please wait
Found GNU Autoconf version 2.68
Found GNU Automake version 1.11.1
Found GNU Libtool version 2.4
Automatically preparing build ... done
The Gummi build system is now prepared. To build here, run:
./configure
make但不会生成po/Makefile.in.in。但是,如果我运行intltoolize,它会生成po/Makefile.in.in。查看autogen.sh的源代码表明,它有时会运行intltoolize。这是autogen.sh中的错误吗?有没有什么方法可以让configure.ac (或其他文件)告诉autogen运行intltoolize?由intltoolize生成的文件是否应该包含在所有发行版中?
发布于 2012-04-29 07:27:04
是的,如果包使用了intltool,autogen.sh应该运行intltoolize。如果没有,那就是一个bug。
顺便说一句,尽管您正在使用的脚本本身称为“autogen.sh”,但实际上并不存在唯一的autogen.sh。这只是一个引导脚本的通用名称。我更喜欢写我自己的,具体到每个项目。它可以像下面这样简单:
#!/bin/bash
autoreconf --force --install || exit 1
intltoolize --force || exit 1但是,如果您有一个奇特的autogen.sh来检测是否运行intltoolize,那么它可能会检测configure.ac中是否调用了IT_PROG_INTLTOOL。我见过这种情况,但我不认为你的网站能做到这一点--我正在查看Sourceforge here的最新版本,但我在其中找不到字符串"intltool“。我会说你的autogen.sh和intltool不兼容。
简而言之:
https://stackoverflow.com/questions/10366852
复制相似问题