summaryrefslogtreecommitdiffstats
path: root/share/mk/configure/build-depends/cc.mk
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:41:07 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:41:07 +0000
commit3af6d22bb3850ab2bac67287e3a3d3b0e32868e5 (patch)
tree3ee7a3ec64525911fa865bb984c86d997d855527 /share/mk/configure/build-depends/cc.mk
parentAdding debian version 6.05.01-1. (diff)
downloadmanpages-3af6d22bb3850ab2bac67287e3a3d3b0e32868e5.tar.xz
manpages-3af6d22bb3850ab2bac67287e3a3d3b0e32868e5.zip
Merging upstream version 6.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'share/mk/configure/build-depends/cc.mk')
-rw-r--r--share/mk/configure/build-depends/cc.mk63
1 files changed, 63 insertions, 0 deletions
diff --git a/share/mk/configure/build-depends/cc.mk b/share/mk/configure/build-depends/cc.mk
new file mode 100644
index 0000000..85470a4
--- /dev/null
+++ b/share/mk/configure/build-depends/cc.mk
@@ -0,0 +1,63 @@
+# Copyright 2024, Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_CC_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_CC_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/sed.mk
+
+
+CC := gcc
+
+
+CC_VENDOR := \
+ $(shell \
+ $(CC) -v 2>&1 \
+ | $(SED) -n '1p;$$p' \
+ | $(SED) '/gcc version/s/.*/gcc/' \
+ | $(SED) '/clang version/s/.*/clang/' \
+ | $(SED) '/Apple LLVM version/s/.*/clang/' \
+ | $(GREP) -e '^gcc$$' -e '^clang$$' \
+ || $(ECHO) unknown; \
+ )
+
+
+COMMON_CFLAGS := \
+ -O3 \
+ -flto \
+ -Wall \
+ -Wextra \
+ -Werror \
+ -Wstrict-prototypes \
+ -Wdeclaration-after-statement \
+ -Wno-error=unused-parameter \
+ -Wno-error=sign-compare \
+ -Wno-error=format \
+ -Wno-error=uninitialized
+
+
+GCC_CFLAGS := -fanalyzer
+
+
+CLANG_CFLAGS := \
+ -Weverything \
+ -Wno-unsafe-buffer-usage
+
+
+DEFAULT_CFLAGS := $(COMMON_CFLAGS)
+
+ifeq ($(CC_VENDOR),gcc)
+DEFAULT_CFLAGS += $(GCC_CFLAGS)
+else ifeq ($(CC_VENDOR),clang)
+DEFAULT_CFLAGS += $(CLANG_CFLAGS)
+endif
+
+EXTRA_CFLAGS :=
+CFLAGS := $(DEFAULT_CFLAGS) $(EXTRA_CFLAGS)
+
+
+endif # include guard