#!/bin/sh
#
# Probe the compiler for vintage, version, etc. This is used for setting
# optional make knobs under the DEVELOPER knob.

CC="$*"

# we get something like (this is at least true for gcc and clang)
#
# FreeBSD clang version 3.4.1 (tags/RELEASE...)
get_version_line() {
	$CC -v 2>&1 | grep ' version '
}

get_family() {
	get_version_line | sed 's/^\(.*\) version [0-9][^ ]* .*/\1/'
}

get_version() {
	get_version_line | sed 's/^.* version \([0-9][^ ]*\) .*/\1/'
}

print_flags() {
	family=$1
	version=$(get_version | cut -f 1 -d .)

	# Print a feature flag not only for the current version, but also
	# for any prior versions we encompass. This avoids needing to do
	# numeric comparisons in make, which are awkward.
	while test "$version" -gt 0
	do
		echo $family$version
		version=$((version - 1))
	done
}

case "$(get_family)" in
gcc)
	print_flags gcc
	;;
clang)
	print_flags clang
	;;
"FreeBSD clang")
	print_flags clang
	;;
"Apple LLVM")
	print_flags clang
	;;
*)
	: unknown compiler family
	;;
esac
