Introduce mips{,n32,64}{,el}, riscv64, and s390x architectures

This commit is contained in:
Gleb Fotengauer-Malinovskiy 2017-11-17 17:43:56 +03:00
parent 0ca04d42f3
commit e9dcdf727e
5 changed files with 89 additions and 3 deletions

View File

@ -793,6 +793,16 @@ case "$build_os" in
RPMCANONGNU='-gnueabi' RPMCANONGNU='-gnueabi'
RPMCANONGNUEABI='-gnueabi' RPMCANONGNUEABI='-gnueabi'
;; ;;
*-gnuabin32)
build_os="${build_os%-gnuabin32}"
RPMCANONGNU='-gnuabin32'
RPMCANONGNUEABI='-gnuabin32'
;;
*-gnuabi64)
build_os="${build_os%-gnuabi64}"
RPMCANONGNU='-gnuabi64'
RPMCANONGNUEABI='-gnuabi64'
;;
esac esac
changequote(<, >) changequote(<, >)

View File

@ -48,12 +48,36 @@ case "$arch" in
e2k*) e2k*)
SUBSTS='s,e2k.*,e2k, s,e2k.*,e2kv4, s,e2k.*,e2kv5, s,e2k.*,e2kv6, s,e2k.*,noarch,' SUBSTS='s,e2k.*,e2k, s,e2k.*,e2kv4, s,e2k.*,e2kv5, s,e2k.*,e2kv6, s,e2k.*,noarch,'
;; ;;
mips)
SUBSTS='s,mips,mips, s,mips,noarch,'
;;
mipsel)
SUBSTS='s,mipsel,mipsel, s,mipsel,noarch,'
;;
mipsn32)
SUBSTS='s,mipsn32,mipsn32, s,mipsn32,noarch,'
;;
mipsn32el)
SUBSTS='s,mipsn32el,mipsn32el, s,mipsn32el,noarch,'
;;
mips64)
SUBSTS='s,mips64,mips64, s,mips64,noarch,'
;;
mips64el)
SUBSTS='s,mips64el,mips64el, s,mips64el,noarch,'
;;
s390x)
SUBSTS='s,s390x,s390x, s,s390x,noarch,'
;;
sparc*) sparc*)
SUBSTS='s,sparc\(64\|v9\),sparc, s,sparc64,sparcv9,;s,sparc\([^v]\|$\),sparcv9\1, s,sparcv9,sparc64,;s,sparc\([^6]\|$\),sparc64\1,' SUBSTS='s,sparc\(64\|v9\),sparc, s,sparc64,sparcv9,;s,sparc\([^v]\|$\),sparcv9\1, s,sparcv9,sparc64,;s,sparc\([^6]\|$\),sparc64\1,'
;; ;;
powerpc*|ppc*) powerpc*|ppc*)
SUBSTS='s,ppc64,ppc, s,ppc\([^6]\|$\),ppc64\1,' SUBSTS='s,ppc64,ppc, s,ppc\([^6]\|$\),ppc64\1,'
;; ;;
riscv64)
SUBSTS='s,riscv64,riscv64, s,riscv64,noarch,'
;;
x86_64) x86_64)
SUBSTS='s,x86_64,x86_64, s,x86_64,noarch,' SUBSTS='s,x86_64,x86_64, s,x86_64,noarch,'
;; ;;
@ -79,6 +103,12 @@ for SUBST in $SUBSTS ; do
ARCH_INSTALL_POST='%{nil}' ARCH_INSTALL_POST='%{nil}'
case "${ARCH}-${OS}" in case "${ARCH}-${OS}" in
aarch64-linux) LIBSUFF=64 ;; aarch64-linux) LIBSUFF=64 ;;
mipsn32-linux*) LIBSUFF=32 ;;
mipsn32el-linux*) LIBSUFF=32 ;;
mips64-linux*) LIBSUFF=64 ;;
mips64el-linux*) LIBSUFF=64 ;;
riscv64-linux) LIBSUFF=64 ;;
s390x-linux) LIBSUFF=64 ;;
sparc64-linux) LIBSUFF=64 ;; sparc64-linux) LIBSUFF=64 ;;
x86_64-linux) LIBSUFF=64 ;; x86_64-linux) LIBSUFF=64 ;;
e2k*-linux) LIBSUFF=64 ;; e2k*-linux) LIBSUFF=64 ;;

View File

@ -812,6 +812,30 @@
%_configure_platform_e2k16c e2k-%{_vendor}-%{_target_os}%{_gnueabi} %_configure_platform_e2k16c e2k-%{_vendor}-%{_target_os}%{_gnueabi}
%_configure_platform_e2k2c3 e2k-%{_vendor}-%{_target_os}%{_gnueabi} %_configure_platform_e2k2c3 e2k-%{_vendor}-%{_target_os}%{_gnueabi}
#------------------------------------------------------------------------------
# arch macro for o32 MIPS targets
%mips32 mips mipsel
#------------------------------------------------------------------------------
# arch macro for n32 MIPS targets
%mipsn32 mipsn32 mipsn32el
#------------------------------------------------------------------------------
# arch macro for n64 MIPS targets
%mips64 mips64 mips64el
#------------------------------------------------------------------------------
# arch macro for big endian MIPS targets
%mipseb mips mipsn32 mips64
#------------------------------------------------------------------------------
# arch macro for little endian MIPS targets
%mipsel mipsel mipsn32el mips64el
#------------------------------------------------------------------------------
# arch macro for all supported MIPS targets
%mips %{mips32} %{mipsn32} %{mips64}
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# Use in %install to generate locale specific file lists. For example, # Use in %install to generate locale specific file lists. For example,
# #

View File

@ -305,13 +305,13 @@ chmod a+x scripts/find-lang
RPMCONFIGDIR=./scripts ./scripts/find-lang %oname rpm2cpio --output %oname.lang RPMCONFIGDIR=./scripts ./scripts/find-lang %oname rpm2cpio --output %oname.lang
pushd %buildroot%_rpmlibdir pushd %buildroot%_rpmlibdir
for f in *-alt-%_target_os; do for f in *-alt-%_target_os%{?_gnueabi:%_gnueabi}; do
n=`echo "$f" |sed -e 's/-alt//'` n=`echo "$f" |sed -e 's/-alt//' %{?_gnueabi:-e 's/%_gnueabi$//'}`
[ -e "$n" ] || ln -s "$f" "$n" [ -e "$n" ] || ln -s "$f" "$n"
done done
popd popd
/bin/ls -1d %buildroot%_rpmlibdir/*-%_target_os | ls -d %buildroot%_rpmlibdir/*-%{_target_os}* |
grep -Fv /brp- | grep -Fv /brp- |
sed -e "s|^%buildroot|%%attr(-,root,%oname) |g" >>rpmbuild.platform sed -e "s|^%buildroot|%%attr(-,root,%oname) |g" >>rpmbuild.platform

View File

@ -71,6 +71,10 @@ optflags: hppa2.0 %optflags_default -mpa-risc-1-0
optflags: mips %optflags_default optflags: mips %optflags_default
optflags: mipsel %optflags_default optflags: mipsel %optflags_default
optflags: mipsn32 %optflags_default
optflags: mipsn32el %optflags_default
optflags: mips64 %optflags_default
optflags: mips64el %optflags_default
optflags: armv3l %optflags_default -fomit-frame-pointer -march=armv3 optflags: armv3l %optflags_default -fomit-frame-pointer -march=armv3
optflags: armv4l %optflags_default -fomit-frame-pointer -march=armv4 optflags: armv4l %optflags_default -fomit-frame-pointer -march=armv4
@ -82,6 +86,7 @@ optflags: arm %optflags_default -fomit-frame-pointer -march=armv5te
optflags: armv7l %optflags_default -fomit-frame-pointer -march=armv7-a -mthumb optflags: armv7l %optflags_default -fomit-frame-pointer -march=armv7-a -mthumb
optflags: armh %optflags_default -fomit-frame-pointer -march=armv7-a -mthumb optflags: armh %optflags_default -fomit-frame-pointer -march=armv7-a -mthumb
optflags: aarch64 %optflags_default optflags: aarch64 %optflags_default
optflags: riscv64 %optflags_default
optflags: atarist %optflags_default -fomit-frame-pointer optflags: atarist %optflags_default -fomit-frame-pointer
optflags: atariste %optflags_default -fomit-frame-pointer optflags: atariste %optflags_default -fomit-frame-pointer
@ -139,7 +144,12 @@ arch_canon: ia64: ia64 9
arch_canon: sparc64:sparc64 10 arch_canon: sparc64:sparc64 10
arch_canon: sun4u: sparc64 10 arch_canon: sun4u: sparc64 10
arch_canon: mipsel: mipsel 11 arch_canon: mipsel: mipsel 11
arch_canon: mipsn32: mipsn32 11
arch_canon: mipsn32el: mipsn32el 11
arch_canon: mips64: mips64 11
arch_canon: mips64el: mips64el 11
arch_canon: armv6l: arm 12 arch_canon: armv6l: arm 12
arch_canon: armv5tejl: armv5tejl 12 arch_canon: armv5tejl: armv5tejl 12
@ -327,6 +337,10 @@ arch_compat: sparc: noarch
arch_compat: mips: noarch arch_compat: mips: noarch
arch_compat: mipsel: noarch arch_compat: mipsel: noarch
arch_compat: mipsn32: noarch
arch_compat: mipsn32el: noarch
arch_compat: mips64: noarch
arch_compat: mips64el: noarch
arch_compat: hppa2.0: hppa1.2 arch_compat: hppa2.0: hppa1.2
arch_compat: hppa1.2: hppa1.1 arch_compat: hppa1.2: hppa1.1
@ -366,6 +380,8 @@ arch_compat: amd64: x86_64
arch_compat: ia32e: x86_64 arch_compat: ia32e: x86_64
arch_compat: x86_64: athlon_xp pentium4 arch_compat: x86_64: athlon_xp pentium4
arch_compat: riscv64: noarch
os_compat: IRIX64: IRIX os_compat: IRIX64: IRIX
os_compat: solaris2.7: solaris2.3 solaris2.4 solaris2.5 solaris2.6 os_compat: solaris2.7: solaris2.3 solaris2.4 solaris2.5 solaris2.6
os_compat: solaris2.6: solaris2.3 solaris2.4 solaris2.5 os_compat: solaris2.6: solaris2.3 solaris2.4 solaris2.5
@ -448,6 +464,10 @@ buildarch_compat: ppc64: noarch
buildarch_compat: mips: noarch buildarch_compat: mips: noarch
buildarch_compat: mipsel: noarch buildarch_compat: mipsel: noarch
buildarch_compat: mipsn32: noarch
buildarch_compat: mipsn32el: noarch
buildarch_compat: mips64: noarch
buildarch_compat: mips64el: noarch
buildarch_compat: armv8l: armv7l buildarch_compat: armv8l: armv7l
buildarch_compat: armv7l: armh buildarch_compat: armv7l: armh
@ -483,6 +503,8 @@ buildarch_compat: ia64: noarch
buildarch_compat: s390: noarch buildarch_compat: s390: noarch
buildarch_compat: s390x: noarch buildarch_compat: s390x: noarch
buildarch_compat: riscv64: noarch
macrofiles: @RPMCONFIGDIR@/buildmacros:@RPMCONFIGDIR@/%{_target}/macros:@RPMCONFIGDIR@/macros.d/*:@SYSCONFIGDIR@/macros.specspo:@SYSCONFIGDIR@/macros.cdb:@SYSCONFIGDIR@/macros:@SYSCONFIGDIR@/%{_target}/macros:@SYSCONFIGDIR@/macros.d/*:~/.rpmmacros macrofiles: @RPMCONFIGDIR@/buildmacros:@RPMCONFIGDIR@/%{_target}/macros:@RPMCONFIGDIR@/macros.d/*:@SYSCONFIGDIR@/macros.specspo:@SYSCONFIGDIR@/macros.cdb:@SYSCONFIGDIR@/macros:@SYSCONFIGDIR@/%{_target}/macros:@SYSCONFIGDIR@/macros.d/*:~/.rpmmacros
# \endverbatim # \endverbatim