summaryrefslogtreecommitdiff
path: root/repo/binutils/binutils.xibuild
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2022-05-31 11:05:19 +0100
committerdavidovski <david@davidovski.xyz>2022-05-31 11:05:19 +0100
commit48ca75555522716f0f686dcae3dd6cf3d8ad714d (patch)
tree00c0f58550ba4661e87376f2f02c8001c69bae44 /repo/binutils/binutils.xibuild
parent871b2b573f01c1b3176a0f65458b3d281b41c437 (diff)
removed idea of repos
Diffstat (limited to 'repo/binutils/binutils.xibuild')
-rw-r--r--repo/binutils/binutils.xibuild69
1 files changed, 69 insertions, 0 deletions
diff --git a/repo/binutils/binutils.xibuild b/repo/binutils/binutils.xibuild
new file mode 100644
index 0000000..f7172ea
--- /dev/null
+++ b/repo/binutils/binutils.xibuild
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+MAKEDEPS="make dejagnu bzip2 xz zlib zstd patch"
+DEPS="musl zlib libelf"
+
+PKG_VER=2.38
+SOURCE=https://ftp.gnu.org/gnu/binutils/binutils-$PKG_VER.tar.xz
+
+ADDITIONAL="
+0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
+bfd-close-file-desriptor-if-there-is-no-archive-fd.patch
+binutils-ld-fix-static-linking.patch
+defang-no-split.patch
+"
+
+DESC="Tools for handling object files"
+
+prepare () {
+ apply_patches
+
+ find . -name '[a-z]*\.[0-9]*' -empty -exec rm -f {} \;
+}
+
+build () {
+ mkdir build
+ cd build
+
+ ../configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --disable-multilib \
+ --enable-ld=default \
+ --enable-gold \
+ --enable-64-bit-bfd \
+ --enable-plugins \
+ --enable-relro \
+ --enable-install-libiberty \
+ --enable-deterministic-archives \
+ --enable-targets=x86_64-pep \
+ --enable-default-hash-style=gnu \
+ --with-pic \
+ --disable-werror \
+ --disable-nls \
+ --with-system-zlib \
+ --with-mmap
+
+ make tooldir=/usr
+}
+
+#check () {
+ #make -k check || true
+#}
+
+package() {
+ make -j1 tooldir=/usr DESTDIR=$PKG_DEST install
+ cd ..
+
+ # how about we use binutils ld?
+ rm -f $PKG_DEST/usr/bin/ld
+ ln -sf /usr/bin/ld.bfd $PKG_DEST/usr/bin/ld
+
+ install -m 644 include/libiberty.h $PKG_DEST/usr/include
+ install -m 644 include/demangle.h $PKG_DEST/usr/include
+
+ for f in dlltool nlmconv windres windmc; do
+ rm -f $PKG_DEST/usr/share/man/man1/${f}.1
+ done
+}