mips.py: add multilib (and missing n64) classes
authorMatt Turner <mattst88@gentoo.org>
Sat, 25 Jun 2011 16:16:07 +0000 (12:16 -0400)
committerMatt Turner <mattst88@gmail.com>
Sat, 25 Jun 2011 16:16:07 +0000 (12:16 -0400)
ChangeLog
modules/catalyst/arch/mips.py

index 6f98efdb86fc62cfc6374ba783615c2e1b67c1d3..30eb83a03ab8a630ca6fc8af63d0991c989138d4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,9 @@
 # Distributed under the GPL v2
 # $Id$
 
+  25 Jun 2011; Matt Turner <mattst88@gentoo.org>
+  modules/catalyst/arch/mips.py: add multilib (and missing n64) classes
+
   25 Jun 2011; Matt Turner <mattst88@gentoo.org>
   modules/catalyst/arch/mips.py: remove n32/n64 USE flags
 
index 51b68120c272b841b03d0cdeac48a6e281d19f4e..4c4af0c56acfa43552adecf56f3ceabccf6291e2 100644 (file)
@@ -29,6 +29,12 @@ class generic_mips64el(catalyst.arch.generic_arch):
                self.settings["CHROOT"]="chroot"
                self.settings["CHOST"]="mips64el-unknown-linux-gnu"
 
+class generic_multilib(catalyst.arch.generic_arch):
+       "Abstract base class for MIPS multilib"
+       def __init__(self,myspec):
+               catalyst.arch.generic_arch.__init__(self,myspec)
+               self.settings["HOSTUSE"]=["multilib"]
+
 class arch_mips1(generic_mips):
        "Builder class for MIPS I [Big-endian]"
        def __init__(self,myspec):
@@ -53,6 +59,13 @@ class arch_mips3_n64(generic_mips64):
                generic_mips64.__init__(self,myspec)
                self.settings["CFLAGS"]="-O2 -mips3 -mabi=64 -pipe"
 
+class arch_mips3_multilib(generic_mips64,generic_multilib):
+       "Builder class for MIPS III [Big-endian multilib]"
+       def __init__(self,myspec):
+               generic_mips64.__init__(self,myspec)
+               generic_multilib.__init__(self,myspec)
+               self.settings["CFLAGS"]="-O2 -mips3 -pipe"
+
 class arch_mips4(generic_mips64):
        "Builder class for MIPS IV [Big-endian]"
        def __init__(self,myspec):
@@ -71,6 +84,13 @@ class arch_mips4_n64(generic_mips64):
                generic_mips64.__init__(self,myspec)
                self.settings["CFLAGS"]="-O2 -mips4 -mabi=64 -pipe"
 
+class arch_mips4_multilib(generic_mips64,generic_multilib):
+       "Builder class for MIPS IV [Big-endian multilib]"
+       def __init__(self,myspec):
+               generic_mips64.__init__(self,myspec)
+               generic_multilib.__init__(self,myspec)
+               self.settings["CFLAGS"]="-O2 -mips4 -pipe"
+
 class arch_mipsel1(generic_mipsel):
        "Builder class for all MIPS I [Little-endian]"
        def __init__(self,myspec):
@@ -89,6 +109,19 @@ class arch_mipsel3_n32(generic_mips64el):
                generic_mips64el.__init__(self,myspec)
                self.settings["CFLAGS"]="-O2 -mips3 -mabi=n32 -pipe"
 
+class arch_mipsel3_n64(generic_mips64el):
+       "Builder class for MIPS III [Little-endian N64]"
+       def __init__(self,myspec):
+               generic_mips64el.__init__(self,myspec)
+               self.settings["CFLAGS"]="-O2 -mips3 -mabi=64 -pipe"
+
+class arch_mipsel3_multilib(generic_mips64el,generic_multilib):
+       "Builder class for MIPS III [Little-endian multilib]"
+       def __init__(self,myspec):
+               generic_mips64el.__init__(self,myspec)
+               generic_multilib.__init__(self,myspec)
+               self.settings["CFLAGS"]="-O2 -mips3 -pipe"
+
 class arch_loongson2e(generic_mipsel):
        "Builder class for all Loongson 2E [Little-endian]"
        def __init__(self,myspec):
@@ -125,6 +158,19 @@ class arch_mipsel4_n32(generic_mips64el):
                generic_mips64el.__init__(self,myspec)
                self.settings["CFLAGS"]="-O2 -mips4 -mabi=n32 -pipe"
 
+class arch_mipsel4_n64(generic_mips64el):
+       "Builder class for MIPS IV [Little-endian N64]"
+       def __init__(self,myspec):
+               generic_mips64el.__init__(self,myspec)
+               self.settings["CFLAGS"]="-O2 -mips4 -mabi=64 -pipe"
+
+class arch_mipsel4_multilib(generic_mips64el,generic_multilib):
+       "Builder class for MIPS IV [Little-endian multilib]"
+       def __init__(self,myspec):
+               generic_mips64el.__init__(self,myspec)
+               generic_multilib.__init__(self,myspec)
+               self.settings["CFLAGS"]="-O2 -mips4 -pipe"
+
 class arch_cobalt(generic_mipsel):
        "Builder class for all cobalt [Little-endian]"
        def __init__(self,myspec):
@@ -147,14 +193,21 @@ _subarch_map = {
        "mips3"                 : arch_mips3,
        "mips3_n32"             : arch_mips3_n32,
        "mips3_n64"             : arch_mips3_n64,
+       "mips3_multilib": arch_mips3_multilib,
        "mips4"                 : arch_mips4,
        "mips4_n32"             : arch_mips4_n32,
+       "mips4_n64"             : arch_mips4_n64,
+       "mips4_multilib": arch_mips4_multilib,
        "mipsel"                : arch_mipsel1,
        "mipsel1"               : arch_mipsel1,
        "mipsel3"               : arch_mipsel3,
        "mipsel3_n32"   : arch_mipsel3_n32,
+       "mipsel3_n64"   : arch_mipsel3_n64,
+       "mipsel3_multilib"      : arch_mipsel3_multilib,
        "mipsel4"               : arch_mipsel4,
        "mipsel4_n32"   : arch_mipsel4_n32,
+       "mipsel4_n64"   : arch_mipsel4_n64,
+       "mipsel4_multilib"      : arch_mipsel4_multilib,
        "loongson2e"            : arch_loongson2e,
        "loongson2e_n32"        : arch_loongson2e_n32,
        "loongson2f"            : arch_loongson2f,