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