--- tigcc-0.96_beta8.ebuild 2012-04-30 04:54:59.000000000 +0200 +++ tigcc-0.96_beta8-r1.ebuild 2012-10-13 10:54:20.218632457 +0200 @@ -2,7 +2,9 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/dev-embedded/tigcc/tigcc-0.96_beta8.ebuild,v 1.3 2012/04/30 02:54:59 vapier Exp $ -inherit eutils +EAPI=4 + +inherit eutils toolchain-funcs BASE_BINUTILS="2.16.1" GCC_VER="4.1.2" @@ -38,66 +40,44 @@ S=${WORKDIR} -src_unpack() { - unpack ${A} - +src_prepare() { # start by patching and cleaning out binutils and gcc directories. - cd "${WORKDIR}"/binutils-${BASE_BINUTILS} + cd "${WORKDIR}"/binutils-${BASE_BINUTILS} || die epatch "${S}"/sources/gcc/gas-${BIN_VER}-tigcc-*.diff - rm -f .brik - rm -f md5.sum - rm -f -r INSTALL - rm -f -r maintainer-scripts - rm -f -r binutils - rm -f -r cpu - rm -f -r etc - rm -f -r gas/doc - rm -f -r gas/po - rm -f -r gprof - rm -f -r include/nlm - rm -f -r include/regs - rm -f -r ld - rm -f -r texinfo + for i in .brik md5.sum INSTALL maintainer-scripts binutils cpu etc gas/doc gas/po gprof include/nlm include/regs ld texinfo + do + rm -fr "${i}" + done - cd "${WORKDIR}"/gcc-4.1-${GCC_SNAPSHOT} + cd "${WORKDIR}"/gcc-4.1-${GCC_SNAPSHOT} || die epatch "${S}"/sources/gcc/gcc-4.1-tigcc-patch.diff - rm -f .brik - rm -f md5.sum - rm -f -r INSTALL - rm -f -r fixincludes - rm -f -r gcc/ginclude - rm -f -r gcc/po - rm -f -r gcc/doc - rm -f -r gcc/treelang - rm -f -r libcpp/po - rm -f -r maintainer-scripts - rm -f -r etc - rm -f -r gprof - rm -f -r include/nlm - rm -f -r include/regs - rm -f -r texinfo + for i in .brik md5.sum INSTALL fixincludes gcc/ginclude gcc/po gcc/doc gcc/treelang libcpp/po maintainer-scripts etc gprof include/nlm include/regs texinfo + do + rm -fr "${i}" + done # create build directories for binutils and gcc - mkdir -p "${WORKDIR}"/build/binutils - mkdir "${WORKDIR}"/build/gcc + mkdir -p "${WORKDIR}"/build/binutils || die + mkdir "${WORKDIR}"/build/gcc || die # Workaround for non-existing directories - sed -ie '/SUBDIRS =/d' "${WORKDIR}"/binutils-${BASE_BINUTILS}/gas/Makefile.in + sed -ie '/SUBDIRS =/d' "${WORKDIR}"/binutils-${BASE_BINUTILS}/gas/Makefile.in || die + tc-export CC AR RANLIB } src_compile() { # build binutils - cd "${WORKDIR}"/build/binutils + cd "${WORKDIR}"/build/binutils || die CFLAGS="${CFLAGS}" "${WORKDIR}"/binutils-${BASE_BINUTILS}/configure \ --disable-serial-configure --target=m68k-coff --disable-shared \ --enable-static --disable-multilib --disable-nls \ || die - emake || die "gas" + emake # build gcc - cd "${WORKDIR}"/build/gcc + cd "${WORKDIR}"/build/gcc || die CFLAGS="${CFLAGS}" "${WORKDIR}"/gcc-4.1-${GCC_SNAPSHOT}/configure --target=m68k-coff \ --with-gnu-as --with-as="${WORKDIR}"/build/binutils/gas/as-new --with-gnu-ld \ --disable-nls --disable-multilib --disable-shared --enable-static \ @@ -107,31 +87,16 @@ # GCC compilations _is intended_ to fail on a certain point, # don't worry about that. - emake -j1 + nonfatal emake -j1 # Check if gcc has been built, die otherwise ( [ -e "${WORKDIR}"/build/gcc/gcc/xgcc ] && [ -e "${WORKDIR}"/build/gcc/gcc/cc1 ] ) || die "gcc" - # build a68k assembler - cd "${S}"/sources/a68k - emake -e || die "a68k" - - # build ld-tigcc linker - cd "${S}"/sources/ld-tigcc - emake -e || die "ld-tigcc" - - # build tigcc front-end - cd "${S}"/sources/tigcc/src - emake -e || die "tigcc" - - # build tprbuilder (TIGCC project builder) - cd "${S}"/sources/tprbuilder/src - emake -e || die "tprbuilder" - - # build patcher (object file patcher) - cd "${S}"/sources/patcher/src - emake -e || die "patcher" - + for i in a68k ld-tigcc tigcc/src tprbuilder/src patcher/src + do + cd "${S}"/sources/${i} || die + emake -e + done } src_install() { @@ -145,11 +110,11 @@ "${S}"/tigcclib/doc/converter/tigccdoc \ > "${S}"/tigcclib/doc/converter/tigccdoc.new - cd "${S}"/tigcclib/doc/converter + cd "${S}"/tigcclib/doc/converter || die newbin tigccdoc.new tigccdoc - cd "${S}"/tigcclib/doc + cd "${S}"/tigcclib/doc || die dohtml -r html/* - cp html/qt-assistant.adp "${D}"/usr/share/doc/${PF}/html + cp html/qt-assistant.adp "${D}"/usr/share/doc/${PF}/html || die cd "${S}"/sources/a68k fi @@ -158,22 +123,16 @@ cd "${S}" dodoc AUTHORS BUGS CHANGELOG DIRECTORIES HOWTO \ INSTALL README README.linux README.osX - - cd "${S}"/sources/tigcc - docinto tigcc - dodoc AUTHORS ChangeLog README - - cd "${S}"/sources/tprbuilder - docinto tprbuilder - dodoc AUTHORS ChangeLog README - - cd "${S}"/sources/patcher - docinto patcher - dodoc AUTHORS ChangeLog README + for i in tigcc tprbuilder patcher + do + cd "${S}"/sources/${i} + docinto ${i} + dodoc AUTHORS ChangeLog README + done exeinto /usr/ti-linux-gnu/tigcc-bin/${GCC_VER} # install gcc - cd "${WORKDIR}"/build/gcc + cd "${WORKDIR}"/build/gcc || die doexe gcc/cc1 newexe gcc/xgcc gcc dosym /usr/ti-linux-gnu/tigcc-bin/${GCC_VER}/gcc \ @@ -182,42 +141,42 @@ # install gas # exeinto /usr/ti-linux-gnu/bin <-- a symlink will be # created so that gas resides in /usr/ti-linux-gnu/bin too - cd "${WORKDIR}"/build/binutils + cd "${WORKDIR}"/build/binutils || die newexe gas/as-new as # install a68k - cd "${S}"/sources/a68k + cd "${S}"/sources/a68k || die newexe A68k a68k # install ld-tigcc - cd "${S}"/sources/ld-tigcc + cd "${S}"/sources/ld-tigcc || die doexe ld-tigcc doexe ar-tigcc # install tigcc - cd "${S}"/sources/tigcc/src + cd "${S}"/sources/tigcc/src || die doexe tigcc dosym /usr/ti-linux-gnu/tigcc-bin/${GCC_VER}/tigcc \ /usr/ti-linux-gnu/tigcc-bin/${GCC_VER}/ti-linux-gnu-tigcc # install tprbuilder - cd "${S}"/sources/tprbuilder/src + cd "${S}"/sources/tprbuilder/src || die doexe tprbuilder # install patcher - cd "${S}"/sources/patcher/src + cd "${S}"/sources/patcher/src || die doexe patcher # install header files dodir /usr/include/tigcc - cp -R "${S}"/tigcclib/include/* "${D}"/usr/include/tigcc + cp -R "${S}"/tigcclib/include/* "${D}"/usr/include/tigcc || die dosym /usr/include/tigcc/asm/os.h /usr/include/tigcc/asm/OS.h insinto /usr/lib/gcc-lib/ti-linux-gnu/${GCC_VER} # install library - cd "${S}"/tigcclib + cd "${S}"/tigcclib || die doins lib/* - cd "${WORKDIR}" + cd "${WORKDIR}" || die doins flashos.a doins fargo.a