今天阅读autobook[注1]一书,3.4节讲到了configuration name。书中提到了build、host、target这几个变量。看起来容易让人感到一些混淆,其实这极大的简化了二进制文件格式生成的控制。
build -- 在build系统中建立package
host -- 建立好package后,package能够在host运行
target -- 经由package所产生的可执行文件能够在target上运行。
例如:
在GNU/Linux系统上交叉编译一个可以在AIX机器上运行的package。那么
build = i*86-pc-linux-gnu
host = rs6000-ibm-aix3.2
target = rs6000-ibm-aix3.2
在GNU/Linux系统上建立一个交叉编译工具,此交叉编译工具可以在AIX上运行,由此交叉编译出来的文件可以在ARM上运行,那么:
build = i*86-pc-linux-gnu
host = rs6000-ibm-aix3.2
target = arm-linux
由此可以看出,当建立一个package时,不必非在本地机器上建立,可以设置不同的configuration name来生成不同系统的package。
注:[1]autobook描述如何使用GNU提供的一系列autotools来管理复杂软件系统的开的。
阅读(2882) | 评论(0) | 转发(0) |