|
//*************************************************************
译序
初学linux系统,感觉linux底下的编译,链接程序真的很麻烦。
因此想到了用Autoconf等工具。找到了Autobook这本好书。
也不知道有没有人翻译过这本书。
该书由女友Ellen翻译,在此对她表示感谢。
该书原文请参考 http://sources.redhat.com/autobook/...tobook_toc.html
如果翻译时有什么错误请
Ellengut2002@yahoo.com或者jasongut2002@126.com
转载请保留译序,3x.
//--------------------------------
3.4 配置名
GNU Autotools用配置名命名所有的计算机系统。这是标准格式的系统名称。
如:sparc-sun-solaris2.7', `i586-pc-linux-gnu', 和`i386-pc-cygwin'都是配置名。
所有的配置名曾经都由三部分组成。在一些文挡中,它们仍被称为配置三连符。一个配置三连符是cpu-manufacturer-operating_system。现在,在像GNU/Linux这样区分内核和操作系统的系统中,配置名可以由四部分组成。在上述情况下,配置名就是cpu-manufacturer-kernel-operating_system。
当在configure选项中使用配置名时,通常不需要指定整个名字。特别的是,中间部分(下面称manufacturer)通常被省略,而产生像`i386-linux'sparc-sunos'这样的字符串 。shell脚本config.sub'可将省略形式翻译成标准形式。
在大部分的UNIX版本中,shell脚本config.guess'将为它所运行的系统输出正确的配置名。它可通过运行标准的uname程序和检查系统的其他性质达到上述目标。在一些系统中,config.guess'要求可用的C编译器或汇编编译器。
因为config.guess'通常能为机器决定配置名,用户或开发者在特殊情况下(如创建交互编译器)才需要指定配置名。
下面将对配置名中每一部分进行描述:
cpu
系统使用的处理器。典型的如`i386'`sparc'。更具体的变量也被使用,如mipsel表示小端模式的`MIPS处理器。
manufacturer
指定系统的生产商,这也是配置名中最不确定的一部分。通常是`unknown'。其他常用的字符串是表示兼容IBM PC系统的`pc',或者是工作站供应商的名称,如sun。'
operating_system
系统使用的操作系统的名称。如`solaris2.5'或`winnt4.0'。这里没有对版本数作出特殊的限制。因此,可以看到像aix4.1.4.0'这样的字符串。
配置名可以被用于描述所有种类的系统,包括不运行任何操作系统的嵌入式系统。在这种情况下,配置名的这部分通常被用于表示目标文件格式,如elf或coff。
Kernel
主要用于GNU/Linux系统。典型的GNU/Linux配置名是i586-pc-linux-gnulibc1'。在这种情况下,内核`linux'与操作系统`gnulibc1'是分开的。
`configure'能够很好地控制二进制文件的格式。在主机上使用交互编译器便可创建目标机器上的软件包,而不必直接在目标机器上创建软件包。此外,如果你尝试创建的软件包本身就有能力在交互配置的环境中运行,那么一旦交互配置的软件包创建,build系统就不必是放置该软件包同类型机器。例如:
为GNU/Linux系统编译一个简单的软件包。
host = build = target = `i586-pc-linux-gnu'
在一个将运行于IBM AIX 机器的GNU/Linux系统上交互编译一个软件包:
build = `i586-pc-linux-gnu', host = target = `rs6000-ibm-aix3.2'
在GNU/Linux系统中创建一个运行于Solaris的MIPS-ECOFF交互编译器:
system. build = `i586-pc-linux-gnu', host = `sparc-sun-solaris2.4', target = `mips-idt-ecoff' |
|