Home | History | Annotate | Line # | Download | only in mips
      1 # Copyright (C) 2012-2022 Free Software Foundation, Inc.
      2 #
      3 # This file is part of GCC.
      4 #
      5 # GCC is free software; you can redistribute it and/or modify
      6 # it under the terms of the GNU General Public License as published by
      7 # the Free Software Foundation; either version 3, or (at your option)
      8 # any later version.
      9 #
     10 # GCC is distributed in the hope that it will be useful,
     11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
     12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13 # GNU General Public License for more details.
     14 #
     15 # You should have received a copy of the GNU General Public License
     16 # along with GCC; see the file COPYING3.  If not see
     17 # <http://www.gnu.org/licenses/>.
     18 
     19 # The default build is mips32r2, hard-float big-endian.  Add mips32,
     20 # soft-float, and little-endian variations.
     21 
     22 MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16/mmicromips mabi=64 EL msoft-float mnan=2008
     23 MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof nan2008
     24 MULTILIB_MATCHES = EL=mel EB=meb mips32r2=mips32r3 mips32r2=mips32r5 mips64r2=mips64r3 mips64r2=mips64r5
     25 
     26 MULTILIB_REQUIRED    =
     27 MULTILIB_OSDIRNAMES  = .=mips-r2-hard/lib
     28 MULTILIB_REQUIRED   += mips64r2
     29 MULTILIB_OSDIRNAMES += mips64r2=!mips-r2-hard/lib32
     30 MULTILIB_REQUIRED   += mips64r2/mabi=64
     31 MULTILIB_OSDIRNAMES += mips64r2/mabi.64=!mips-r2-hard/lib64
     32 
     33 MULTILIB_REQUIRED   += mnan=2008
     34 MULTILIB_OSDIRNAMES += mnan.2008=!mips-r2-hard-nan2008/lib
     35 MULTILIB_REQUIRED   += mips64r2/mnan=2008
     36 MULTILIB_OSDIRNAMES += mips64r2/mnan.2008=!mips-r2-hard-nan2008/lib32
     37 MULTILIB_REQUIRED   += mips64r2/mabi=64/mnan=2008
     38 MULTILIB_OSDIRNAMES += mips64r2/mabi.64/mnan.2008=!mips-r2-hard-nan2008/lib64
     39 
     40 MULTILIB_REQUIRED   += msoft-float
     41 MULTILIB_OSDIRNAMES += msoft-float=!mips-r2-soft/lib
     42 MULTILIB_REQUIRED   += mips64r2/msoft-float
     43 MULTILIB_OSDIRNAMES += mips64r2/msoft-float=!mips-r2-soft/lib32
     44 MULTILIB_REQUIRED   += mips64r2/mabi=64/msoft-float
     45 MULTILIB_OSDIRNAMES += mips64r2/mabi.64/msoft-float=!mips-r2-soft/lib64
     46 
     47 #MULTILIB_REQUIRED   += msoft-float/mnan=2008
     48 #MULTILIB_OSDIRNAMES += msoft-float/mnan.2008=!mips-r2-soft-nan2008/lib
     49 #MULTILIB_REQUIRED   += mips64r2/msoft-float/mnan=2008
     50 #MULTILIB_OSDIRNAMES += mips64r2/msoft-float/mnan.2008=!mips-r2-soft-nan2008/lib32
     51 #MULTILIB_REQUIRED   += mips64r2/mabi=64/msoft-float/mnan=2008
     52 #MULTILIB_OSDIRNAMES += mips64r2/mabi.64/msoft-float/mnan.2008=!mips-r2-soft-nan2008/lib64
     53 
     54 MULTILIB_REQUIRED   += EL
     55 MULTILIB_OSDIRNAMES += EL=!mipsel-r2-hard/lib
     56 MULTILIB_REQUIRED   += mips64r2/EL
     57 MULTILIB_OSDIRNAMES += mips64r2/EL=!mipsel-r2-hard/lib32
     58 MULTILIB_REQUIRED   += mips64r2/mabi=64/EL
     59 MULTILIB_OSDIRNAMES += mips64r2/mabi.64/EL=!mipsel-r2-hard/lib64
     60 
     61 MULTILIB_REQUIRED   += EL/mnan=2008
     62 MULTILIB_OSDIRNAMES += EL/mnan.2008=!mipsel-r2-hard-nan2008/lib
     63 MULTILIB_REQUIRED   += mips64r2/EL/mnan=2008
     64 MULTILIB_OSDIRNAMES += mips64r2/EL/mnan.2008=!mipsel-r2-hard-nan2008/lib32
     65 MULTILIB_REQUIRED   += mips64r2/mabi=64/EL/mnan=2008
     66 MULTILIB_OSDIRNAMES += mips64r2/mabi.64/EL/mnan.2008=!mipsel-r2-hard-nan2008/lib64
     67 
     68 MULTILIB_REQUIRED   += EL/msoft-float
     69 MULTILIB_OSDIRNAMES += EL/msoft-float=!mipsel-r2-soft/lib
     70 MULTILIB_REQUIRED   += mips64r2/EL/msoft-float
     71 MULTILIB_OSDIRNAMES += mips64r2/EL/msoft-float=!mipsel-r2-soft/lib32
     72 MULTILIB_REQUIRED   += mips64r2/mabi=64/EL/msoft-float
     73 MULTILIB_OSDIRNAMES += mips64r2/mabi.64/EL/msoft-float=!mipsel-r2-soft/lib64
     74 
     75 #MULTILIB_REQUIRED   += EL/msoft-float/mnan=2008
     76 #MULTILIB_OSDIRNAMES += EL/msoft-float/mnan.2008=!mipsel-r2-soft-nan2008/lib
     77 #MULTILIB_REQUIRED   += mips64r2/EL/msoft-float/mnan=2008
     78 #MULTILIB_OSDIRNAMES += mips64r2/EL/msoft-float/mnan.2008=!mipsel-r2-soft-nan2008/lib32
     79 #MULTILIB_REQUIRED   += mips64r2/mabi=64/EL/msoft-float/mnan=2008
     80 #MULTILIB_OSDIRNAMES += mips64r2/mabi.64/EL/msoft-float/mnan.2008=!mipsel-r2-soft-nan2008/lib64
     81 
     82 # We will not include any 64 bit mips16 combinations.
     83 MULTILIB_REQUIRED   += mips16
     84 MULTILIB_OSDIRNAMES += mips16=!mips-r2-mips16-hard/lib
     85 MULTILIB_REQUIRED   += mips16/mnan=2008
     86 MULTILIB_OSDIRNAMES += mips16/mnan.2008=!mips-r2-mips16-hard-nan2008/lib
     87 MULTILIB_REQUIRED   += mips16/msoft-float
     88 MULTILIB_OSDIRNAMES += mips16/msoft-float=!mips-r2-mips16-soft/lib
     89 #MULTILIB_REQUIRED   += mips16/msoft-float/mnan=2008
     90 #MULTILIB_OSDIRNAMES += mips16/msoft-float/mnan.2008=!mips-r2-mips16-soft-nan2008/lib
     91 
     92 MULTILIB_REQUIRED   += mips16/EL
     93 MULTILIB_OSDIRNAMES += mips16/EL=!mipsel-r2-mips16-hard/lib
     94 MULTILIB_REQUIRED   += mips16/EL/mnan=2008
     95 MULTILIB_OSDIRNAMES += mips16/EL/mnan.2008=!mipsel-r2-mips16-hard-nan2008/lib
     96 MULTILIB_REQUIRED   += mips16/EL/msoft-float
     97 MULTILIB_OSDIRNAMES += mips16/EL/msoft-float=!mipsel-r2-mips16-soft/lib
     98 #MULTILIB_REQUIRED   += mips16/EL/msoft-float/mnan=2008
     99 #MULTILIB_OSDIRNAMES += mips16/EL/msoft-float/mnan.2008=!mipsel-r2-mips16-soft-nan2008/lib
    100 
    101 MULTILIB_REQUIRED   += mmicromips
    102 MULTILIB_OSDIRNAMES += mmicromips=!micromips-r2-hard/lib
    103 MULTILIB_REQUIRED   += mmicromips/mnan=2008
    104 MULTILIB_OSDIRNAMES += mmicromips/mnan.2008=!micromips-r2-hard-nan2008/lib
    105 MULTILIB_REQUIRED   += mmicromips/msoft-float
    106 MULTILIB_OSDIRNAMES += mmicromips/msoft-float=!micromips-r2-soft/lib
    107 #MULTILIB_REQUIRED   += mmicromips/msoft-float/mnan=2008
    108 #MULTILIB_OSDIRNAMES += mmicromips/msoft-float/mnan.2008=!micromips-r2-soft-nan2008/lib
    109 
    110 MULTILIB_REQUIRED   += mmicromips/EL
    111 MULTILIB_OSDIRNAMES += mmicromips/EL=!micromipsel-r2-hard/lib
    112 MULTILIB_REQUIRED   += mmicromips/EL/mnan=2008
    113 MULTILIB_OSDIRNAMES += mmicromips/EL/mnan.2008=!micromipsel-r2-hard-nan2008/lib
    114 MULTILIB_REQUIRED   += mmicromips/EL/msoft-float
    115 MULTILIB_OSDIRNAMES += mmicromips/EL/msoft-float=!micromipsel-r2-soft/lib
    116 #MULTILIB_REQUIRED   += mmicromips/EL/msoft-float/mnan=2008
    117 #MULTILIB_OSDIRNAMES += mmicromips/EL/msoft-float/mnan.2008=!micromipsel-r2-soft-nan2008/lib
    118 
    119 # Version 1 multilibs
    120 
    121 MULTILIB_REQUIRED   += mips32
    122 MULTILIB_OSDIRNAMES += mips32=!mips-r1-hard/lib
    123 MULTILIB_REQUIRED   += mips64
    124 MULTILIB_OSDIRNAMES += mips64=!mips-r1-hard/lib32
    125 MULTILIB_REQUIRED   += mips64/mabi=64
    126 MULTILIB_OSDIRNAMES += mips64/mabi.64=!mips-r1-hard/lib64
    127 
    128 MULTILIB_REQUIRED   += mips32/msoft-float
    129 MULTILIB_OSDIRNAMES += mips32/msoft-float=!mips-r1-soft/lib
    130 MULTILIB_REQUIRED   += mips64/msoft-float
    131 MULTILIB_OSDIRNAMES += mips64/msoft-float=!mips-r1-soft/lib32
    132 MULTILIB_REQUIRED   += mips64/mabi=64/msoft-float
    133 MULTILIB_OSDIRNAMES += mips64/mabi.64/msoft-float=!mips-r1-soft/lib64
    134 
    135 MULTILIB_REQUIRED   += mips32/EL
    136 MULTILIB_OSDIRNAMES += mips32/EL=!mipsel-r1-hard/lib
    137 MULTILIB_REQUIRED   += mips64/EL
    138 MULTILIB_OSDIRNAMES += mips64/EL=!mipsel-r1-hard/lib32
    139 MULTILIB_REQUIRED   += mips64/mabi=64/EL
    140 MULTILIB_OSDIRNAMES += mips64/mabi.64/EL=!mipsel-r1-hard/lib64
    141 
    142 MULTILIB_REQUIRED   += mips32/EL/msoft-float
    143 MULTILIB_OSDIRNAMES += mips32/EL/msoft-float=!mipsel-r1-soft/lib
    144 MULTILIB_REQUIRED   += mips64/EL/msoft-float
    145 MULTILIB_OSDIRNAMES += mips64/EL/msoft-float=!mipsel-r1-soft/lib32
    146 MULTILIB_REQUIRED   += mips64/mabi=64/EL/msoft-float
    147 MULTILIB_OSDIRNAMES += mips64/mabi.64/EL/msoft-float=!mipsel-r1-soft/lib64
    148 
    149 # We will not include any 64 bit mips16 combinations.
    150 MULTILIB_REQUIRED   += mips32/mips16
    151 MULTILIB_OSDIRNAMES += mips32/mips16=!mips-r1-mips16-hard/lib
    152 MULTILIB_REQUIRED   += mips32/mips16/msoft-float
    153 MULTILIB_OSDIRNAMES += mips32/mips16/msoft-float=!mips-r1-mips16-soft/lib
    154 
    155 MULTILIB_REQUIRED   += mips32/mips16/EL
    156 MULTILIB_OSDIRNAMES += mips32/mips16/EL=!mipsel-r1-mips16-hard/lib
    157 MULTILIB_REQUIRED   += mips32/mips16/EL/msoft-float
    158 MULTILIB_OSDIRNAMES += mips32/mips16/EL/msoft-float=!mipsel-r1-mips16-soft/lib
    159