6.3.8 语言前端剖析
GCC的语言前端具有下列部分:
-
gcc下的目录language包含了那个前端的源文件。详情参见The Front End language Directory。
-
在gcc/doc/install.texi的所支持的语言列表中对该语言的记载。
-
在gcc/doc/install.texi文档中,记载了在哪个名字下能够被--enable-shared=package识别的语言的运行时库。
-
在文档gcc/doc/install.texi中对构建前端所需的任何前提条件的记载。
- A mention of the name under which the language's runtime library is
recognized by --enable-shared=package in the
documentation of that option in gcc/doc/install.texi.
- A mention of any special prerequisites for building the front end in
the documentation of prerequisites in gcc/doc/install.texi.
-
在gcc/doc/contrib.texi中那个前端的贡献者的详情。如果详情是在那个前端自己的手册中,则在contrib.texi中应该有一个指向那个手册列表的链接。
-
在gcc/doc/frontends.texi中关于对那个语言的支持的信息。
-
在gcc/doc/standards.texi中关于那个语言的标准和前端对其的支持的信息。这可能是一个指向前端自己手册中这些信息的一个链接。
-
在gcc/doc/invoke.texi中,那个语言的源文件后缀详请和所支持的-x lang选项。
-
在gcc.c的
default_compilers
里,那个语言的源文件后缀的入口项。
-
比较适合的测试包,可能在gcc/testsuite下或者运行时库目录下。FIXME:在某处记载如何写测试包harnesses。
-
在gcc目录外,可能有一个该语言的运行时库。FIXME:详细描述一下。
-
在gcc/doc/sourcebuild.texi中关于任何运行时库的目录的详情。
- Check targets in Makefile.def for the top-level Makefile
to check just the compiler or the compiler and runtime library for the
language.
如果前端被增加到GCC CVS库中,则还需要下列:
-
至少有一个关于那个前端和运行时库的bug的Bugzilla component。该类别需要在gcc/gccbug.in中有记载,同时被添加到Bugzilla数据库中。
-
通常,在MAINTAINERS中列出那个前端的一个或多个维护者。
-
在GCC网站上的index.html和frontends.html中的一些记载,以及在readings.html上的任何相关链接。(不是GCC官方部分的前端还可以在frontends.html中列出,并带有相关链接。)
-
在index.html中的一条消息,并且可能在gcc-announce@gcc.gnu.org邮件组中的一个声明。
-
前端手册应该在maintainer-scripts/update_web_docs(参见Texinfo Manuals)中有记载,并且来自onlinedocs/index.html的在线手册应该有相应链接。
-
在GCC包含该前端之前的任何旧的发行版本或CVS库版本,应该可以在GCC FTP站点ftp://gcc.gnu.org/pub/gcc/old-releases/上获得。
-
发行版和快照脚本maintainer-scripts/gcc_release应该被更新为可以生成该前端的合适的tar包。相关的maintainer-scripts/snapshot-README和maintainer-scripts/snapshot-index.html文件应该被更新为可以列出该前端的tar包和diffs。
-
如果该前端包含自己的版本文件,其包含了当前日期,则maintainer-scripts/update_version应该相应的被更新。