Compiler construction 是否存在使用中的所有已知目标三联体的列表?

Compiler construction 是否存在使用中的所有已知目标三联体的列表?,compiler-construction,cross-compiling,autoconf,Compiler Construction,Cross Compiling,Autoconf,在交叉编译工具时,通常必须提供“目标三元组”。举例说明 i686 pc linux gnu arm none linux gnueabi powerpc未知linux 等等 这些三胞胎有时实际上是四个组成部分,其形式如下: -[-]- 内核是可选的,制造商可以是“未知”或“无”,因为它通常不相关 我还没有找到一个页面,它记录了所有可能在这里使用的值。我知道所有组件几乎都是“自由风格”,因此没有任何官方标准会强迫您使用官方标准列表中的组件。然而,工具设计者和配置脚本编写者希望用户将这些三元组指

在交叉编译工具时,通常必须提供“目标三元组”。举例说明

  • i686 pc linux gnu
  • arm none linux gnueabi
  • powerpc未知linux
等等

这些三胞胎有时实际上是四个组成部分,其形式如下:

-[-]-

内核是可选的,制造商可以是“未知”或“无”,因为它通常不相关

我还没有找到一个页面,它记录了所有可能在这里使用的值。我知道所有组件几乎都是“自由风格”,因此没有任何官方标准会强迫您使用官方标准列表中的组件。然而,工具设计者和配置脚本编写者希望用户将这些三元组指定给他们的工具/脚本,因此他们必须记住一些可能的值,并且应该有一个类似“非官方列表”的东西,工具编写者、脚本编写者和用户可以用作参考


有人找到过这样的列表吗?

是的,libtool源代码中有。它叫。可能还不完整。还有一个名为
config.sub
的文件,它是在运行
autoreconf
时生成的。这些可能是最新的/完整的

但根据定义,你所要求的似乎是不可能的。如果有一些制造商推出的新“xyz”CPU,它在一段时间内不会出现在列表中

那么,在这种情况下,
配置脚本编写器要做什么呢?我的解决方案如下。我在一个名为
bootstrap.sh
的脚本中调用了
autoreconf
,该脚本按照人们的建议在构建之前设置了一些东西。该脚本使用sed(从技术上讲,是中的sed包装器脚本)在
autoeconf
之后将所需内容插入
config.sub
中,并将其复制到AC\u config\u AUX\u DIR


幸运的是,
config.sub
文件带有时间戳,因此如果将“xyz”添加到“官方”列表中,您可以只测试时间戳。然后将新的“官方”
config.sub
添加到tarball中,并使用
bootstrap.sh
测试
autoreconf
是否正在编写足够新的
config.sub
。如果不是最新版本,请用新版本复制旧版本。

+1对于平台列表,不幸的是它完全忽略了ARM。还有。不仅ARM上市,iOS也上市。这可能对叮当声有帮助。我不确定Linux工具有多有用。