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