利用Gnulib实现最大可移植性及FLAIM项目的Autotools转换示例
1. Gnulib简介与使用建议
Gnulib是一个强大的资源,可用于为基于Autotools的项目添加模块。其手册编写得很好,一旦掌握了基础知识,就比较容易理解,不过文档还不够全面。
接下来,你可以前往Gnulib模块页面,浏览可用的功能。在该页面以及仓库的modules和lib目录中,你还能查看模块的头文件和源代码,不妨去一探究竟。
Gnulib的维护者一直都需要大家在文档方面提供帮助。当你使用某个模块并熟悉它之后,看看其文档是否需要更新,并考虑成为贡献者。你可以利用Gnulib邮件列表,地址为:https://savannah.gnu.org/mail/?group=gnulib ,在这里你既可以提出关于Gnulib使用的问题,也可以提交文档和源代码的补丁。和大多数开源项目一样,在提交代码补丁之前,你应先发布关于改进的评论,以获取社区的反馈和认可。
2. FLAIM项目概述
FLAIM即“灵活自适应信息管理”(FLexible Adaptable Information Management),是一个用C++编写的高度可扩展的数据库管理库,基于其自身的轻量级可移植层——FLAIM工具包构建。有些读者可能知道,它曾被用于Novell eDirectory和Novell GroupWise服务器。
FLAIM起源于20世纪80年代末的WordPerfect,1994年Novell与WordPerfect合并后,它成为了Novell软件组合的一部分。Novell eDire