| # Copyright (C) 2012-2021 Free Software Foundation, Inc. |
| # |
| # This file is part of GCC. |
| # |
| # GCC is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 3, or (at your option) |
| # any later version. |
| # |
| # GCC is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with GCC; see the file COPYING3. If not see |
| # <http://www.gnu.org/licenses/>. |
| |
| # The default build is mips32r2, hard-float big-endian. Add mips32, |
| # soft-float, and little-endian variations. |
| |
| MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16/mmicromips mabi=64 EL msoft-float mnan=2008 |
| MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof nan2008 |
| MULTILIB_MATCHES = EL=mel EB=meb mips32r2=mips32r3 mips32r2=mips32r5 mips64r2=mips64r3 mips64r2=mips64r5 |
| |
| MULTILIB_REQUIRED = |
| MULTILIB_OSDIRNAMES = .=mips-r2-hard/lib |
| MULTILIB_REQUIRED += mips64r2 |
| MULTILIB_OSDIRNAMES += mips64r2=!mips-r2-hard/lib32 |
| MULTILIB_REQUIRED += mips64r2/mabi=64 |
| MULTILIB_OSDIRNAMES += mips64r2/mabi.64=!mips-r2-hard/lib64 |
| |
| MULTILIB_REQUIRED += mnan=2008 |
| MULTILIB_OSDIRNAMES += mnan.2008=!mips-r2-hard-nan2008/lib |
| MULTILIB_REQUIRED += mips64r2/mnan=2008 |
| MULTILIB_OSDIRNAMES += mips64r2/mnan.2008=!mips-r2-hard-nan2008/lib32 |
| MULTILIB_REQUIRED += mips64r2/mabi=64/mnan=2008 |
| MULTILIB_OSDIRNAMES += mips64r2/mabi.64/mnan.2008=!mips-r2-hard-nan2008/lib64 |
| |
| MULTILIB_REQUIRED += msoft-float |
| MULTILIB_OSDIRNAMES += msoft-float=!mips-r2-soft/lib |
| MULTILIB_REQUIRED += mips64r2/msoft-float |
| MULTILIB_OSDIRNAMES += mips64r2/msoft-float=!mips-r2-soft/lib32 |
| MULTILIB_REQUIRED += mips64r2/mabi=64/msoft-float |
| MULTILIB_OSDIRNAMES += mips64r2/mabi.64/msoft-float=!mips-r2-soft/lib64 |
| |
| #MULTILIB_REQUIRED += msoft-float/mnan=2008 |
| #MULTILIB_OSDIRNAMES += msoft-float/mnan.2008=!mips-r2-soft-nan2008/lib |
| #MULTILIB_REQUIRED += mips64r2/msoft-float/mnan=2008 |
| #MULTILIB_OSDIRNAMES += mips64r2/msoft-float/mnan.2008=!mips-r2-soft-nan2008/lib32 |
| #MULTILIB_REQUIRED += mips64r2/mabi=64/msoft-float/mnan=2008 |
| #MULTILIB_OSDIRNAMES += mips64r2/mabi.64/msoft-float/mnan.2008=!mips-r2-soft-nan2008/lib64 |
| |
| MULTILIB_REQUIRED += EL |
| MULTILIB_OSDIRNAMES += EL=!mipsel-r2-hard/lib |
| MULTILIB_REQUIRED += mips64r2/EL |
| MULTILIB_OSDIRNAMES += mips64r2/EL=!mipsel-r2-hard/lib32 |
| MULTILIB_REQUIRED += mips64r2/mabi=64/EL |
| MULTILIB_OSDIRNAMES += mips64r2/mabi.64/EL=!mipsel-r2-hard/lib64 |
| |
| MULTILIB_REQUIRED += EL/mnan=2008 |
| MULTILIB_OSDIRNAMES += EL/mnan.2008=!mipsel-r2-hard-nan2008/lib |
| MULTILIB_REQUIRED += mips64r2/EL/mnan=2008 |
| MULTILIB_OSDIRNAMES += mips64r2/EL/mnan.2008=!mipsel-r2-hard-nan2008/lib32 |
| MULTILIB_REQUIRED += mips64r2/mabi=64/EL/mnan=2008 |
| MULTILIB_OSDIRNAMES += mips64r2/mabi.64/EL/mnan.2008=!mipsel-r2-hard-nan2008/lib64 |
| |
| MULTILIB_REQUIRED += EL/msoft-float |
| MULTILIB_OSDIRNAMES += EL/msoft-float=!mipsel-r2-soft/lib |
| MULTILIB_REQUIRED += mips64r2/EL/msoft-float |
| MULTILIB_OSDIRNAMES += mips64r2/EL/msoft-float=!mipsel-r2-soft/lib32 |
| MULTILIB_REQUIRED += mips64r2/mabi=64/EL/msoft-float |
| MULTILIB_OSDIRNAMES += mips64r2/mabi.64/EL/msoft-float=!mipsel-r2-soft/lib64 |
| |
| #MULTILIB_REQUIRED += EL/msoft-float/mnan=2008 |
| #MULTILIB_OSDIRNAMES += EL/msoft-float/mnan.2008=!mipsel-r2-soft-nan2008/lib |
| #MULTILIB_REQUIRED += mips64r2/EL/msoft-float/mnan=2008 |
| #MULTILIB_OSDIRNAMES += mips64r2/EL/msoft-float/mnan.2008=!mipsel-r2-soft-nan2008/lib32 |
| #MULTILIB_REQUIRED += mips64r2/mabi=64/EL/msoft-float/mnan=2008 |
| #MULTILIB_OSDIRNAMES += mips64r2/mabi.64/EL/msoft-float/mnan.2008=!mipsel-r2-soft-nan2008/lib64 |
| |
| # We will not include any 64 bit mips16 combinations. |
| MULTILIB_REQUIRED += mips16 |
| MULTILIB_OSDIRNAMES += mips16=!mips-r2-mips16-hard/lib |
| MULTILIB_REQUIRED += mips16/mnan=2008 |
| MULTILIB_OSDIRNAMES += mips16/mnan.2008=!mips-r2-mips16-hard-nan2008/lib |
| MULTILIB_REQUIRED += mips16/msoft-float |
| MULTILIB_OSDIRNAMES += mips16/msoft-float=!mips-r2-mips16-soft/lib |
| #MULTILIB_REQUIRED += mips16/msoft-float/mnan=2008 |
| #MULTILIB_OSDIRNAMES += mips16/msoft-float/mnan.2008=!mips-r2-mips16-soft-nan2008/lib |
| |
| MULTILIB_REQUIRED += mips16/EL |
| MULTILIB_OSDIRNAMES += mips16/EL=!mipsel-r2-mips16-hard/lib |
| MULTILIB_REQUIRED += mips16/EL/mnan=2008 |
| MULTILIB_OSDIRNAMES += mips16/EL/mnan.2008=!mipsel-r2-mips16-hard-nan2008/lib |
| MULTILIB_REQUIRED += mips16/EL/msoft-float |
| MULTILIB_OSDIRNAMES += mips16/EL/msoft-float=!mipsel-r2-mips16-soft/lib |
| #MULTILIB_REQUIRED += mips16/EL/msoft-float/mnan=2008 |
| #MULTILIB_OSDIRNAMES += mips16/EL/msoft-float/mnan.2008=!mipsel-r2-mips16-soft-nan2008/lib |
| |
| MULTILIB_REQUIRED += mmicromips |
| MULTILIB_OSDIRNAMES += mmicromips=!micromips-r2-hard/lib |
| MULTILIB_REQUIRED += mmicromips/mnan=2008 |
| MULTILIB_OSDIRNAMES += mmicromips/mnan.2008=!micromips-r2-hard-nan2008/lib |
| MULTILIB_REQUIRED += mmicromips/msoft-float |
| MULTILIB_OSDIRNAMES += mmicromips/msoft-float=!micromips-r2-soft/lib |
| #MULTILIB_REQUIRED += mmicromips/msoft-float/mnan=2008 |
| #MULTILIB_OSDIRNAMES += mmicromips/msoft-float/mnan.2008=!micromips-r2-soft-nan2008/lib |
| |
| MULTILIB_REQUIRED += mmicromips/EL |
| MULTILIB_OSDIRNAMES += mmicromips/EL=!micromipsel-r2-hard/lib |
| MULTILIB_REQUIRED += mmicromips/EL/mnan=2008 |
| MULTILIB_OSDIRNAMES += mmicromips/EL/mnan.2008=!micromipsel-r2-hard-nan2008/lib |
| MULTILIB_REQUIRED += mmicromips/EL/msoft-float |
| MULTILIB_OSDIRNAMES += mmicromips/EL/msoft-float=!micromipsel-r2-soft/lib |
| #MULTILIB_REQUIRED += mmicromips/EL/msoft-float/mnan=2008 |
| #MULTILIB_OSDIRNAMES += mmicromips/EL/msoft-float/mnan.2008=!micromipsel-r2-soft-nan2008/lib |
| |
| # Version 1 multilibs |
| |
| MULTILIB_REQUIRED += mips32 |
| MULTILIB_OSDIRNAMES += mips32=!mips-r1-hard/lib |
| MULTILIB_REQUIRED += mips64 |
| MULTILIB_OSDIRNAMES += mips64=!mips-r1-hard/lib32 |
| MULTILIB_REQUIRED += mips64/mabi=64 |
| MULTILIB_OSDIRNAMES += mips64/mabi.64=!mips-r1-hard/lib64 |
| |
| MULTILIB_REQUIRED += mips32/msoft-float |
| MULTILIB_OSDIRNAMES += mips32/msoft-float=!mips-r1-soft/lib |
| MULTILIB_REQUIRED += mips64/msoft-float |
| MULTILIB_OSDIRNAMES += mips64/msoft-float=!mips-r1-soft/lib32 |
| MULTILIB_REQUIRED += mips64/mabi=64/msoft-float |
| MULTILIB_OSDIRNAMES += mips64/mabi.64/msoft-float=!mips-r1-soft/lib64 |
| |
| MULTILIB_REQUIRED += mips32/EL |
| MULTILIB_OSDIRNAMES += mips32/EL=!mipsel-r1-hard/lib |
| MULTILIB_REQUIRED += mips64/EL |
| MULTILIB_OSDIRNAMES += mips64/EL=!mipsel-r1-hard/lib32 |
| MULTILIB_REQUIRED += mips64/mabi=64/EL |
| MULTILIB_OSDIRNAMES += mips64/mabi.64/EL=!mipsel-r1-hard/lib64 |
| |
| MULTILIB_REQUIRED += mips32/EL/msoft-float |
| MULTILIB_OSDIRNAMES += mips32/EL/msoft-float=!mipsel-r1-soft/lib |
| MULTILIB_REQUIRED += mips64/EL/msoft-float |
| MULTILIB_OSDIRNAMES += mips64/EL/msoft-float=!mipsel-r1-soft/lib32 |
| MULTILIB_REQUIRED += mips64/mabi=64/EL/msoft-float |
| MULTILIB_OSDIRNAMES += mips64/mabi.64/EL/msoft-float=!mipsel-r1-soft/lib64 |
| |
| # We will not include any 64 bit mips16 combinations. |
| MULTILIB_REQUIRED += mips32/mips16 |
| MULTILIB_OSDIRNAMES += mips32/mips16=!mips-r1-mips16-hard/lib |
| MULTILIB_REQUIRED += mips32/mips16/msoft-float |
| MULTILIB_OSDIRNAMES += mips32/mips16/msoft-float=!mips-r1-mips16-soft/lib |
| |
| MULTILIB_REQUIRED += mips32/mips16/EL |
| MULTILIB_OSDIRNAMES += mips32/mips16/EL=!mipsel-r1-mips16-hard/lib |
| MULTILIB_REQUIRED += mips32/mips16/EL/msoft-float |
| MULTILIB_OSDIRNAMES += mips32/mips16/EL/msoft-float=!mipsel-r1-mips16-soft/lib |