我正在使用Autoconf和Automake工具在ordrer中开发/分发我的应用程序。如果缺少系统库,请使用本地库
现在一切工作正常。
我的应用程序依赖于GSL(GNU科学图书馆),所以在我configure.ac,我寻找它这样做:
PKG_CHECK_MODULES([GSL],[GSL])
但如果GSL缺失,过程无法继续。
我的想法是这样的:包括GSL-1.15.tar.gz的分布状态存档,像这样:
- /
- 的3rdParty/
- GSL-1.15.tar.gz
- 的src/
- ...
- configure.ac
- 的3rdParty/
而且,假设最终用户没有互联网连接,或root权限,如果GSL丢失,他无法进行。
是否可以在configure.ac中编写如果缺少GSL,提取3rdParty/gsl-1.15.tar.gaz并指向提取的“include”和“lib”目录。
可能吗?
你能帮我吗?
不要这样做:http://wiki.gentoo.org/wiki/Why_not_bundle_dependencies – 2013-03-25 23:31:09
自动工具不是*包管理系统。不要尝试使用它们。 – 2013-03-27 13:04:18
大量的大型应用程序,库/框架都这样做。 1)Linux发行版甚至无法就单个软件包管理系统达成一致 - 更不用说其他的Unix/BSD变种了。 2)用户不一定具有在系统范围内安装软件包/库的权限!有时候,能够完成任务是一个实际问题。链接的Gentoo文章甚至将这种方法描述为妥协。 – 2013-03-30 00:02:44