pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/cpuflags Update cpuflags to 0.64:



details:   https://anonhg.NetBSD.org/pkgsrc/rev/efefb0a50419
branches:  trunk
changeset: 471973:efefb0a50419
user:      abs <abs%pkgsrc.org@localhost>
date:      Thu Apr 01 19:37:59 2004 +0000

description:
Update cpuflags to 0.64:
        - Do nothing on x86_64 (for now). Thanks to Wolfgang S. Rupprecht
        - Digital AlphaPC 164SX. Thanks to HATANO Hiromichi.
        - Intel Pentium/MMX & Unrecognised Athlon XP. Thanks to Kimmo Suominen
        - Mips update for gcc 3.1 and later. Thanks to Andreas Yankopolus
        - Handle converting flags for old gcc versions recursively. Most
          excessive case would be using cpuflags on a k6-3 win gcc 2.89 which
          would map -march=k6-3 -> -march=k6 -> -march=pentium -> -march=i486

diffstat:

 devel/cpuflags/Makefile              |   4 +-
 devel/cpuflags/files/cpuflags.NetBSD |  86 +++++++++++++++++++++++++----------
 2 files changed, 63 insertions(+), 27 deletions(-)

diffs (172 lines):

diff -r 159a268db5ca -r efefb0a50419 devel/cpuflags/Makefile
--- a/devel/cpuflags/Makefile   Thu Apr 01 19:37:47 2004 +0000
+++ b/devel/cpuflags/Makefile   Thu Apr 01 19:37:59 2004 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.67 2004/03/17 00:26:55 abs Exp $
+# $NetBSD: Makefile,v 1.68 2004/04/01 19:37:59 abs Exp $
 #
 
-DISTNAME=      cpuflags-0.63
+DISTNAME=      cpuflags-0.64
 CATEGORIES=    sysutils
 MASTER_SITES=  # empty
 DISTFILES=     # empty
diff -r 159a268db5ca -r efefb0a50419 devel/cpuflags/files/cpuflags.NetBSD
--- a/devel/cpuflags/files/cpuflags.NetBSD      Thu Apr 01 19:37:47 2004 +0000
+++ b/devel/cpuflags/files/cpuflags.NetBSD      Thu Apr 01 19:37:59 2004 +0000
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $NetBSD: cpuflags.NetBSD,v 1.45 2004/02/20 00:37:46 dan Exp $
+# $NetBSD: cpuflags.NetBSD,v 1.46 2004/04/01 19:37:59 abs Exp $
 
 if [ -x /sbin/sysctl ] ;then
     SYSCTL=/sbin/sysctl
@@ -23,6 +23,7 @@
     CC=gcc
 fi
 
+# When adding $hw_model tests use maximum context (such as trailing space)
 case $hw_machine_arch in
 
     alpha)
@@ -33,6 +34,7 @@
            *[\(\ ]21164A[-\ \)]*)      FLAGS="-mcpu=21164a"    ;;
            *[\(\ ]21264[-\ \)]*)       FLAGS="-mcpu=21264"     ;;
            *[\(\ ]21264[AB][-\ \)]*)   FLAGS="-mcpu=21264a"    ;;
+           *\ PCA56-2)                 FLAGS="-mcpu=21164pc"   ;;
        esac
        ;;
 
@@ -60,6 +62,7 @@
        esac ;;
 
     i386) case $hw_model in
+       *Intel\ Pentium/MMX\ *)         FLAGS='-march=pentium-mmx'      ;;
        *Intel\ Pentium\ II\ *)         FLAGS='-march=pentium2'         ;;
        *Intel\ Pentium\ III\ *)        FLAGS='-march=pentium3'         ;;
        *Intel\ Mobile\ Pentium\ III\ *) FLAGS='-march=pentium3'        ;;
@@ -72,7 +75,8 @@
        *AMD\ Duron*)                   FLAGS='-march=athlon'           ;;
        *AMD\ Athlon\ 4*)               FLAGS='-march=athlon-4'         ;;
        *AMD\ Athlon\ MP*)              FLAGS='-march=athlon-mp'        ;;
-       *AMD\ Athlon\ XP*)              FLAGS='-march=athlon-xp'        ;;
+       *AMD\ K7\ \(Athlon\)\ XP\ *)    FLAGS='-march=athlon-xp'        ;;
+       *AMD\ Athlon\ XP\ *)            FLAGS='-march=athlon-xp'        ;;
        *AMD\ K7*|*AMD\ Athlon*)        FLAGS='-march=athlon'           ;;
        *386-class*)                    FLAGS='-march=i386'             ;;
        *486-class*)                    FLAGS='-march=i486'             ;;
@@ -95,20 +99,20 @@
     mipseb|mipsel)
        # cpu0 at mainbus0: QED R4600 Orion CPU (0x2020) Rev. 2.0 with ...
        case "`egrep '^cpu0 ' /var/run/dmesg.boot`" in
-           *\ MIPS\ R2000\ *)  FLAGS="-mcpu=r2000"        ;;
-           *\ MIPS\ R3000\ *)  FLAGS="-mcpu=r3000"        ;;
-           *\ MIPS\ R3000A\ *) FLAGS="-mcpu=r3000"        ;;
-           *\ Toshiba\ TX3912\ *)    FLAGS="-mcpu=r3900"  ;;
-           *\ Toshiba\ TX392[27]\ *) FLAGS="-mcpu=r3900"  ;;
-           *\ MIPS\ R4000\ *)  FLAGS="-mcpu=r4000 -mips2" ;; # really mips3
-           *\ MIPS\ R4400\ *)  FLAGS="-mcpu=r4400 -mips2" ;; # really mips3
-           *\ NEC\ VR4100\ *)  FLAGS="-mcpu=r4100 -mips2" ;; # really mips3
-           *\ NEC\ VR4300\ *)  FLAGS="-mcpu=r4300 -mips2" ;; # really mips3
-           *\ QED\ R4600\ *)   FLAGS="-mcpu=r4600 -mips2" ;; # really mips3
-           *\ MIPS\ R5000\ *)  FLAGS="-mcpu=r5000 -mips2" ;; # really mips4
-           *\ QED\ RM5200\ *)  FLAGS="-mcpu=r5000 -mips2" ;; # really mips4
-           *\ MIPS\ R6000\ *)  FLAGS="-mcpu=r6000 -mips2" ;;
-           *\ MIPS\ R8000\ *)  FLAGS="-mcpu=r8000 -mips2" ;; # really mips4
+           *\ MIPS\ R2000\ *)  FLAGS="-march=r2000"       ;;
+           *\ MIPS\ R3000\ *)  FLAGS="-march=r3000"       ;;
+           *\ MIPS\ R3000A\ *) FLAGS="-march=r3000"       ;;
+           *\ Toshiba\ TX3912\ *)    FLAGS="-march=r3900"  ;;
+           *\ Toshiba\ TX392[27]\ *) FLAGS="-march=r3900"  ;;
+           *\ MIPS\ R4000\ *)  FLAGS="-mtune=r4000 -mips2" ;; # really mips3
+           *\ MIPS\ R4400\ *)  FLAGS="-mtune=r4400 -mips2" ;; # really mips3
+           *\ NEC\ VR4100\ *)  FLAGS="-mtune=r4100 -mips2" ;; # really mips3
+           *\ NEC\ VR4300\ *)  FLAGS="-mtune=r4300 -mips2" ;; # really mips3
+           *\ QED\ R4600\ *)   FLAGS="-mtune=r4600 -mips2" ;; # really mips3
+           *\ MIPS\ R5000\ *)  FLAGS="-mtune=r5000 -mips2" ;; # really mips4
+           *\ QED\ RM5200\ *)  FLAGS="-mtune=r5000 -mips2" ;; # really mips4
+           *\ MIPS\ R6000\ *)  FLAGS="-mtune=r6000 -mips2" ;;
+           *\ MIPS\ R8000\ *)  FLAGS="-mtune=r8000 -mips2" ;; # really mips4
        esac
        ;;
 
@@ -141,6 +145,10 @@
        *[\ \(]SUNW,UltraSPARC*) FLAGS='-mcpu=v9'               ;; # Ultra
     esac ;;
 
+    x86_64) # No x86_64 specific gcc optimisations yet
+       NONE=1
+       ;;
+
     vax) # No VAX specific gcc optimisations available
        NONE=1
        ;;
@@ -156,31 +164,59 @@
     egrep '^cpu' /var/run/dmesg.boot                                   >&2
 fi
 
-# Fixup flags for old gcc
+# Fixup options for older gccs.
+# Entries can be recursive - eg:
+#   -march=k6-3 -> -march=k6 -> -march=pentium -> -march=i486
+#
+# The format of table is
+#   gcc_version_in_which_option_was_introduced  new_option  old_option
+
 if [ -n "$FLAGS" ]; then
     gcc_ver=`${CC} -v 2>&1 | awk '/gcc version/ {sub("egcs-","");print $3}'`
     FLAGS=`awk -v "flags=$FLAGS" -v "gcc_ver=$gcc_ver" '
-       {if (gcc_ver < $1){map[$2] = ""$3}}
-       END{if (flags in map) {print map[flags]}else {print flags}}
+       { if (gcc_ver < $1){map[$2] = ""$3} }
+       END { while (flags in map) {flags = map[flags]} print flags }
        ' <<EOD
-2.90   -mcpu=21164a    
 2.90   -march=i386             -mno-486
 2.90   -march=i486             -m486
 2.90   -march=pentium          -m486
 2.90   -march=pentiumpro       -m486
-2.90   -mcpu=supersparc        -msupersparc
+2.90   -mcpu=21164a    
+2.90   -mcpu=arm610            -m6
+2.90   -mcpu=arm710            -m6
+2.90   -mcpu=cypress           -mcypress
 2.90   -mcpu=sparclite         -msparclite
-2.90   -mcpu=cypress           -mcypress
+2.90   -mcpu=strongarm110      -m6
+2.90   -mcpu=supersparc        -msupersparc
 2.90   -mcpu=v9                -mv8
-2.90   -mcpu=arm610            -m6
-2.90   -mcpu=strongarm110      -m6
-2.90   -mcpu=arm710            -m6
 2.95   -march=k6               -march=pentium
 3.0    -march=athlon           -march=pentiumpro
 3.0    -march=athlon-4         -march=pentiumpro
 3.0    -march=athlon-mp        -march=pentiumpro
 3.0    -march=athlon-xp        -march=pentiumpro
+3.1    -march=r2000            -cpu=r2000
+3.1    -march=r3000            -cpu=r3000
+3.1    -march=r3900            -cpu=r3900
+3.1    -march=r4000            -cpu=r4000
+3.1    -march=r4100            -cpu=r4100
+3.1    -march=r4300            -cpu=r4300
+3.1    -march=r4400            -cpu=r4400
+3.1    -march=r4600            -cpu=r4600
+3.1    -march=r5000            -cpu=r5000
+3.1    -march=r6000            -cpu=r6000
+3.1    -march=r8000            -cpu=r8000
 3.1    -mcpu=21264a            -mcpu=21264
+3.1    -mtune=r2000            -cpu=r2000
+3.1    -mtune=r3000            -cpu=r3000
+3.1    -mtune=r3900            -cpu=r3900
+3.1    -mtune=r4000            -cpu=r4000
+3.1    -mtune=r4100            -cpu=r4100
+3.1    -mtune=r4300            -cpu=r4300
+3.1    -mtune=r4400            -cpu=r4400
+3.1    -mtune=r4600            -cpu=r4600
+3.1    -mtune=r5000            -cpu=r5000
+3.1    -mtune=r6000            -cpu=r6000
+3.1    -mtune=r8000            -cpu=r8000
 3.2    -march=k6-2             -march=k6
 3.2    -march=k6-3             -march=k6
 3.2    -march=pentium2         -march=pentiumpro



Home | Main Index | Thread Index | Old Index