gawkworkflow: Compilers

1 
1 8.3.2 Compilers
1 ---------------
1 
1 The default compiler for 'gawk' development is GCC, the GNU Compiler
1 Collection (https://gcc.gnu.org).  The default version of GCC is
1 whatever is on the maintainer's personal GNU/Linux system, although he
1 does try to build the latest released version if that is newer than
1 what's on his system, and then occasionally test 'gawk' with it.
1 
1    He also attempts to test occasionally with 'clang'
1 (https://clang.llvm.org/).  However, he uses whatever is the default for
1 his GNU/Linux system, and does _not_ make an effort to build the current
1 version for testing.
1 
1    Both GCC and 'clang' are highly optimizing compilers that produce
1 good code, but are very slow.  There are two other compilers that are
1 faster, but that may not produce quite as good code.  However, they are
1 both reasonable for doing development.
1 
1 _The Tiny C Compiler, 'tcc'_
1      This compiler is _very_ fast, but it produces only mediocre code.
1      It is capable of compiling 'gawk', and it does so well enough that
1      'make check' runs without errors.
1 
1      However, in the past the quality has varied, and the maintainer has
1      had problems with it.  He recommends using it for regular
1      development, where fast compiles are important, but rebuilding with
1      GCC before doing any commits, in case 'tcc' has missed
1      something.(1)
1 
1      See the project's home page (http://www.tinycc.org) for some
1      information.  More information can be found in the project's Git
1      repository (http://repo.or.cz/tinycc.git).  The maintainer builds
1      from the 'mob' branch for his work, but after updating it you
1      should check that this branch still works to compile 'gawk' before
1      installing it.
1 
1 _The (Revived) Portable C Compiler_
1      This is an updated version of the venerable Unix Portable C
1      Compiler, PCC. It accepts ANSI C syntax and supports both older and
1      modern architectures.  It produces better code than 'tcc' but is
1      slower, although still much faster than GCC and 'clang'.
1 
1      See the project's home page (http://pcc.ludd.ltu.se) for more
1      information.  See <http://pcc.ludd.ltu.se/supported-platforms> for
1      instructions about obtaining the code using CVS and building it.
1 
1      An alternative location for the source is the 'gawk' maintainer's
1      Git mirror (https://github.com/arnoldrobbins/pcc-revived) of the
1      code.
1 
1    ---------- Footnotes ----------
1 
1    (1) This bit the maintainer once.
1