LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1422|回复: 3

Autobook的翻译草稿2

[复制链接]
发表于 2003-12-14 16:42:21 | 显示全部楼层 |阅读模式

//*************************************************************

译序

初学linux系统,感觉linux底下的编译,链接程序真的很麻烦。
因此想到了用Autoconf等工具。找到了Autobook这本好书。
也不知道有没有人翻译过这本书。
该书由女友Ellen翻译,在此对她表示感谢。
该书原文请参考 http://sources.redhat.com/autobook/...tobook_toc.html
如果翻译时有什么错误请
Ellengut2002@yahoo.com或者jasongut2002@126.com

转载请保留译序,3x.

//--------------------------------

2.历史
   本章我们就书中工具的发展历史进行简要阐述。你不必为了使用这些工具而去了解历史。但是了解这些工具的发展过程将有助于解释它们今天运作方式的原因。此外,我们有必要感谢原创作者及其灵感来源,并对他们所做的贡献作一番解释。
2.1 Unix系统的多样性
   Autoconf是书中所讨论的程序中最早被开发的。它的发展是由Unix操作系统的历史决定的。
   贝尔实验室的Dennis Ritchie和Ken Thompson于 1969 编写了最早版本的Unix。在上世纪七十年代,尽管贝尔实验室并不被允许商业化地出售Unix,但是它确实以较低的价格将Unix卖给了一些大学。位于伯克利(Berkeley)的加利福尼亚州大学在原有的Unix上又进行了改进。这就是BSD版的Unix。
上世纪八十年代早期,AT&T签定允许他们商业化地出售Unix的协议。Unix的第一个AT&T版本也就是System III。
八十年代随着Unix越来越受人们欢迎,其他一些公司对原有的Unix进行修改而有了他们自己的版本。例如, Sun Microsystems 的SunOS  , Digital Equipment Corporation 的Ultrix, 以及 Hewlett Packard 的HP-UX.。
尽管Unix的各个版本在本质上是相似的,各版本之间还是有区别的。它们的头文件集和系统库的功能列表有些细微的差别,而更重要的差别则在于终端处理和job控制。
然而POSIX的出现则消除了其中的一些差别。但是POSIX 在一些领域中又引入了新的特性,从而导致了更多的版本。同样,不同系统采用不同时期的POSIX标准,也导致了更多的差异。
所有这些差异给作为源代码散布的程序带来了问题。即使像memcpy这样简单的功能也不是任何系统都提供的;BSD系统库提供与之类似的功能bcopy,但是变量的次序是相反的。
要使程序在不同版本的Unix都能运行的话,程序的作者若就必须熟悉各版本之间的具体差别。他们还需要注意这些差别在各版本中是如何体现的,因为它们虽然都遵循POSIX标准,但是各自又引入了新的各不相同的特性。
虽然通常情况下可以用#ifdef来确认特定的系统和版本,但是人们越来越难以知道哪个版本具有哪些特性。因此,人们需要更系统的方法来处理不同版本间的差异。
2.        2第一个配置程序
到1992为止,人们已经开发了四个系统来帮助源代码的移植:
(1). Metaconfig program (由Larry Wall, Harlan Stenn,和Raphael Manfredi开发)
(2)Cygnus `configure' script (由 K. Richard Pixley开发)
original GCC `configure' scrip(由 Richard Stallman.开发)
两者十分相似,因开发者经常交流。 GCC 是 GNU Compiler Collection, 也就是以前的 GNU C compiler.
(3)GNU Autoconf package(由 David MacKenzie开发 )
(4)Imake( X Window系统的一部分)
以上四个系统都分两步创建程序:配置和build。四个系统在build步骤时都使用Unix make程序。Make程序从Makefile中读取一系列规则,并用这些规则创建程序。配置步骤则产生Makefile’s,或许还产生其他文件,而所有这些文件都将在build步骤中被使用。
   Metaconfig 和Autoconf都用特性测试来测试系统的能力。它们用Bourne shell脚本(所有Unix版本都以不同形式支持Bourne shell脚本)运行不同的测试以确定系统支持的内容。   
    Cygnus `configure' script 和 original GCC `configure' script也是Bourne shell脚本。它们靠小的配置文件得到每个系统的变量,包括头文件和‘Makefilse’碎片。在早期版本中,编译程序的使用者必须告诉脚本该程序是为哪种系统创建的;后来Per Bothner编写的shell脚本能根据标准Unix uname程序和其他信息确定系统类型。
    Imake 是可移植的C程序。它可以被定制以用于特定的系统,并作为软件包创建的一部分来运行。但更常见的情况是,Imake和软件包一起散布。其中的软件包包含了被支持的系统所需的所有配置信息。
    Metaconfig 和 Autoconf是程序作者使用的程序。它们产生的shell脚本将与程序的源代码一起散布。用户想要创建程序,运行shell脚本为配置源代码特定系统它将。(要创建系统时用户运行shell脚本为特定目标系统配置源代码)
发表于 2003-12-14 20:56:17 | 显示全部楼层
8错,兄弟,继续努力啊!!
发表于 2003-12-28 21:14:38 | 显示全部楼层
谢谢兄弟了,这篇文章的确是没有中文的。应算是一本书或手册了。
 楼主| 发表于 2003-12-30 21:50:54 | 显示全部楼层

还有Autoconf,Automake,libtool也没有中文的

这三个东东都是好东西呀。
在GNU上有它们详细的手册会,也很有用的。

这本书是Autoconf的作者之一 ----Gary V. Vaughan 写的,主要是讲这三者怎么合起来用。在Redhat的主页上面有实例讲解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表