diff --git a/sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.26.1_2016_07_22.recipe b/sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.36.1_btrev43189.recipe similarity index 74% rename from sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.26.1_2016_07_22.recipe rename to sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.36.1_btrev43189.recipe index 03187e4e7..d89939dce 100644 --- a/sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.26.1_2016_07_22.recipe +++ b/sys-devel/arm_none_eabi_binutils/arm_none_eabi_binutils-2.36.1_btrev43189.recipe @@ -9,6 +9,7 @@ But they also include: - addr2line - converts addresses into filenames and line numbers. - ar - a utility for creating, modifying and extracting of archives. - c++filt - filter to demangle encoded C++ symbols. +- gold - a linker for ELF files. - nm - lists symbols from object files. - objcopy - copys and translates object files. - objdump - displays information from object files. @@ -20,15 +21,16 @@ But they also include: The tools of this package can be used for cross-builds to \ $effectiveTargetMachineTriple." -HOMEPAGE="http://www.gnu.org/software/binutils" -COPYRIGHT="1988-2016 Free Software Foundation, Inc." +HOMEPAGE="https://www.gnu.org/software/binutils/" +COPYRIGHT="1988-2022 Free Software Foundation, Inc." LICENSE="GNU GPL v3 GNU LGPL v3" -REVISION="5" -srcGitRev="68e96393c7be88bc0e577404869a07ad3c0b48b3" +REVISION="1" +binutilsVersion="2.36.1" +srcGitRev="795d2053a07fdd2ce3c4ef6f649b0a27e2b085d1" SOURCE_URI="https://github.com/haiku/buildtools/archive/$srcGitRev.tar.gz" -CHECKSUM_SHA256="95743a550c7e2b561273a1e349a270c659b0c454209de9cd7fc105395fec66fd" SOURCE_DIR="buildtools-$srcGitRev/binutils" +CHECKSUM_SHA256="73244785a2496119548d1b47c4f899a641a910941df678d6bc6bae41c2ab6be1" SOURCE_FILENAME="binutils-$portVersion.tar.gz" ARCHITECTURES="?all !x86_gcc2" @@ -38,32 +40,35 @@ targetArch="arm-none-eabi" targetU="arm_none_eabi" PROVIDES=" - ${targetU}_binutils$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_addr2line$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_ar$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_as$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_c++filt$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_elfedit$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_gprof$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_ld$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_ld.bfd$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_nm$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_objcopy$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_objdump$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_ranlib$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_readelf$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_size$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_strings$secondaryArchSuffix = $portVersion compat >= 2.23 - cmd:${targetU}_strip$secondaryArchSuffix = $portVersion compat >= 2.23 - lib:${targetU}_libbfd_2.26.1$secondaryArchSuffix = $portVersion compat >= 2.23 - lib:${targetU}_libopcodes_2.26.1$secondaryArchSuffix = $portVersion compat >= 2.23 + ${targetU}_binutils$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_addr2line$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_ar$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_as$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_c++filt$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_elfedit$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_gprof$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_ld$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_ld.bfd$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_nm$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_objcopy$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_objdump$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_ranlib$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_readelf$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_size$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_strings$secondaryArchSuffix = $portVersion compat >= 2.36 + cmd:${targetU}_strip$secondaryArchSuffix = $portVersion compat >= 2.36 + lib:${targetU}_libbfd_$binutilsVersion$secondaryArchSuffix = $portVersion compat >= 2.36 + lib:${targetU}_libopcodes_$binutilsVersion$secondaryArchSuffix = $portVersion compat >= 2.36 + lib:libctf_nobfd$secondaryArchSuffix = 0.0.0 compat >= 0 + lib:libctf$secondaryArchSuffix = 0.0.0 compat >= 0 " REQUIRES=" haiku$secondaryArchSuffix - lib:libbfd_2.26.1$secondaryArchSuffix - lib:libopcodes_2.26.1$secondaryArchSuffix + lib:libbfd_$binutilsVersion$secondaryArchSuffix + lib:libopcodes_$binutilsVersion$secondaryArchSuffix " + BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel cmd:find @@ -72,6 +77,7 @@ BUILD_REQUIRES=" BUILD_PREREQUIRES=" cmd:autoconf cmd:awk + cmd:bison cmd:find cmd:flex cmd:gcc$secondaryArchSuffix @@ -98,8 +104,9 @@ BUILD() # Touch all *.info files, as newer texinfos don't like their format (cd $sourceDir; find . -name \*.info | xargs touch) - (cd $sourceDir; find . -name \*.y | sed 's/.y$/.c/g' | xargs touch) - (cd $sourceDir; find . -name \*.y | sed 's/.y$/.h/g' | xargs touch) + # Touch all *.y files, ensure they get generated; without this, the + # PE targets would fail to link + (cd $sourceDir; find . -name \*.y | xargs touch) mkdir -p $objectsDir cd $objectsDir @@ -107,9 +114,12 @@ BUILD() CFLAGS=-O2 CXXFLAGS=-O2 runConfigure "$sourceDir/configure" \ --exec-prefix=$installDir \ --includedir=$includeDir/binutils \ - --docdir=$docDir --with-sysroot=$installDir \ + --docdir=$docDir --enable-host-shared --enable-largefile=yes \ + --disable-libtool-lock --disable-nls --enable-plugins --enable-64-bit-bfd \ + --enable-ld=default \ + --with-sysroot=$installDir \ --enable-deterministic-archives --enable-shared=yes \ - --disable-nls --target=${targetArch} + --target=${targetArch} make $jobArgs LEXLIB= } @@ -120,6 +130,10 @@ INSTALL() make install + # Remove the development libraries and headers. Nobody uses those anyway. + rm $libDir/*.a $libDir/*.la + rm -r $developDir/headers + # no info documentation rm -r $infoDir