File:  [NetBSD Developer Wiki] / wikisrc / Attic / clang.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Sat Dec 30 18:32:38 2017 UTC (2 years, 9 months ago) by gdt
Branches: MAIN
CVS tags: HEAD
Add page about clang and the base system

This page explainsse how to use clang with the NetBSD base system.
See also [how to use clang to build packages](tutorials/pkgsrc/clang/).

\todo: review this entire page.

Since NetBSD 6, the base system has included clang, but it is not
built or used by default.

\todo Explain if there are or aren't plans to enable it by default, or
to switch, keeping in mind that compiler support varies by architecture.

There are three steps that can be taken with clang; each depends on the previous.

# Building clang

To build clang as part of the build, set

    MKLLVM=yes

in mk.conf before running "build.sh release".

This will build clang, which will appear in /usr/bin/clang and also
build libraries that clang needs.  NetBSD itself will not be built
with clang, but you will be able to use clang to build programs.

# Using clang to build the NetBSD base system

In addition, set

    HAVE_LLVM=yes

to cause clang to be used instead of gcc.

\todo It is not 100% clear if this stage works, vs having to set
MKGCC=no also.

# Not building gcc

On a system that builds clang and uses it to build the base system,
you can refrain from building gcc, by additionally adding:

    MKGCC=no

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb