mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-09 20:40:13 -04:00
76 lines
2.0 KiB
Plaintext
Executable File
76 lines
2.0 KiB
Plaintext
Executable File
# $NetBSD: subr_Linux,v 1.2 2008/12/10 23:27:17 abs Exp $
|
|
|
|
AWK=awk
|
|
SED=sed
|
|
|
|
display_hw_details()
|
|
{
|
|
cat <<END
|
|
OS : '$(uname)'
|
|
proc model : '$hw_model'
|
|
machine_arch : '$hw_machine_arch'
|
|
proc flag : '$feat_flags'
|
|
END
|
|
}
|
|
|
|
extract_hw_details()
|
|
{
|
|
hw_machine_arch=$(uname -m)
|
|
if [ ! -f /proc/cpuinfo ] ; then
|
|
echo "Unable to open /proc/cpuinfo"
|
|
hw_model=Unknown
|
|
else
|
|
hw_model=$($AWK -F: '/^model name/{sub(" ","",$2);print $2;exit}' /proc/cpuinfo)
|
|
feat_flags=$($AWK -F: '/^flags/{sub(" ","",$2);print $2;exit}' /proc/cpuinfo)
|
|
fi
|
|
}
|
|
|
|
determine_arch()
|
|
{
|
|
ARCH=
|
|
case $hw_machine_arch in
|
|
parisc) case $hw_model in
|
|
"Mirage 100+") ARCH='-march=1.1' ;;
|
|
esac ;;
|
|
i386) ARCH='-march=i386' ;;
|
|
i486) ARCH='-march=i486' ;;
|
|
i586) ARCH='-march=pentium' ;;
|
|
i686 | x86_64)
|
|
include subr_x86 # this provides map_x86_brand_string()
|
|
ARCH=$(map_x86_brand_string "$cpu_brand")
|
|
if [ -z "$ARCH" ] ; then
|
|
case $hw_model in
|
|
"AMD Athlon(TM) XP "*) ARCH='-march=athlon-xp' ;;
|
|
"AMD Athlon(tm) 64"*) ARCH='-march=athlon64' ;;
|
|
"AMD Athlon(tm) XP"*) ARCH='-march=athlon-xp' ;;
|
|
"AMD Duron(TM)") ARCH='-march=athlon' ;;
|
|
"AMD Duron(tm) ") ARCH='-march=athlon' ;;
|
|
"AMD Opteron(tm) Processor "*) ARCH='-march=opteron' ;;
|
|
"AMD Sempron(tm) Processor "*) ARCH='-march=athlon-xp' ;;
|
|
|
|
# Intel PIII & earlier - later Intel handled by map_x86_brand_string
|
|
"Celeron (Coppermine)") ARCH='-march=pentium3' ;;
|
|
"Pentium II (Deschutes)") ARCH='-march=pentium2' ;;
|
|
"Pentium III (Coppermine)") ARCH='-march=pentium3' ;;
|
|
"Pentium III (Katmai)") ARCH='-march=pentium3' ;;
|
|
esac
|
|
fi ;;
|
|
esac
|
|
echo $ARCH
|
|
}
|
|
|
|
determine_features()
|
|
{
|
|
FEATURES=
|
|
case $hw_machine_arch in
|
|
i586|i686|x86_64)
|
|
case " $feat_flags " in
|
|
*" ssse3 "*) FEATURES='-mfpmath=sse -msse3' ;;
|
|
*" sse2 "*) FEATURES='-mfpmath=sse -msse2' ;;
|
|
*" sse "*) FEATURES='-mfpmath=sse -msse' ;;
|
|
*" mmx "*) FEATURES='-mmmx' ;;
|
|
esac ;;
|
|
esac
|
|
echo $FEATURES
|
|
}
|