gccint: Front End
1
1 6.3.8 Anatomy of a Language Front End
1 -------------------------------------
1
1 A front end for a language in GCC has the following parts:
1
1 * A directory 'LANGUAGE' under 'gcc' containing source files for that
11 front end. ⇒The Front End 'LANGUAGE' Directory Front End
Directory, for details.
1 * A mention of the language in the list of supported languages in
1 'gcc/doc/install.texi'.
1 * A mention of the name under which the language's runtime library is
1 recognized by '--enable-shared=PACKAGE' in the documentation of
1 that option in 'gcc/doc/install.texi'.
1 * A mention of any special prerequisites for building the front end
1 in the documentation of prerequisites in 'gcc/doc/install.texi'.
1 * Details of contributors to that front end in
1 'gcc/doc/contrib.texi'. If the details are in that front end's own
1 manual then there should be a link to that manual's list in
1 'contrib.texi'.
1 * Information about support for that language in
1 'gcc/doc/frontends.texi'.
1 * Information about standards for that language, and the front end's
1 support for them, in 'gcc/doc/standards.texi'. This may be a link
1 to such information in the front end's own manual.
1 * Details of source file suffixes for that language and '-x LANG'
1 options supported, in 'gcc/doc/invoke.texi'.
1 * Entries in 'default_compilers' in 'gcc.c' for source file suffixes
1 for that language.
1 * Preferably testsuites, which may be under 'gcc/testsuite' or
1 runtime library directories. FIXME: document somewhere how to
1 write testsuite harnesses.
1 * Probably a runtime library for the language, outside the 'gcc'
1 directory. FIXME: document this further.
1 * Details of the directories of any runtime libraries in
1 'gcc/doc/sourcebuild.texi'.
1 * Check targets in 'Makefile.def' for the top-level 'Makefile' to
1 check just the compiler or the compiler and runtime library for the
1 language.
1
1 If the front end is added to the official GCC source repository, the
1 following are also necessary:
1
1 * At least one Bugzilla component for bugs in that front end and
1 runtime libraries. This category needs to be added to the Bugzilla
1 database.
1 * Normally, one or more maintainers of that front end listed in
1 'MAINTAINERS'.
1 * Mentions on the GCC web site in 'index.html' and 'frontends.html',
1 with any relevant links on 'readings.html'. (Front ends that are
1 not an official part of GCC may also be listed on 'frontends.html',
1 with relevant links.)
1 * A news item on 'index.html', and possibly an announcement on the
1 <gcc-announce@gcc.gnu.org> mailing list.
1 * The front end's manuals should be mentioned in
1 'maintainer-scripts/update_web_docs_svn' (⇒Texinfo Manuals)
1 and the online manuals should be linked to from
1 'onlinedocs/index.html'.
1 * Any old releases or CVS repositories of the front end, before its
1 inclusion in GCC, should be made available on the GCC FTP site
1 <ftp://gcc.gnu.org/pub/gcc/old-releases/>.
1 * The release and snapshot script 'maintainer-scripts/gcc_release'
1 should be updated to generate appropriate tarballs for this front
1 end.
1 * If this front end includes its own version files that include the
1 current date, 'maintainer-scripts/update_version' should be updated
1 accordingly.
1
Menu