summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.inc18
-rw-r--r--etc/mtree/BSD.include.dist4
-rw-r--r--lib/Makefile7
-rw-r--r--share/mk/bsd.own.mk15
-rw-r--r--usr.bin/Makefile5
5 files changed, 38 insertions, 1 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 6342de4..2cbedd8 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -956,6 +956,13 @@ _gensnmptree= usr.sbin/bsnmpd/gensnmptree
_crunchgen= usr.sbin/crunch/crunchgen
.endif
+# XXX: There is no way to specify bootstrap tools depending on MK-flags
+# with different per-architecture default values. Always build tblgen.
+_clang_tblgen= \
+ lib/clang/libllvmsupport \
+ lib/clang/libllvmsystem \
+ usr.bin/clang/tblgen
+
.if ${MK_CDDL} != "no"
_dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf lib/libelf \
lib/libdwarf cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge
@@ -963,6 +970,7 @@ _dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf lib/libelf \
bootstrap-tools:
.for _tool in \
+ ${_clang_tblgen} \
${_dtrace_tools} \
${_strfile} \
${_gperf} \
diff --git a/etc/mtree/BSD.include.dist b/etc/mtree/BSD.include.dist
index bf75eb7..a138bba 100644
--- a/etc/mtree/BSD.include.dist
+++ b/etc/mtree/BSD.include.dist
@@ -83,6 +83,10 @@
scsi
..
..
+ clang
+ 2.0
+ ..
+ ..
crypto
..
dev
diff --git a/lib/Makefile b/lib/Makefile
index f806290..7748b98 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -108,7 +108,8 @@ SUBDIR= ${SUBDIR_ORDERED} \
libwrap \
liby \
libz \
- ${_bind}
+ ${_bind} \
+ ${_clang}
.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf)
_csu=csu/${MACHINE_ARCH}-elf
@@ -137,6 +138,10 @@ _libsdp= libsdp
_libbsnmp= libbsnmp
.endif
+.if ${MK_CLANG} != "no"
+_clang= clang
+.endif
+
.if ${MK_GPIB} != "no"
_libgpib= libgpib
.endif
diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
index 6690d68..8839bb4 100644
--- a/share/mk/bsd.own.mk
+++ b/share/mk/bsd.own.mk
@@ -288,6 +288,18 @@ _no_fdt= FDT
.endif
#
+# Default behaviour of MK_CLANG depends on the architecture.
+#
+.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || \
+ ${MACHINE_ARCH} == "powerpc"
+_clang_yes=CLANG
+_clang_no=
+.else
+_clang_yes=
+_clang_no=CLANG
+.endif
+
+#
# MK_* options which default to "yes".
#
.for var in \
@@ -314,6 +326,7 @@ _no_fdt= FDT
BZIP2 \
CALENDAR \
CDDL \
+ ${_clang_yes} \
CPP \
CRYPT \
CTM \
@@ -417,6 +430,7 @@ MK_${var}:= yes
BIND_LIBS \
BIND_SIGCHASE \
BIND_XML \
+ ${_clang_no} \
${_no_fdt} \
HESIOD \
IDEA
@@ -497,6 +511,7 @@ MK_GROFF:= no
.endif
.if ${MK_TOOLCHAIN} == "no"
+MK_CLANG:= no
MK_GDB:= no
.endif
diff --git a/usr.bin/Makefile b/usr.bin/Makefile
index 2956445..14e3526 100644
--- a/usr.bin/Makefile
+++ b/usr.bin/Makefile
@@ -35,6 +35,7 @@ SUBDIR= alias \
${_chkey} \
chpass \
cksum \
+ ${_clang} \
cmp \
col \
${_colcrt} \
@@ -279,6 +280,10 @@ _cpio= cpio
_calendar= calendar
.endif
+.if ${MK_CLANG} != "no"
+_clang= clang
+.endif
+
.if ${MK_HESIOD} != "no"
_hesinfo= hesinfo
.endif
OpenPOWER on IntegriCloud