t-rtems   [plain text]


# Multilibs for powerpc RTEMS targets.

MULTILIB_OPTIONS	= \
D_OLD_EXCEPTIONS \
mcpu=403/mcpu=505/mcpu=601/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400 \
Dmpc8260 \
msoft-float

MULTILIB_DIRNAMES	= \
roe \
m403 m505 m601 m603e m604 m860 m7400 \
mpc8260 \
nof

MULTILIB_EXTRA_OPTS	= mrelocatable-lib mno-eabi mstrict-align

# MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT}
MULTILIB_MATCHES	=
MULTILIB_MATCHES  	+= ${MULTILIB_MATCHES_ENDIAN}
MULTILIB_MATCHES	+= ${MULTILIB_MATCHES_SYSV}
# Map 405 to 403
MULTILIB_MATCHES	+= mcpu?403=mcpu?405
# Map 602, 603e, 603 to 603e
MULTILIB_MATCHES	+= mcpu?603e=mcpu?602
MULTILIB_MATCHES	+= mcpu?603e=mcpu?603
# Map 801, 821, 823 to 860
MULTILIB_MATCHES 	+= mcpu?860=mcpu?801
MULTILIB_MATCHES 	+= mcpu?860=mcpu?821
MULTILIB_MATCHES 	+= mcpu?860=mcpu?823
# Map 7450 to 7400
MULTILIB_MATCHES	+= mcpu?7400=mcpu?7450

# Map 750 to .
MULTILIB_MATCHES	+= mcpu?750=


#
# RTEMS old/new-exceptions handling
#
# old-exception processing is depredicated, therefore
#
# * Cpu-variants supporting new exception processing are build 
# with new exception processing only
# * Cpu-variants not having been ported to new exception processing are
# build with old and new exception processing
#

# Cpu-variants supporting new exception processing only
MULTILIB_NEW_EXCEPTIONS_ONLY = \
D_OLD_EXCEPTIONS \
D_OLD_EXCEPTIONS/msoft-float \
D_OLD_EXCEPTIONS/mcpu=505 \
D_OLD_EXCEPTIONS/mcpu=505/* \
D_OLD_EXCEPTIONS/mcpu=601 \
D_OLD_EXCEPTIONS/mcpu=601/* \
D_OLD_EXCEPTIONS/mcpu=604 \
D_OLD_EXCEPTIONS/mcpu=604/* \
D_OLD_EXCEPTIONS/mcpu=750 \
D_OLD_EXCEPTIONS/mcpu=750/* \
D_OLD_EXCEPTIONS/mcpu=860 \
D_OLD_EXCEPTIONS/mcpu=860/* \
D_OLD_EXCEPTIONS/mcpu=7400 \
D_OLD_EXCEPTIONS/mcpu=7400/* \
D_OLD_EXCEPTIONS/*Dmpc*

# Soft-float only, default implies msoft-float
# NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES
MULTILIB_SOFTFLOAT_ONLY = \
*mcpu=401/*msoft-float* \
*mcpu=403/*msoft-float* \
*mcpu=405/*msoft-float* \
*mcpu=801/*msoft-float* \
*mcpu=821/*msoft-float* \
*mcpu=823/*msoft-float* \
*mcpu=860/*msoft-float*

# Hard-float only, take out msoft-float
MULTILIB_HARDFLOAT_ONLY = \
*mcpu=505/*msoft-float*

MULTILIB_EXCEPTIONS =

# Disallow -Dppc and -Dmpc without other options
MULTILIB_EXCEPTIONS 	+= Dppc* Dmpc*

MULTILIB_EXCEPTIONS	+= \
${MULTILIB_NEW_EXCEPTIONS_ONLY} \
${MULTILIB_SOFTFLOAT_ONLY} \
${MULTILIB_HARDFLOAT_ONLY}

# Special rules
# Take out all variants we don't want
MULTILIB_EXCEPTIONS += *mcpu=403/Dmpc*
MULTILIB_EXCEPTIONS += *mcpu=505/Dmpc*
MULTILIB_EXCEPTIONS += *mcpu=601/Dmpc*
MULTILIB_EXCEPTIONS += *mcpu=604/Dmpc*
MULTILIB_EXCEPTIONS += *mcpu=750/Dmpc*
MULTILIB_EXCEPTIONS += *mcpu=860/Dmpc*
MULTILIB_EXCEPTIONS += *mcpu=7400/Dmpc*