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