1# Copyright (C) 2012-2020 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 22MULTILIB_OPTIONS = mips32/mips64/mips64r2 mips16/mmicromips mabi=64 EL msoft-float mnan=2008 23MULTILIB_DIRNAMES = mips32 mips64 mips64r2 mips16 micromips 64 el sof nan2008 24MULTILIB_MATCHES = EL=mel EB=meb mips32r2=mips32r3 mips32r2=mips32r5 mips64r2=mips64r3 mips64r2=mips64r5 25 26MULTILIB_REQUIRED = 27MULTILIB_OSDIRNAMES = .=mips-r2-hard/lib 28MULTILIB_REQUIRED += mips64r2 29MULTILIB_OSDIRNAMES += mips64r2=!mips-r2-hard/lib32 30MULTILIB_REQUIRED += mips64r2/mabi=64 31MULTILIB_OSDIRNAMES += mips64r2/mabi.64=!mips-r2-hard/lib64 32 33MULTILIB_REQUIRED += mnan=2008 34MULTILIB_OSDIRNAMES += mnan.2008=!mips-r2-hard-nan2008/lib 35MULTILIB_REQUIRED += mips64r2/mnan=2008 36MULTILIB_OSDIRNAMES += mips64r2/mnan.2008=!mips-r2-hard-nan2008/lib32 37MULTILIB_REQUIRED += mips64r2/mabi=64/mnan=2008 38MULTILIB_OSDIRNAMES += mips64r2/mabi.64/mnan.2008=!mips-r2-hard-nan2008/lib64 39 40MULTILIB_REQUIRED += msoft-float 41MULTILIB_OSDIRNAMES += msoft-float=!mips-r2-soft/lib 42MULTILIB_REQUIRED += mips64r2/msoft-float 43MULTILIB_OSDIRNAMES += mips64r2/msoft-float=!mips-r2-soft/lib32 44MULTILIB_REQUIRED += mips64r2/mabi=64/msoft-float 45MULTILIB_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 54MULTILIB_REQUIRED += EL 55MULTILIB_OSDIRNAMES += EL=!mipsel-r2-hard/lib 56MULTILIB_REQUIRED += mips64r2/EL 57MULTILIB_OSDIRNAMES += mips64r2/EL=!mipsel-r2-hard/lib32 58MULTILIB_REQUIRED += mips64r2/mabi=64/EL 59MULTILIB_OSDIRNAMES += mips64r2/mabi.64/EL=!mipsel-r2-hard/lib64 60 61MULTILIB_REQUIRED += EL/mnan=2008 62MULTILIB_OSDIRNAMES += EL/mnan.2008=!mipsel-r2-hard-nan2008/lib 63MULTILIB_REQUIRED += mips64r2/EL/mnan=2008 64MULTILIB_OSDIRNAMES += mips64r2/EL/mnan.2008=!mipsel-r2-hard-nan2008/lib32 65MULTILIB_REQUIRED += mips64r2/mabi=64/EL/mnan=2008 66MULTILIB_OSDIRNAMES += mips64r2/mabi.64/EL/mnan.2008=!mipsel-r2-hard-nan2008/lib64 67 68MULTILIB_REQUIRED += EL/msoft-float 69MULTILIB_OSDIRNAMES += EL/msoft-float=!mipsel-r2-soft/lib 70MULTILIB_REQUIRED += mips64r2/EL/msoft-float 71MULTILIB_OSDIRNAMES += mips64r2/EL/msoft-float=!mipsel-r2-soft/lib32 72MULTILIB_REQUIRED += mips64r2/mabi=64/EL/msoft-float 73MULTILIB_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. 83MULTILIB_REQUIRED += mips16 84MULTILIB_OSDIRNAMES += mips16=!mips-r2-mips16-hard/lib 85MULTILIB_REQUIRED += mips16/mnan=2008 86MULTILIB_OSDIRNAMES += mips16/mnan.2008=!mips-r2-mips16-hard-nan2008/lib 87MULTILIB_REQUIRED += mips16/msoft-float 88MULTILIB_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 92MULTILIB_REQUIRED += mips16/EL 93MULTILIB_OSDIRNAMES += mips16/EL=!mipsel-r2-mips16-hard/lib 94MULTILIB_REQUIRED += mips16/EL/mnan=2008 95MULTILIB_OSDIRNAMES += mips16/EL/mnan.2008=!mipsel-r2-mips16-hard-nan2008/lib 96MULTILIB_REQUIRED += mips16/EL/msoft-float 97MULTILIB_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 101MULTILIB_REQUIRED += mmicromips 102MULTILIB_OSDIRNAMES += mmicromips=!micromips-r2-hard/lib 103MULTILIB_REQUIRED += mmicromips/mnan=2008 104MULTILIB_OSDIRNAMES += mmicromips/mnan.2008=!micromips-r2-hard-nan2008/lib 105MULTILIB_REQUIRED += mmicromips/msoft-float 106MULTILIB_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 110MULTILIB_REQUIRED += mmicromips/EL 111MULTILIB_OSDIRNAMES += mmicromips/EL=!micromipsel-r2-hard/lib 112MULTILIB_REQUIRED += mmicromips/EL/mnan=2008 113MULTILIB_OSDIRNAMES += mmicromips/EL/mnan.2008=!micromipsel-r2-hard-nan2008/lib 114MULTILIB_REQUIRED += mmicromips/EL/msoft-float 115MULTILIB_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 121MULTILIB_REQUIRED += mips32 122MULTILIB_OSDIRNAMES += mips32=!mips-r1-hard/lib 123MULTILIB_REQUIRED += mips64 124MULTILIB_OSDIRNAMES += mips64=!mips-r1-hard/lib32 125MULTILIB_REQUIRED += mips64/mabi=64 126MULTILIB_OSDIRNAMES += mips64/mabi.64=!mips-r1-hard/lib64 127 128MULTILIB_REQUIRED += mips32/msoft-float 129MULTILIB_OSDIRNAMES += mips32/msoft-float=!mips-r1-soft/lib 130MULTILIB_REQUIRED += mips64/msoft-float 131MULTILIB_OSDIRNAMES += mips64/msoft-float=!mips-r1-soft/lib32 132MULTILIB_REQUIRED += mips64/mabi=64/msoft-float 133MULTILIB_OSDIRNAMES += mips64/mabi.64/msoft-float=!mips-r1-soft/lib64 134 135MULTILIB_REQUIRED += mips32/EL 136MULTILIB_OSDIRNAMES += mips32/EL=!mipsel-r1-hard/lib 137MULTILIB_REQUIRED += mips64/EL 138MULTILIB_OSDIRNAMES += mips64/EL=!mipsel-r1-hard/lib32 139MULTILIB_REQUIRED += mips64/mabi=64/EL 140MULTILIB_OSDIRNAMES += mips64/mabi.64/EL=!mipsel-r1-hard/lib64 141 142MULTILIB_REQUIRED += mips32/EL/msoft-float 143MULTILIB_OSDIRNAMES += mips32/EL/msoft-float=!mipsel-r1-soft/lib 144MULTILIB_REQUIRED += mips64/EL/msoft-float 145MULTILIB_OSDIRNAMES += mips64/EL/msoft-float=!mipsel-r1-soft/lib32 146MULTILIB_REQUIRED += mips64/mabi=64/EL/msoft-float 147MULTILIB_OSDIRNAMES += mips64/mabi.64/EL/msoft-float=!mipsel-r1-soft/lib64 148 149# We will not include any 64 bit mips16 combinations. 150MULTILIB_REQUIRED += mips32/mips16 151MULTILIB_OSDIRNAMES += mips32/mips16=!mips-r1-mips16-hard/lib 152MULTILIB_REQUIRED += mips32/mips16/msoft-float 153MULTILIB_OSDIRNAMES += mips32/mips16/msoft-float=!mips-r1-mips16-soft/lib 154 155MULTILIB_REQUIRED += mips32/mips16/EL 156MULTILIB_OSDIRNAMES += mips32/mips16/EL=!mipsel-r1-mips16-hard/lib 157MULTILIB_REQUIRED += mips32/mips16/EL/msoft-float 158MULTILIB_OSDIRNAMES += mips32/mips16/EL/msoft-float=!mipsel-r1-mips16-soft/lib 159