6.3.8.2 前端config-lang.in文件
每一个语言子目录都包含一个config-lang.in文件。另外主目录下包含一个c-config-lang.in,里面含有C语言的限制信息。这个文件是一个shell脚本,可以用来定义一些描述语言的变量。
language
-
必须定义,它给出了语言的名字用于作为--enable-languages的参数或其它用途。
lang_requires
-
如果定义,该变量列出了(由空格分开)该前端需要被支持的除了C的语言前端(使用所设置的
language
名字)。例如,Java前端依赖于C++前端,所以要设为‘lang_requires=c++’。
subdir_requires
-
如果定义,该变量列出了(由空格分开)该前端需要存在的除了C的前端目录。例如,Objective-C++前端使用了C++和Objective-C前端的源文件,所以要设为‘subdir_requires="cp objc"’。
target_libs
-
如果定义,该变量列出了(由空格分开)在顶层Makefile中为该语言构建运行时库的目标,例如
target-libobjc
。
lang_dirs
-
如果定义,该变量列出了(由空格分开)只有构建该前端时才应被配置的除了运行时库之外的顶层目录(与gcc并列)。
build_by_default
-
如果定义为‘no’,则该语言前端只有在--enable-languages中指定参数时才被构建。否则,会按照缺省方式来构建前端,并且受到configure.ac中特定逻辑的影响(正如目前,如果Ada编译器没有安装则禁止Ada前端)。
boot_language
-
如果定义为‘yes’,则该前端在自举阶段1中会被构建。这个只与用它们自己的语言写的前端相关。
compilers
-
如果定义,则为空格分隔的编译器可执行程序列表,其将被驱动调用运行。这里的名字将以‘\$(exeext)’结尾。
outputs
-
如果定义,则为空格分隔的文件列表,其将被configure通过值替换来生成。这种机制可以用来从language/Makefile.in中创建一个language/Makefile文件,但不赞成这样,应该从单个gcc/Makefile中来构建所有。
gtfiles
-
如果定义,则为空格分隔的文件列表,其将被gengtype.c扫描来生成垃圾搜集表,和该语言的程序。这不包括所有前端公用的文件。参见Type Information。