summaryrefslogtreecommitdiff
path: root/devel/bmake/files/mk/compiler.mk
diff options
context:
space:
mode:
Diffstat (limited to 'devel/bmake/files/mk/compiler.mk')
-rw-r--r--devel/bmake/files/mk/compiler.mk43
1 files changed, 43 insertions, 0 deletions
diff --git a/devel/bmake/files/mk/compiler.mk b/devel/bmake/files/mk/compiler.mk
new file mode 100644
index 00000000000..e165844f3a5
--- /dev/null
+++ b/devel/bmake/files/mk/compiler.mk
@@ -0,0 +1,43 @@
+# $Id: compiler.mk,v 1.1.1.1 2020/05/24 05:35:53 nia Exp $
+#
+# @(#) Copyright (c) 2019, Simon J. Gerraty
+#
+# This file is provided in the hope that it will
+# be of use. There is absolutely NO WARRANTY.
+# Permission to copy, redistribute or otherwise
+# use this file is hereby granted provided that
+# the above copyright notice and this notice are
+# left intact.
+#
+# Please send copies of changes and bug-fixes to:
+# sjg@crufty.net
+#
+
+.if !target(__${.PARSEFILE}__)
+__${.PARSEFILE}__:
+
+.if ${MACHINE} == "common"
+COMPILER_TYPE = none
+COMPILER_VERSION = 0
+.endif
+.if empty(COMPILER_TYPE) || empty(COMPILER_VERSION)
+# gcc does not always say gcc
+_v != ${CC} --version 2> /dev/null | \
+ egrep -i 'clang|cc|[1-9]\.[0-9]|Free Software Foundation'
+.if empty(COMPILER_TYPE)
+.if ${_v:Mclang} != ""
+COMPILER_TYPE = clang
+.elif ${_v:M[Gg][Cc][Cc]} != "" || ${_v:MFoundation*} != ""
+COMPILER_TYPE = gcc
+.endif
+.endif
+.if empty(COMPILER_VERSION)
+COMPILER_VERSION != echo "${_v:M[1-9].[0-9]*}:[1]" | \
+ awk -F. '{print $$1 * 10000 + $$2 * 100 + $$3;}'
+.endif
+.undef _v
+.endif
+# just in case we don't recognize compiler
+COMPILER_TYPE ?= unknown
+COMPILER_VERSION ?= 0
+.endif