RFC: Cross compilers using newlib

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Hi!

Instead of having a separate binutils, gcc and newlib package for every architecture it is possible to combine them into one. You can even build them all in one swoop if you want. For instance, in something like this:

_target=m68k-elf
_binutilsver=2.28
_gccver=6.3.0
_islver=0.18
_newlibver=2.5.0.20170228
pkgname=${_target}-devkit
pkgver=20170320
pkgrel=1
pkgdesc="A combined binutils/gcc/newlib kit for ${_target}"
arch=('x86_64')
options=('!strip')
depends=('gmp' 'mpfr' 'libmpc')
url="http://dummy.no";
license=('GPL' 'LGPL' 'BSD')
source=(binutils-${_binutilsver}.tar.gz gcc-${_gccver}.tar.gz isl-${_islver}.tar.gz newlib-${_newlibver}.tar.gz)
md5sums=('d5d270fd0b698ed59ca5ade8e1b5059c'
         '6e5ea04789678f1250c1b30c4d9ec417'
         '076c69f81067f2f5b908c099f445a338'
         '6b7b45ed2280de9196df62511094fc58')

prepare()
{
        cd ${srcdir}/gcc-${_gccver}
        ln -s ../isl-${_islver} isl

        # Do not run fixincludes
        sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in

        # Create a combined source tree
        for i in bfd binutils gas ld opcodes
        do
                ln -s ${srcdir}/binutils-${_binutilsver}/$i
        done

        ln -s ${srcdir}/newlib-${_newlibver}/newlib

        mkdir ${srcdir}/build

}

build()
{
	#binutils does not compile with the CPPFLAGS in makepkg.conf
        unset CPPFLAGS

        cd ${srcdir}/build
${srcdir}/gcc-${_gccver}/configure --prefix=/usr --libexecdir=/usr/lib --target=${_target} --enable-languages=c,c++ --disable-libstdcxx-pch --with-newlib
        make
}

package()
{
        cd ${srcdir}/build
        make install-strip DESTDIR=${pkgdir}
        rm -rf ${pkgdir}/usr/share
        rm ${pkgdir}/usr/lib/libcc1*
}


Is this something that should be done? Or are there good reasons to keep them separate?

--
chs



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux