summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--~coadde/cross-binutils/PKGBUILD51
1 files changed, 48 insertions, 3 deletions
diff --git a/~coadde/cross-binutils/PKGBUILD b/~coadde/cross-binutils/PKGBUILD
index e7d253ed2..d5ca23da4 100644
--- a/~coadde/cross-binutils/PKGBUILD
+++ b/~coadde/cross-binutils/PKGBUILD
@@ -32,6 +32,8 @@
#| m68k | unknown-elf |
#+----------------+--------------------+
+#---------------------------------------------------------------------------------------------------------------------------------------------
+
_pkgname="binutils"
### Base FLAGS: ###
@@ -43,11 +45,32 @@ _multilib="no"
### Patch FLAGS: ###
_patch_ath9k_htc_fw="no"
+#---------------------------------------------------------------------------------------------------------------------------------------------
+
[[ ${_multilib} == "yes" ]] && {
_multilib_name="-multilib"
_multilib_desc=" for multilib"
}
+[[ ${_CARCH} == i686 ||
+ ${_CARCH} == i586 ||
+ ${_CARCH} == i386 ||
+ ${_CARCH} == xtensa ||
+ ${_CARCH} == mips32 ||
+ ${_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 "_patch_ath9k_htc_fw"
[[ ${_patch_ath9k_htc_fw} == "yes" ]] && {
_ath9k_htc_name="-ath9k-htc"
@@ -55,6 +78,10 @@ _patch_ath9k_htc_fw="no"
_multilib="no"
}
+[[ ${_CARCH} != xtensa ]] && _patch_ath9k_htc_fw="no"
+
+#---------------------------------------------------------------------------------------------------------------------------------------------
+
pkgname=(
"${_target}-${_pkgname}${_multilib_name}${_ath9k_htc_name}"
"${_pkgname}-common"
@@ -66,7 +93,8 @@ url="http://www.gnu.org/software/${_pkgname}/"
license=('GPL2')
groups=('cross-devel')
checkdepends=('dejagnu' 'bc')
-[[ ${_multilib} == "yes" ]] && makedepends=('gcc-multilib') # makedepends=("$CHOST-gcc-multilib") # Make sure we compile this with gcc-multilib
+# Make sure we compile this with {$CHOST-,}gcc-multilib
+[[ ${_multilib} == "yes" ]] && makedepends=('gcc-multilib') # makedepends=("$CHOST-gcc-multilib")
options=('!libtool' '!distcc' '!ccache')
source=(ftp://ftp.gnu.org/gnu/${_pkgname}/${_pkgname}-${pkgver}.tar.bz2{,.sig}
${_pkgname}-2.23.2-texinfo-5.0.patch)
@@ -79,6 +107,8 @@ md5sums=('4f8fa651e35ef262edc01d60fb45702e'
md5sums+=('7077126d96e9a755a0eaddb5505efe68')
}
+#---------------------------------------------------------------------------------------------------------------------------------------------
+
prepare() {
cd ${srcdir}/${_pkgname}-${pkgver}
@@ -96,12 +126,19 @@ prepare() {
mkdir -v ${srcdir}/${_pkgname}-build
}
+#---------------------------------------------------------------------------------------------------------------------------------------------
+
build() {
cd ${srcdir}/${_pkgname}-build
msg "The 'lib64(lib)' and 'lib(lib32)' will be fixed on _target-binutils() on ldscripts files"
[[ $CARCH != ${_CARCH} ]] && _TARGET="--target=${_target}"
- if [[ $CARCH == x86_64 || $CARCH == mips64el || $CARCH == aarch64 || $CARCH == aarch64_be || $CARCH == sparc64 || $CARCH == ia64 ]]; then
+ if [[ $CARCH == x86_64 ||
+ $CARCH == mips64el ||
+ $CARCH == aarch64 ||
+ $CARCH == aarch64_be ||
+ $CARCH == sparc64 ||
+ $CARCH == ia64 ]]; then
_LIB_PATH="--with-lib-path=/usr/lib64:/usr/lib:/usr/local/lib64:/usr/local/lib:/usr/${_target}/lib64:/usr/${_target}/lib"
else
_LIB_PATH="--with-lib-path=/usr/lib32:/usr/local/lib32:/usr/${_target}/lib32"
@@ -131,6 +168,8 @@ build() {
make tooldir=/opt/${pkgname[0]}/${pkgver}
}
+#---------------------------------------------------------------------------------------------------------------------------------------------
+
check() {
cd ${srcdir}/${_pkgname}-build
@@ -139,13 +178,15 @@ check() {
make LDFLAGS="" -k check || true
}
+#---------------------------------------------------------------------------------------------------------------------------------------------
+
_target-binutils() {
pkgrel=$pkgrel
pkgdesc="A set of programs to assemble and manipulate binary and object files${_multilib_desc}${_ath9k_htc_desc}. (${_target} architecture)"
depends=('glibc>=2.17' 'zlib' "${_pkgname}-common")
[[ $CHOST == ${_target} ]] && provides=("${_pkgname}=${pkgver}")
if [[ ${_multilib} == "yes" ]]; then
- conflicts=("${pkgname}")
+ #conflicts=("${pkgname}")
groups+=('multilib-devel')
else
groups+=('base-devel')
@@ -207,6 +248,8 @@ _target-binutils() {
rm -vr ${pkgdir}/usr/{include,share/{info,locale}}
}
+#---------------------------------------------------------------------------------------------------------------------------------------------
+
# GNU/Linux-libre with GNU C Library (glibc)
package_mips64el-unknown-linux-gnu-binutils() { _target-binutils; }
package_x86_64-unknown-linux-gnu-binutils() { _target-binutils; }
@@ -274,6 +317,8 @@ package_sh-unknown-elf-binutils() { _target-binutils; }
package_shl-unknown-elf-binutils() { _target-binutils; }
package_m68k-unknown-elf-binutils() { _target-binutils; }
+#---------------------------------------------------------------------------------------------------------------------------------------------
+
package_binutils-common() {
pkgrel=$pkgrel
pkgdesc="A set of programs to assemble and manipulate binary and object files. (headers, docs and locales files only)"