summaryrefslogtreecommitdiff
path: root/~coadde/cross-binutils/PKGBUILD
diff options
context:
space:
mode:
authorMárcio Alexandre Silva Delgado <coadde@lavabit.com>2013-07-13 20:42:36 -0300
committerMárcio Alexandre Silva Delgado <coadde@lavabit.com>2013-07-13 20:42:36 -0300
commitfa7ae387a0aab9fe8fe9c9dabf6500076af83673 (patch)
treec266009c8f2ee60576513a56dd26c5af47f63a15 /~coadde/cross-binutils/PKGBUILD
parent4ff12c1443c08ba2ef8dee44533b61e1a0a51b5b (diff)
cross-binutils: fixing architectures
Diffstat (limited to '~coadde/cross-binutils/PKGBUILD')
-rw-r--r--~coadde/cross-binutils/PKGBUILD207
1 files changed, 107 insertions, 100 deletions
diff --git a/~coadde/cross-binutils/PKGBUILD b/~coadde/cross-binutils/PKGBUILD
index 5f322af4f..cb84cae3a 100644
--- a/~coadde/cross-binutils/PKGBUILD
+++ b/~coadde/cross-binutils/PKGBUILD
@@ -3,34 +3,57 @@
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
-#+-------------------+-----------------------+-------------+------------------------------+
-#| _CARCH | _os (GNU/Linux-libre) | _os (GNU) | _os (GNU/Linux-libre uClibc) |
-#+-------------------+-----------------------+-------------+------------------------------+
-#| mips64el | unknown-linux-gnu | - | unknown-uclinux-gnu |
-#| x86_64 | unknown-linux-gnu | unknown-gnu | unknown-uclinux-gnu |
-#| i[65]86 | pc-linux-gnu | pc-gnu | unknown-uclinux-gnu |
-#| aarch64{,_be} | unknown-linux-gnu | - | unknown-uclinux-gnu |
-#| arm{,v[765]}{,eb} | unknown-linux-gnueabi | - | unknown-uclinux-gnueabi |
-#| sparc64 | unknown-linux-gnu | - | - |
-#| ia64 | unknown-linux-gnu | - | - |
-#+-------------------+-----------------------+-------------+------------------------------+
-
-#+----------------+--------------------+
-#| _CARCH | _os (ELF/EABI) |
-#+----------------+--------------------+
-#| xtensa | unknown-elf |
-#| mips64{,el} | unknown-elf |
-#| mips32{,el} | unknown-elf |
-#| x86_64 | unknown-elf |
-#| i[653]86 | unknown-elf |
-#| aarch64{,_be} | unknown-elf |
-#| arm{,eb} | unknown-eabi |
-#| powerpc64{,le} | unknown-{elf,eabi} |
-#| powerpc32{,le} | unknown-{elf,eabi} |
-#| sh64{,l} | unknown-elf |
-#| sh{,l} | unknown-elf |
-#| m68k | unknown-elf |
-#+----------------+--------------------+
+# +-------------+-------------+-----------------------------------------------------------+-----------+---------+
+# | -march | CARCH | CHOST (_target) | Multilib | QEMU |
+# +-------------+-------------+-------------+----------+----------------------------------+-----------+---------+
+# | _arch | _CARCH | _host | _machine | _system (GNU/*) | _multilib | - |
+# +-------------+-------------+-------------+----------+----------------------------------+-----------+---------+
+# | mips64el | mips64el | mips64el | unknown | linux-gnu|elf | yes | sys |
+# | mips64 | mips64 | mips64 | unknown | linux-gnu|elf | yes | sys |
+# | * | mipsel | mipsel | unknown | elf | no | bin/sys |
+# | * | mips | mips | unknown | elf | no | bin/sys |
+# | x86_64 | x86_64 | x86_64 | unknown | linux-gnu|gnu<|elf | yes | bin/sys |
+# | i[5-7]86 | i[5-7]86 | i[5-7]86 | pc | linux-gnu|gnu|elf | no | bin/sys |
+# | * | i486 | i486 | unknown | elf | no | bin/sys |
+# | * | i386 | i386 | unknown | elf | no | bin/sys |
+# | armv8-a | aarch64 | aarch64 | unknown | linux-gnu|elf | yes | - |
+# | armv8-a | aarch64_be | aarch64_be | unknown | linux-gnu|elf | yes | - |
+# | armv7-a | armv7h | armv7l | unknown | linux-gnueabihf | no | bin/sys |
+# | armv6 | armv6h | armv6l | unknown | linux-gnueabihf | no | bin/sys |
+# | armv5te | arm | armv5tel | unknown | linux-gnueabi | no | bin/sys |
+# | * | arm | arm | unknown | eabi | no | bin/sys |
+# | arm | armeb | armeb | unknown | linux-gnueabi|eabi | no | bin |
+# | sparc64 | sparc64 | sparc64 | unknown | linux-gnu | yes | bin/sys |
+# | sparc | sparc | sparc | unknown | linux-gnu | no | bin/sys |
+# | - | ia64 | ia64 | unknown | linux-gnu | yes | - |
+# | - | s390 | s390 | unknown | linux-gnu | no | - |
+# | - | s390x | s390x | unknown | linux-gnu | no | bin/sys |
+# | powerpc64 | powerpc64 | powerpc64 | unknown | linux-gnu|linux-gnueabi|elf|eabi | yes | bin/sys |
+# | powerpc64le | powerpc64le | powerpc64le | unknown | linux-gnu|linux-gnueabi|elf|eabi | yes | - |
+# | powerpc | powerpc | powerpc | unknown | linux-gnu|linux-gnueabi|elf|eabi | no | bin/sys |
+# | powerpcle | powerpcle | powerpcle | unknown | linux-gnu|linux-gnueabi|elf|eabi | no | - |
+# | - | spu | spu | unknown | elf | no | - |
+# | - | sh64 | sh64 | unknown | linux-gnu|elf | yes | - |
+# | - | sh64l | sh64l | unknown | linux-gnu|elf | yes | - |
+# | - | sh4 | sh4 | unknown | linux-gnu | no | bin/sys |
+# | - | sh4l | sh4l | unknown | linux-gnu | no | bin/sys |
+# | - | sh | sh | unknown | elf | no | - @ |
+# | - | shl | shl | unknown | elf | no | - @ |
+# | - | xtensa | xtensa | unknown | elf | no | sys |
+# | * | m68k | m68k | unknown | elf | no | bin/sys |
+# | - | lm32 | lm32 | unknown | linux-gnu|elf | no | sys |
+# | - | or32 | or32 | unknown | linux-gnu<|elf< | no | bin/sys |
+# +-------------+-------------+-------------+----------+----------------------------------+-----------+---------+
+
+# * : Any supported by architecture.
+# - : None.
+# @ : bin/sys (Only sh4 and sh4l support)
+# < : I will support it. (future)
+
+_carch_list=('mips64el' 'mips64' 'x86_64' 'i786' 'i686' 'i586' 'i486' 'i386' 'aarch64' 'aarch64_be'
+ 'armv7l' 'armv6l' 'armv5tel' 'armeb' 'sparc64' 'sparc' 'ia64' 's390' 's390x'
+ 'powerpc64' 'powerpc64le' 'powerpc' 'powerpcle' 'sh64' 'sh64l' 'sh4' 'sh4l' 'lm32' 'or32')
+_multilib_list=('mips64el' 'mips64' 'x86_64' 'aarch64' 'aarch64_be' 'sparc64' 'ia64' 'powerpc64' 'powerpc64le''sh64' 'sh64l')
#---------------------------------------------------------------------------------------------------------------------------------------------
@@ -38,8 +61,9 @@ _pkgname="binutils"
### Base FLAGS: ###
_CARCH="x86_64"
-_os="unknown-linux-gnu"
-_target="${_CARCH}-${_os}"
+_host="${_CARCH}"
+_machine="unknown"
+_system="linux-gnu"
_multilib="no"
### Patch FLAGS: ###
@@ -47,30 +71,16 @@ _patch_ath9k_htc_fw="no"
#---------------------------------------------------------------------------------------------------------------------------------------------
+_target="${_host}-${_machine}-${_system}"
+
# For "_multilib"
[[ ${_multilib} == "yes" ]] && {
_multilib_name="-multilib"
_multilib_desc=" for multilib"
}
-[[ ${_CARCH} == i686 ||
- ${_CARCH} == i586 ||
- ${_CARCH} == i386 ||
- ${_CARCH} == xtensa ||
- ${_CARCH} == mips32 ||
- ${_CARCH} == mips32el ||
- ${_CARCH} == arm ||
- ${_CARCH} == armeb ||
- ${_CARCH} == armv7 ||
- ${_CARCH} == armv7eb ||
- ${_CARCH} == armv6 ||
- ${_CARCH} == armv6eb ||
- ${_CARCH} == armv5 ||
- ${_CARCH} == armv5eb ||
- ${_CARCH} == powerpc32 ||
- ${_CARCH} == powerpc32le ||
- ${_CARCH} == sh ||
- ${_CARCH} == shl ||
- ${_CARCH} == m68k ]] && _multilib="no"
+for _arch_multilib in ${_multilib_list[@]}; do
+ [[ ${_CARCH} != ${_arch_multilib} ]] && _multilib="no"
+done
# For "_patch_ath9k_htc_fw"
[[ ${_patch_ath9k_htc_fw} == "yes" ]] && {
@@ -88,7 +98,7 @@ pkgname=(
)
pkgver=2.23.2
pkgrel=2
-arch=('i686' 'x86_64' 'mips64el')
+arch=("${_carch_list[@]}")
url="http://www.gnu.org/software/${_pkgname}/"
license=('GPL2')
groups=('cross-devel')
@@ -132,16 +142,13 @@ build() {
cd ${srcdir}/${_pkgname}-build
[[ $CARCH != ${_CARCH} ]] && _TARGET="--target=${_target}"
- if [[ $CARCH == x86_64 ||
- $CARCH == mips64el ||
- $CARCH == aarch64 ||
- $CARCH == aarch64_be ||
- $CARCH == sparc64 ||
- $CARCH == ia64 ]]; then
- _LIB_PATH="--with-lib-path=/usr/lib:/usr/lib32:/usr/local/lib:/usr/local/lib32:/usr/${_target}/lib:/usr/${_target}/lib32"
- else
- _LIB_PATH="--with-lib-path=/usr/lib:/usr/local/lib:/usr/${_target}/lib"
- fi
+ for _arch_multilib2 in ${_multilib_list[@]}; do
+ if [[ ${_CARCH} == ${_arch_multilib2} ]]; then
+ _LIB_PATH="--with-lib-path=/usr/lib:/usr/lib32:/usr/local/lib:/usr/local/lib32:/usr/${_target}/lib:/usr/${_target}/lib32"
+ else
+ _LIB_PATH="--with-lib-path=/usr/lib:/usr/local/lib:/usr/${_target}/lib"
+ fi
+ done
if [[ ${_multilib} == "yes" ]]; then
_MULTILIB='--enable-multilib'
@@ -248,69 +255,64 @@ _target-binutils() {
#---------------------------------------------------------------------------------------------------------------------------------------------
-# GNU/Linux-libre with GNU C Library (glibc)
+# GNU/Linux-libre
package_mips64el-unknown-linux-gnu-binutils() { _target-binutils; }
package_mips64el-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
+package_mips64-unknown-linux-gnu-binutils() { _target-binutils; }
+package_mips64-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
package_x86_64-unknown-linux-gnu-binutils() { _target-binutils; }
package_x86_64-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
+package_i786-pc-linux-gnu-binutils() { _target-binutils; }
package_i686-pc-linux-gnu-binutils() { _target-binutils; }
package_i586-pc-linux-gnu-binutils() { _target-binutils; }
package_aarch64-unknown-linux-gnu-binutils() { _target-binutils; }
package_aarch64-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
package_aarch64_be-unknown-linux-gnu-binutils() { _target-binutils; }
package_aarch64_be-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
-package_arm-unknown-linux-gnueabi-binutils() { _target-binutils; }
+package_arm7l-unknown-linux-gnueabi-binutils() { _target-binutils; }
+package_arm6l-unknown-linux-gnueabi-binutils() { _target-binutils; }
+package_arm5tel-unknown-linux-gnueabi-binutils() { _target-binutils; }
package_armeb-unknown-linux-gnueabi-binutils() { _target-binutils; }
-package_armv7-unknown-linux-gnueabi-binutils() { _target-binutils; }
-package_armv7eb-unknown-linux-gnueabi-binutils() { _target-binutils; }
-package_armv6-unknown-linux-gnueabi-binutils() { _target-binutils; }
-package_armv6eb-unknown-linux-gnueabi-binutils() { _target-binutils; }
-package_armv5-unknown-linux-gnueabi-binutils() { _target-binutils; }
-package_armv5eb-unknown-linux-gnueabi-binutils() { _target-binutils; }
package_sparc64-unknown-linux-gnu-binutils() { _target-binutils; }
package_sparc64-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
+package_sparc-unknown-linux-gnu-binutils() { _target-binutils; }
package_ia64-unknown-linux-gnu-binutils() { _target-binutils; }
package_ia64-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
+package_s390-unknown-linux-gnu-binutils() { _target-binutils; }
+package_s390x-unknown-linux-gnu-binutils() { _target-binutils; }
+package_sparc64-unknown-linux-gnu-binutils() { _target-binutils; }
+package_sparc64-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
+package_powerpc64-unknown-linux-gnu-binutils() { _target-binutils; }
+package_powerpc64-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
+package_powerpc64le-unknown-linux-gnu-binutils() { _target-binutils; }
+package_powerpc64le-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
+package_powerpc-unknown-linux-gnu-binutils() { _target-binutils; }
+package_powerpcle-unknown-linux-gnu-binutils() { _target-binutils; }
+package_sh64-unknown-linux-gnu-binutils() { _target-binutils; }
+package_sh64-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
+package_sh64l-unknown-linux-gnu-binutils() { _target-binutils; }
+package_sh64l-unknown-linux-gnu-binutils-multilib() { _target-binutils; }
+package_sh4-unknown-linux-gnu-binutils() { _target-binutils; }
+package_sh4l-unknown-linux-gnu-binutils() { _target-binutils; }
+package_lm32-unknown-linux-gnu-binutils() { _target-binutils; }
+package_or32-unknown-linux-gnu-binutils() { _target-binutils; }
# GNU
package_x86_64-unknown-gnu-binutils() { _target-binutils; }
package_x86_64-unknown-gnu-binutils-multilib() { _target-binutils; }
+package_i786-pc-gnu-binutils() { _target-binutils; }
package_i686-pc-gnu-binutils() { _target-binutils; }
package_i586-pc-gnu-binutils() { _target-binutils; }
-# GNU/Linux-libre with uClibc
-package_mips64el-unknown-uclinux-gnu-binutils() { _target-binutils; }
-package_mips64el-unknown-uclinux-gnu-binutils-multilib() { _target-binutils; }
-package_x86_64-unknown-uclinux-gnu-binutils() { _target-binutils; }
-package_x86_64-unknown-uclinux-gnu-binutils-multilib() { _target-binutils; }
-package_i686-pc-uclinux-gnu-binutils() { _target-binutils; }
-package_i586-pc-uclinux-gnu-binutils() { _target-binutils; }
-package_aarch64-unknown-uclinux-gnu-binutils() { _target-binutils; }
-package_aarch64-unknown-uclinux-gnu-binutils-multilib() { _target-binutils; }
-package_aarch64_be-unknown-uclinux-gnu-binutils() { _target-binutils; }
-package_aarch64_be-unknown-uclinux-gnu-binutils-multilib() { _target-binutils; }
-package_arm-unknown-uclinux-gnueabi-binutils() { _target-binutils; }
-package_armeb-unknown-uclinux-gnueabi-binutils() { _target-binutils; }
-package_armv7-unknown-uclinux-gnueabi-binutils() { _target-binutils; }
-package_armv7eb-unknown-uclinux-gnueabi-binutils() { _target-binutils; }
-package_armv6-unknown-uclinux-gnueabi-binutils() { _target-binutils; }
-package_armv6eb-unknown-uclinux-gnueabi-binutils() { _target-binutils; }
-package_armv5-unknown-uclinux-gnueabi-binutils() { _target-binutils; }
-package_armv5eb-unknown-uclinux-gnueabi-binutils() { _target-binutils; }
-
# ELF or EABI only
-package_xtensa-unknown-elf-binutils() { _target-binutils; }
-package_xtensa-unknown-elf-binutils-ath9k_htc() { _target-binutils; }
package_mips64el-unknown-elf-binutils() { _target-binutils; }
package_mips64el-unknown-elf-binutils-multilib() { _target-binutils; }
package_mips64-unknown-elf-binutils() { _target-binutils; }
package_mips64-unknown-elf-binutils-multilib() { _target-binutils; }
-package_mips32el-unknown-elf-binutils() { _target-binutils; }
-package_mips32-unknown-elf-binutils() { _target-binutils; }
+package_mipsel-unknown-elf-binutils() { _target-binutils; }
+package_mips-unknown-elf-binutils() { _target-binutils; }
package_x86_64-unknown-elf-binutils() { _target-binutils; }
package_x86_64-unknown-elf-binutils-multilib() { _target-binutils; }
-package_i686-unknown-elf-binutils() { _target-binutils; }
-package_i586-unknown-elf-binutils() { _target-binutils; }
package_i386-unknown-elf-binutils() { _target-binutils; }
package_aarch64-unknown-elf-binutils() { _target-binutils; }
package_aarch64-unknown-elf-binutils-multilib() { _target-binutils; }
@@ -320,23 +322,28 @@ package_arm-unknown-eabi-binutils() { _target-binutils; }
package_armeb-unknown-eabi-binutils() { _target-binutils; }
package_powerpc64-unknown-elf-binutils() { _target-binutils; }
package_powerpc64-unknown-elf-binutils-multilib() { _target-binutils; }
-package_powerpc64le-unknown-elf-binutils() { _target-binutils; }
-package_powerpc64le-unknown-elf-binutils-multilib() { _target-binutils; }
-package_powerpc32-unknown-elf-binutils() { _target-binutils; }
-package_powerpc32le-unknown-elf-binutils() { _target-binutils; }
package_powerpc64-unknown-eabi-binutils() { _target-binutils; }
package_powerpc64-unknown-eabi-binutils-multilib() { _target-binutils; }
+package_powerpc64le-unknown-elf-binutils() { _target-binutils; }
+package_powerpc64le-unknown-elf-binutils-multilib() { _target-binutils; }
package_powerpc64le-unknown-eabi-binutils() { _target-binutils; }
package_powerpc64le-unknown-eabi-binutils-multilib() { _target-binutils; }
-package_powerpc32-unknown-eabi-binutils() { _target-binutils; }
-package_powerpc32le-unknown-eabi-binutils() { _target-binutils; }
+package_powerpc-unknown-elf-binutils() { _target-binutils; }
+package_powerpc-unknown-eabi-binutils() { _target-binutils; }
+package_powerpcle-unknown-elf-binutils() { _target-binutils; }
+package_powerpcle-unknown-eabi-binutils() { _target-binutils; }
+package_spu-unknown-elf-binutils() { _target-binutils; }
package_sh64-unknown-elf-binutils() { _target-binutils; }
package_sh64-unknown-elf-binutils-multilib() { _target-binutils; }
package_sh64l-unknown-elf-binutils() { _target-binutils; }
package_sh64l-unknown-elf-binutils-multilib() { _target-binutils; }
package_sh-unknown-elf-binutils() { _target-binutils; }
package_shl-unknown-elf-binutils() { _target-binutils; }
+package_xtensa-unknown-elf-binutils() { _target-binutils; }
+package_xtensa-unknown-elf-binutils-ath9k_htc() { _target-binutils; }
package_m68k-unknown-elf-binutils() { _target-binutils; }
+package_lm32-unknown-elf-binutils() { _target-binutils; }
+package_or32-unknown-elf-binutils() { _target-binutils; }
#---------------------------------------------------------------------------------------------------------------------------------------------