compilers.conf.5: Add IMPLEMENTATION NOTES for some more details.
authorSascha Wildner <saw@online.de>
Tue, 23 Feb 2010 17:33:45 +0000 (18:33 +0100)
committerSascha Wildner <saw@online.de>
Tue, 23 Feb 2010 17:36:02 +0000 (18:36 +0100)
share/man/man5/compilers.conf.5

index 4fa7167..53709fc 100644 (file)
@@ -108,6 +108,42 @@ and
 .Nm clangsvn
 (installed from SVN trunk as described in
 .Pa http://clang.llvm.org/get_started.html ) .
+.Sh IMPLEMENTATION NOTES
+In
+.Dx ,
+compilers are selected by setting the
+.Ev CCVER
+variable.
+The
+.Xr objformat 1
+deflector program is responsible for executing the correct programs (located in
+.Pa /usr/libexec/$CCVER )
+based on the setting of that variable.
+Traditionally,
+.Dx
+has 2 compilers in base, one of which is the default compiler and the other
+is either a newer or older version.
+.Pp
+In order to allow additional non-base compilers into
+.Dx Ap s
+build process,
+.Xr objformat 1
+deflects to
+.Pa /usr/libexec/custom
+when
+.Ev CCVER Ap s
+setting is not one of the compilers in base.
+This directory contains a
+.Pa cc
+wrapper script (and some links to it).
+The wrapper script then takes care of making the compiler look and behave
+like a compiler in base.
+.Pp
+The settings in
+.Nm
+specify paths and flags for the
+.Pa /usr/libexec/custom/cc
+script.
 .Sh FILES
 .Bl -tag -width ".Pa /etc/compilers.conf" -compact
 .It Pa /etc/compilers.conf