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