aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/clang/Makefile.inc4
-rw-r--r--lib/clang/headers/Makefile1
-rw-r--r--lib/clang/libclang/Makefile2
-rw-r--r--lib/clang/libclangminimal/Makefile1
-rw-r--r--lib/clang/liblldb/Makefile1
-rw-r--r--lib/clang/libllvm/Makefile2
-rw-r--r--lib/clang/libllvmminimal/Makefile1
-rw-r--r--share/man/man5/src.conf.55
-rw-r--r--share/mk/src.opts.mk1
-rw-r--r--tools/build/options/WITH_LLVM_FULL_DEBUGINFO2
-rw-r--r--usr.bin/clang/Makefile.inc8
11 files changed, 21 insertions, 7 deletions
diff --git a/lib/clang/Makefile.inc b/lib/clang/Makefile.inc
index 2dfc966726b0..37da7ac759b1 100644
--- a/lib/clang/Makefile.inc
+++ b/lib/clang/Makefile.inc
@@ -1,13 +1,15 @@
-.include <bsd.compiler.mk>
+.include <src.opts.mk>
PACKAGE= clang
MK_PIE:= no # Explicit libXXX.a references
+.if ${MK_LLVM_FULL_DEBUGINFO} == "no"
.if ${COMPILER_TYPE} == "clang"
DEBUG_FILES_CFLAGS= -gline-tables-only
.else
DEBUG_FILES_CFLAGS= -g1
.endif
+.endif
WARNS?= 0
diff --git a/lib/clang/headers/Makefile b/lib/clang/headers/Makefile
index 49f78b0a4d97..f72567514f20 100644
--- a/lib/clang/headers/Makefile
+++ b/lib/clang/headers/Makefile
@@ -1,4 +1,5 @@
+.include <bsd.init.mk>
.include "../clang.pre.mk"
.PATH: ${CLANG_SRCS}/lib/Headers
diff --git a/lib/clang/libclang/Makefile b/lib/clang/libclang/Makefile
index 51c209d879f1..8d911905808d 100644
--- a/lib/clang/libclang/Makefile
+++ b/lib/clang/libclang/Makefile
@@ -1,5 +1,5 @@
-.include <src.opts.mk>
+.include <bsd.init.mk>
.include "../clang.pre.mk"
LIB= clang
diff --git a/lib/clang/libclangminimal/Makefile b/lib/clang/libclangminimal/Makefile
index 744e1a835f90..22faa7b98aeb 100644
--- a/lib/clang/libclangminimal/Makefile
+++ b/lib/clang/libclangminimal/Makefile
@@ -1,4 +1,5 @@
+.include <bsd.init.mk>
.include "../clang.pre.mk"
LIB= clangminimal
diff --git a/lib/clang/liblldb/Makefile b/lib/clang/liblldb/Makefile
index c32e4a387b2e..e6e1e638abce 100644
--- a/lib/clang/liblldb/Makefile
+++ b/lib/clang/liblldb/Makefile
@@ -1,4 +1,5 @@
+.include <bsd.init.mk>
.include "../lldb.pre.mk"
LIB= lldb
diff --git a/lib/clang/libllvm/Makefile b/lib/clang/libllvm/Makefile
index df39f2eb212e..b59d881ad99a 100644
--- a/lib/clang/libllvm/Makefile
+++ b/lib/clang/libllvm/Makefile
@@ -1,5 +1,5 @@
-.include <src.opts.mk>
+.include <bsd.init.mk>
.include "../llvm.pre.mk"
LIB= llvm
diff --git a/lib/clang/libllvmminimal/Makefile b/lib/clang/libllvmminimal/Makefile
index 83c7101b04f5..ce5535a59072 100644
--- a/lib/clang/libllvmminimal/Makefile
+++ b/lib/clang/libllvmminimal/Makefile
@@ -1,4 +1,5 @@
+.include <bsd.init.mk>
.include "../llvm.pre.mk"
LIB= llvmminimal
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index e6affc81ab9c..a32b267afeb4 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1,5 +1,5 @@
.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
-.Dd November 13, 2023
+.Dd February 16, 2024
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -929,6 +929,9 @@ Do not build the
tool.
.It Va WITHOUT_LLVM_CXXFILT
Install ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
+.It Va WITH_LLVM_FULL_DEBUGINFO
+Generate full debug information for LLVM libraries and tools, which uses
+more disk space and build resources, but allows for easier debugging.
.It Va WITHOUT_LLVM_TARGET_AARCH64
Do not build LLVM target support for AArch64.
The
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index cf7f3f7dffa7..20c98cf45567 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -205,6 +205,7 @@ __DEFAULT_NO_OPTIONS = \
LOADER_VERBOSE \
LOADER_VERIEXEC_PASS_MANIFEST \
LLVM_BINUTILS \
+ LLVM_FULL_DEBUGINFO \
MALLOC_PRODUCTION \
OFED_EXTRA \
OPENLDAP \
diff --git a/tools/build/options/WITH_LLVM_FULL_DEBUGINFO b/tools/build/options/WITH_LLVM_FULL_DEBUGINFO
new file mode 100644
index 000000000000..4362de9eb762
--- /dev/null
+++ b/tools/build/options/WITH_LLVM_FULL_DEBUGINFO
@@ -0,0 +1,2 @@
+Generate full debug information for LLVM libraries and tools, which uses
+more disk space and build resources, but allows for easier debugging.
diff --git a/usr.bin/clang/Makefile.inc b/usr.bin/clang/Makefile.inc
index 831cd56a8c25..99e993b57cb2 100644
--- a/usr.bin/clang/Makefile.inc
+++ b/usr.bin/clang/Makefile.inc
@@ -1,14 +1,16 @@
-WARNS?= 0
-
-.include <bsd.compiler.mk>
+.include <src.opts.mk>
MK_PIE:= no # Explicit libXXX.a references
+.if ${MK_LLVM_FULL_DEBUGINFO} == "no"
.if ${COMPILER_TYPE} == "clang"
DEBUG_FILES_CFLAGS= -gline-tables-only
.else
DEBUG_FILES_CFLAGS= -g1
.endif
+.endif
+
+WARNS?= 0
.include "../Makefile.inc"