创建定制配置文件

如果使用 XLC_USR_CONFIG 环境变量来指示编译器使用定制用户定义的配置文件,那么编译器将先检查并处理该用户定义的配置文件中的设置,然后再查看缺省系统配置文件中的设置。

要创建用户定义的定制配置文件,请添加指定 use 属性的多个级别的节。 用户定义的配置文件可以引用同一文件中其他地方指定的定义,以及系统配置文件中指定的定义。 对于给定的编译,当编译器查找给定的节时,会从用户定义的配置文件的开头进行搜索,并遵循使用属性中指定的任何其他节,包括系统配置文件中指定的节。

如果在 use 属性中命名的节的名称与当前正在处理的节不同,则从用户定义的配置文件的开头开始搜索 use 节。 这是您在以下示例中看到的 A、C 和 D 节的情况。 但是,如果 use 属性中的节与当前正在处理的节具有相同的名称,如示例中的两个 B 节的情况,则从当前节的位置开始搜索 use 节。

以下示例显示了如何对 use 属性使用多个级别。 此示例使用 options 属性来帮助说明 use 属性的工作方式,但也可以使用任何其他属性,例如 libraries
图 1。 样本配置文件
A: use =DEFLT
    options=<set of options A>
B: use =B
    options=<set of options B1>
B: use =D
    options=<set of options B2>
C: use =A
    options=<set of options C>
D: use =A
    options=<set of options D>
DEFLT:
    options=<set of options Z>
在此示例中:
  • A 节使用选项集 AZ
  • B 节使用选项集 B1B2DAZ
  • C 节使用选项集 CAZ
  • D 节使用选项集 DAZ

属性的处理顺序与节的顺序相同。 指定选项的顺序对于选项解析很重要。 通常,如果某个选项指定了多次,那么该选项的最后一个指定实例将胜出。

缺省情况下,配置文件的节中定义的值被添加到先前处理的节中指定的值列表中。 例如,假定 XLC_USR_CONFIG 环境变量设置为指向位于 ~/userconfig1的用户定义的配置文件。 对于以下示例中显示的用户定义的配置文件和缺省配置文件,编译器将引用用户定义的配置文件中的 xlc 节,并按以下顺序使用配置文件中指定的选项集: A1ADC
图 2。 定制用户定义的配置文件 ~/userconfig1
xlc:  use=xlc
    options= <A1>
 
DEFLT: use=DEFLT
    options=<D>
图 3。 缺省配置文件 xlc.cfg
xlc:  use=DEFLT
    options=<A>

DEFLT:
    options=<C>