免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2343 | 回复: 2
打印 上一主题 下一主题

autoxxx工具全是脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-21 01:23 |只看该作者 |倒序浏览
今天发现了一个小问题:autoxxx工具全是基于perl/bsh的脚本工具。

简单的看了一下代码:
autoscan(perl)生成的configure.scan/in中,宏展开并将其拷贝到输出基于autom4te;后面几个功能包括args的parse,正确性check,values的初始化;代码扫描部分(c/sh/text):

  1. push@cfiles,$File::Find::name;

  2. while ($_ = $file->getline)
  3. {
  4.     ... ...
  5. }
复制代码

然后configure.scan文件输出;

autoconf(bsh)主要用到了m4 macros,功能上和autoscanf基本类似。

automake(perl)在项目顶层运行(无参数)建立所有的 Makefile.in 文件;通过扫描 configure.in ,则自动找到每一个合适的 Makefile.am 文件并且产生相应的 Makefile.in 文件。它的具体实现比较多,没有作分析。


另外,这里再引用个小介绍:

  1. autoconf
  2.   一个产生可以自动配置源代码包,生成shell脚本的工具,以适应各种类 UNIX 系统的需要。autoconf 产生的配置脚本在运行时独立于 autoconf ,因此使用这些脚本的用户不需要安装 autoconf 。

  3. autoheader
  4.   能够创建供 configure 脚本使用的 C #define 语句模板文件。

  5. autom4te
  6.   一个 M4 宏处理器的包装

  7. autoreconf
  8.   当 autoconf 和 automake 的模版文件被改变的时候,以正确的顺序自动运行 autoconf, autoheader, aclocal, automake, gettextize, libtoolize 以节约时间。

  9. autoscan
  10.   为软件包创建 configure.in 文件。它以命令行参数中指定的目录为根(如果未给定参数则以当前目录为根)的目录树中检查源文件,搜索其中的可移植性问题,为那个软件包创建一个 configure.scan 文件以充当一个预备性的 configure.in 文件。

  11. autoupdate
  12.   将 configure.in 文件中 autoconf 宏的旧名称更新为当前名称

  13. ifnames
  14.   为一个软件包写 configure.in 文件提供帮助,它打印软件包中那些在 C 预处理器中已经使用了的标识符。如果一个包已经设置成具有某些可移植属性,这个程序能够帮助指出它的 configure 脚本应该如何检查。它可以用来填补由 configure.in 产生的 autoscan 中的隔阂。

复制代码

论坛徽章:
0
2 [报告]
发表于 2007-02-23 11:37 |只看该作者
没错,总的来说就是一组根据各种规则进行文本替换进行代码生成的脚本工具。

论坛徽章:
0
3 [报告]
发表于 2007-02-26 21:04 |只看该作者
perl的文本处理的能力和对正则表达式的支持都是非常强的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP