head	1.4;
access;
symbols
	pkgsrc-2026Q1:1.4.0.124
	pkgsrc-2026Q1-base:1.4
	pkgsrc-2025Q4:1.4.0.122
	pkgsrc-2025Q4-base:1.4
	pkgsrc-2025Q3:1.4.0.120
	pkgsrc-2025Q3-base:1.4
	pkgsrc-2025Q2:1.4.0.118
	pkgsrc-2025Q2-base:1.4
	pkgsrc-2025Q1:1.4.0.116
	pkgsrc-2025Q1-base:1.4
	pkgsrc-2024Q4:1.4.0.114
	pkgsrc-2024Q4-base:1.4
	pkgsrc-2024Q3:1.4.0.112
	pkgsrc-2024Q3-base:1.4
	pkgsrc-2024Q2:1.4.0.110
	pkgsrc-2024Q2-base:1.4
	pkgsrc-2024Q1:1.4.0.108
	pkgsrc-2024Q1-base:1.4
	pkgsrc-2023Q4:1.4.0.106
	pkgsrc-2023Q4-base:1.4
	pkgsrc-2023Q3:1.4.0.104
	pkgsrc-2023Q3-base:1.4
	pkgsrc-2023Q2:1.4.0.102
	pkgsrc-2023Q2-base:1.4
	pkgsrc-2023Q1:1.4.0.100
	pkgsrc-2023Q1-base:1.4
	pkgsrc-2022Q4:1.4.0.98
	pkgsrc-2022Q4-base:1.4
	pkgsrc-2022Q3:1.4.0.96
	pkgsrc-2022Q3-base:1.4
	pkgsrc-2022Q2:1.4.0.94
	pkgsrc-2022Q2-base:1.4
	pkgsrc-2022Q1:1.4.0.92
	pkgsrc-2022Q1-base:1.4
	pkgsrc-2021Q4:1.4.0.90
	pkgsrc-2021Q4-base:1.4
	pkgsrc-2021Q3:1.4.0.88
	pkgsrc-2021Q3-base:1.4
	pkgsrc-2021Q2:1.4.0.86
	pkgsrc-2021Q2-base:1.4
	pkgsrc-2021Q1:1.4.0.84
	pkgsrc-2021Q1-base:1.4
	pkgsrc-2020Q4:1.4.0.82
	pkgsrc-2020Q4-base:1.4
	pkgsrc-2020Q3:1.4.0.80
	pkgsrc-2020Q3-base:1.4
	pkgsrc-2020Q2:1.4.0.76
	pkgsrc-2020Q2-base:1.4
	pkgsrc-2020Q1:1.4.0.56
	pkgsrc-2020Q1-base:1.4
	pkgsrc-2019Q4:1.4.0.78
	pkgsrc-2019Q4-base:1.4
	pkgsrc-2019Q3:1.4.0.74
	pkgsrc-2019Q3-base:1.4
	pkgsrc-2019Q2:1.4.0.72
	pkgsrc-2019Q2-base:1.4
	pkgsrc-2019Q1:1.4.0.70
	pkgsrc-2019Q1-base:1.4
	pkgsrc-2018Q4:1.4.0.68
	pkgsrc-2018Q4-base:1.4
	pkgsrc-2018Q3:1.4.0.66
	pkgsrc-2018Q3-base:1.4
	pkgsrc-2018Q2:1.4.0.64
	pkgsrc-2018Q2-base:1.4
	pkgsrc-2018Q1:1.4.0.62
	pkgsrc-2018Q1-base:1.4
	pkgsrc-2017Q4:1.4.0.60
	pkgsrc-2017Q4-base:1.4
	pkgsrc-2017Q3:1.4.0.58
	pkgsrc-2017Q3-base:1.4
	pkgsrc-2017Q2:1.4.0.54
	pkgsrc-2017Q2-base:1.4
	pkgsrc-2017Q1:1.4.0.52
	pkgsrc-2017Q1-base:1.4
	pkgsrc-2016Q4:1.4.0.50
	pkgsrc-2016Q4-base:1.4
	pkgsrc-2016Q3:1.4.0.48
	pkgsrc-2016Q3-base:1.4
	pkgsrc-2016Q2:1.4.0.46
	pkgsrc-2016Q2-base:1.4
	pkgsrc-2016Q1:1.4.0.44
	pkgsrc-2016Q1-base:1.4
	pkgsrc-2015Q4:1.4.0.42
	pkgsrc-2015Q4-base:1.4
	pkgsrc-2015Q3:1.4.0.40
	pkgsrc-2015Q3-base:1.4
	pkgsrc-2015Q2:1.4.0.38
	pkgsrc-2015Q2-base:1.4
	pkgsrc-2015Q1:1.4.0.36
	pkgsrc-2015Q1-base:1.4
	pkgsrc-2014Q4:1.4.0.34
	pkgsrc-2014Q4-base:1.4
	pkgsrc-2014Q3:1.4.0.32
	pkgsrc-2014Q3-base:1.4
	pkgsrc-2014Q2:1.4.0.30
	pkgsrc-2014Q2-base:1.4
	pkgsrc-2014Q1:1.4.0.28
	pkgsrc-2014Q1-base:1.4
	pkgsrc-2013Q4:1.4.0.26
	pkgsrc-2013Q4-base:1.4
	pkgsrc-2013Q3:1.4.0.24
	pkgsrc-2013Q3-base:1.4
	pkgsrc-2013Q2:1.4.0.22
	pkgsrc-2013Q2-base:1.4
	pkgsrc-2013Q1:1.4.0.20
	pkgsrc-2013Q1-base:1.4
	pkgsrc-2012Q4:1.4.0.18
	pkgsrc-2012Q4-base:1.4
	pkgsrc-2012Q3:1.4.0.16
	pkgsrc-2012Q3-base:1.4
	pkgsrc-2012Q2:1.4.0.14
	pkgsrc-2012Q2-base:1.4
	pkgsrc-2012Q1:1.4.0.12
	pkgsrc-2012Q1-base:1.4
	pkgsrc-2011Q4:1.4.0.10
	pkgsrc-2011Q4-base:1.4
	pkgsrc-2011Q3:1.4.0.8
	pkgsrc-2011Q3-base:1.4
	pkgsrc-2011Q2:1.4.0.6
	pkgsrc-2011Q2-base:1.4
	pkgsrc-2011Q1:1.4.0.4
	pkgsrc-2011Q1-base:1.4
	pkgsrc-2010Q4:1.4.0.2
	pkgsrc-2010Q4-base:1.4
	pkgsrc-2010Q3:1.3.0.16
	pkgsrc-2010Q3-base:1.3
	pkgsrc-2010Q2:1.3.0.14
	pkgsrc-2010Q2-base:1.3
	pkgsrc-2010Q1:1.3.0.12
	pkgsrc-2010Q1-base:1.3
	pkgsrc-2009Q4:1.3.0.10
	pkgsrc-2009Q4-base:1.3
	pkgsrc-2009Q3:1.3.0.8
	pkgsrc-2009Q3-base:1.3
	pkgsrc-2009Q2:1.3.0.6
	pkgsrc-2009Q2-base:1.3
	pkgsrc-2009Q1:1.3.0.4
	pkgsrc-2009Q1-base:1.3
	pkgsrc-2008Q4:1.3.0.2
	pkgsrc-2008Q4-base:1.3
	pkgsrc-2008Q3:1.2.0.14
	pkgsrc-2008Q3-base:1.2
	cube-native-xorg:1.2.0.12
	cube-native-xorg-base:1.2
	pkgsrc-2008Q2:1.2.0.10
	pkgsrc-2008Q2-base:1.2
	cwrapper:1.2.0.8
	pkgsrc-2008Q1:1.2.0.6
	pkgsrc-2008Q1-base:1.2
	pkgsrc-2007Q4:1.2.0.4
	pkgsrc-2007Q4-base:1.2
	pkgsrc-2007Q3:1.2.0.2
	pkgsrc-2007Q3-base:1.2;
locks; strict;
comment	@# @;


1.4
date	2010.12.05.11.19.39;	author abs;	state Exp;
branches;
next	1.3;

1.3
date	2008.12.10.23.27.17;	author abs;	state Exp;
branches;
next	1.2;

1.2
date	2007.08.27.10.08.29;	author abs;	state Exp;
branches;
next	1.1;

1.1
date	2007.08.22.09.18.43;	author abs;	state Exp;
branches;
next	;


desc
@@


1.4
log
@Updated devel/cpuflags to 1.42

Add initial powerpc support for Darwin
@
text
@# $NetBSD: subr_FreeBSD,v 1.3 2008/12/10 23:27:17 abs Exp $

AWK=awk
SED=sed

display_hw_details()
    {
    cat <<END
OS		: '$(uname)'
hw.model	: '$hw_model'
hw.machine	: '$hw_machine'
hw.machine_arch : '$hw_machine_arch'
cpu details	:
END
    $SED -n '/^CPU:/{N;N;N;N;N;N;N;s/\n[^ ].*//g;/\n /p;}' \
     /var/run/dmesg.boot 2>/dev/null
    }

extract_hw_details()
    {
    hw_model=$(sysctl -n hw.model | $SED 's/(R)//g;s/([tT][mM])//g')
    hw_machine=$(sysctl -n hw.machine)
    hw_machine_arch=$(sysctl -n hw.machine_arch)

    # We're almost certainly crosscompiling
    if [ -n "$MACHINE" -a "$hw_machine" != "$MACHINE" ]; then
	echo
	exit
    fi
    }

determine_arch()
    {
    ARCH=
    # When adding $hw_model tests use maximum context (such as trailing space)
    case $hw_machine_arch in
    i386) case $hw_model in
	Pentium\ II*)			ARCH='-march=pentium2'		;;
	Intel\ Pentium\ III\ *)		ARCH='-march=pentium3'		;;
	Intel\ Pentium\ 4\ *)		ARCH='-march=pentium4'		;;
	Intel\ Core2\ *)		ARCH='-march=core2'		;;
	AMD\ Athlon\ XP*)		ARCH='-march=athlon-xp'		;;
	AMD\ Sempron\ Processor\ *)	ARCH='-march=athlon-xp'		;;
	# last resort:
	*386-class*)			ARCH='-march=i386'		;;
	*486-class*)			ARCH='-march=i486'		;;
	*586-class*)			ARCH='-march=pentium'		;;
	*686-class*)			ARCH='-march=pentiumpro'	;;
    esac ;;
    amd64) case $hw_model in
	AMD\ Sempron\ Processor\ *)	ARCH='-march=athlon64'		;;
    esac ;;
    esac

    echo $ARCH
    }

determine_features()
    {
    FEATURES=
    dmesg_features=$(echo $($SED -n \
's/.* Features[0-9]\{0,1\}=0x[0-9a-f]\{1,\}<\(.*\)>$/\1/p' \
/var/run/dmesg.boot 2>/dev/null | $SED 's/,/ /g'))

    case $hw_machine_arch in
	i386 | amd64) case " $dmesg_features " in
	    *" SSE3 "*)		FEATURES="-mfpmath=sse -msse3"		;;
	    *" SSE2 "*)		FEATURES="-mfpmath=sse -msse2"		;;
	    *" SSE "*)		FEATURES="-mfpmath=sse -msse"		;;
	    *" MMX "*)		FEATURES="-mmmx"			;;
	esac
	if [ -z "$FEATURES" ]; then	# FEATURES empty: jail?
	    # failover: try sse from sysctl db
	    if [ "$(sysctl -n hw.instruction_sse 2>/dev/null)" = 1 ]; then
		FEATURES="-mfpmath=sse -msse"
	    fi
	fi
    esac

    echo $FEATURES
    }
@


1.3
log
@Updated devel/cpuflags to 1.24

	Add map_x86_brand_string to subr_x86 and use in NetBSD,
	Linux and Solaris to determine ARCH for Intel CPUs after PIII.
	(Still need to rework AMD CPU detection to use family and
	extended family)
	Added 'AMD K6-2 (586-class)' - thanks Brian Ginsbach
	Added 'Pentium(R) Dual-Core  CPU      E5200' - thanks Andreas Burghardt
@
text
@d1 1
a1 1
# $NetBSD: subr_FreeBSD,v 1.2 2007/08/27 10:08:29 abs Exp $
d26 1
a26 1
    if [ -n "$MACHINE" -a $hw_machine != "$MACHINE" ]; then
@


1.2
log
@Update devel/cpuflags to 1.14:
 - return 0 in verbose() to fix issue with 'set -e'
 - ONLY_FOR_PLATFORM += FreeBSD-*-*
 - Use `` rather than $() to unbreak Solaris
 - Add x86 arch fixup/corrections in files/subr_x86
	All from Yakovetsky Vladimir
@
text
@d1 1
a1 1
# $NetBSD: subr_Linux,v 1.1 2007/08/20 11:21:21 abs Exp $
d41 1
a41 1
	Intel\ Core2\ *)		ARCH='-march=prescott'		;;
@


1.1
log
@add file missing in 1.12 - noted by tron
@
text
@d1 1
@

