Package-Name: binutils
Gentoo-Package: sys-devel/binutils
# Don't allow removal, or it would become very hard to compile things...
Requires: binutils *glibc
Compile-Requires: gcc *make
Homepage: http://www.gnu.org/software/binutils/
Source: gnu:///binutils/binutils-(\d+.\d+(.\d+(.\d+(.\d+)?)?)?).tar.gz $1
Repack:
	tar xzvfp "$(SOURCE)"
Compile:
	# Watch out for confused fdiv/fdivr opcodes!  Disable silly "compatibility" hack
	# Also explicitly disable -Werror because it's sometimes left enabled even in releases
	$(MAKE) -f ../Makefile configure CUSTOM_CFLAGS="-DUNIXWARE_COMPAT=0" CONFIGURE_OPTS="--enable-shared --disable-werror"
	$(MAKE)
	$(MAKE) install
	umask 022 ; mkdir -p "$(PREFIX)"/doc/{bfd,binutils,gas,gprof,ld,libiberty}
	cp -p COPYING COPYING.LIB "$(PREFIX)/doc/"
	ln -fs ../COPYING "$(PREFIX)/doc/bfd/"
	cp -p bfd/{ChangeLog*,MAINTAINERS,README,TODO} "$(PREFIX)/doc/bfd/"
	cp -p binutils/{ChangeLog*,MAINTAINERS,NEWS,README} "$(PREFIX)/doc/binutils/"
	ln -fs ../COPYING "$(PREFIX)/doc/gas/"
	cp -p gas/{CONTRIBUTORS,ChangeLog*,MAINTAINERS,NEWS,README} "$(PREFIX)/doc/gas/"
	cp -p gprof/{ChangeLog*,MAINTAINERS,README,TODO} "$(PREFIX)/doc/gprof/"
	cp -p ld/{ChangeLog*,MAINTAINERS,NEWS,README,TODO} "$(PREFIX)/doc/ld/"
	ln -fs ../COPYING.LIB "$(PREFIX)/doc/libiberty/"
	cp -p libiberty/{ChangeLog*,README} "$(PREFIX)/doc/libiberty/"
	rm -f "$(PREFIX)"/info/{configure,standards}.info*
	rm -f "$(PREFIX)"/man/man1/{dlltool,windres}.1
Install:
	$(MAKE) instbin BIN="addr2line ar as c++filt gprof ld nm objcopy objdump ranlib readelf size strings strip"
	cd "$(PREFIX)"/*-*/bin ; for i in * ; do ln -fs ../../bin/$$i . ; done
	$(MAKE) instlib LIB="bfd iberty opcodes"
	$(MAKE) addldso
	$(MAKE) instinc INC="ansidecl.h bfd.h bfdlink.h dis-asm.h symcat.h"
	$(MAKE) instlocale FILE=bfd
	$(MAKE) instlocale FILE=binutils
	$(MAKE) instlocale FILE=gas
	$(MAKE) instlocale FILE=gprof
	$(MAKE) instlocale FILE=ld
	$(MAKE) instlocale FILE=opcodes
	$(MAKE) instinfo INFO="as bfd binutils gprof ld"
	$(MAKE) instman SECTION=1 MAN="addr2line ar as c++filt gprof ld nm objcopy objdump ranlib readelf size strings strip"
Patch: <<EOT
######## begin 8-digit-sizes.diff
--- ../binutils-2.18-orig/binutils/size.c	2007-08-07 04:56:14 +0900
+++ binutils/size.c	2007-11-23 22:57:12 +0900
@@ -243,12 +243,12 @@
     {
       bfd_size_type total = total_textsize + total_datasize + total_bsssize;
 
-      rprint_number (7, total_textsize);
-      putchar('\t');
-      rprint_number (7, total_datasize);
-      putchar('\t');
-      rprint_number (7, total_bsssize);
-      printf (((radix == octal) ? "\t%7lo\t%7lx\t" : "\t%7lu\t%7lx\t"),
+      rprint_number (8, total_textsize);
+      putchar(' ');
+      rprint_number (8, total_datasize);
+      putchar(' ');
+      rprint_number (8, total_bsssize);
+      printf (((radix == octal) ? " %8lo %8lx " : " %8lu %8lx "),
 	      (unsigned long) total, (unsigned long) total);
       fputs ("(TOTALS)\n", stdout);
     }
@@ -472,8 +472,8 @@
 
   bsssize += common_size;
   if (files_seen++ == 0)
-    puts ((radix == octal) ? "   text\t   data\t    bss\t    oct\t    hex\tfilename" :
-	  "   text\t   data\t    bss\t    dec\t    hex\tfilename");
+    puts ((radix == octal) ? "    text     data      bss      oct      hex filename" :
+	  "    text     data      bss      dec      hex filename");
 
   total = textsize + datasize + bsssize;
 
@@ -484,12 +484,12 @@
       total_bsssize  += bsssize;
     }
 
-  rprint_number (7, textsize);
-  putchar ('\t');
-  rprint_number (7, datasize);
-  putchar ('\t');
-  rprint_number (7, bsssize);
-  printf (((radix == octal) ? "\t%7lo\t%7lx\t" : "\t%7lu\t%7lx\t"),
+  rprint_number (8, textsize);
+  putchar (' ');
+  rprint_number (8, datasize);
+  putchar (' ');
+  rprint_number (8, bsssize);
+  printf (((radix == octal) ? " %8lo %8lx " : " %8lu %8lx "),
 	  (unsigned long) total, (unsigned long) total);
 
   fputs (bfd_get_filename (abfd), stdout);
######## end 8-digit-sizes.diff
EOT

/pkg/binutils/
/usr/bin/addr2line
/usr/bin/ar
/usr/bin/as
/usr/bin/c++filt
/usr/bin/gprof
/usr/bin/ld
/usr/bin/nm
/usr/bin/objcopy
/usr/bin/objdump
/usr/bin/ranlib
/usr/bin/readelf
/usr/bin/size
/usr/bin/strings
/usr/bin/strip
/usr/include/ansidecl.h
/usr/include/bfd.h
/usr/include/bfdlink.h
/usr/include/dis-asm.h
/usr/include/symcat.h
/usr/info/as.info*
/usr/info/bfd.info*
/usr/info/binutils.info*
/usr/info/gprof.info*
/usr/info/ld.info*
/usr/lib/libbfd.*
/usr/lib/libiberty.*
/usr/lib/libopcodes.*
/usr/man/man1/addr2line.1.gz
/usr/man/man1/ar.1.gz
/usr/man/man1/as.1.gz
/usr/man/man1/c++filt.1.gz
/usr/man/man1/gprof.1.gz
/usr/man/man1/ld.1.gz
/usr/man/man1/nm.1.gz
/usr/man/man1/objcopy.1.gz
/usr/man/man1/objdump.1.gz
/usr/man/man1/ranlib.1.gz
/usr/man/man1/readelf.1.gz
/usr/man/man1/size.1.gz
/usr/man/man1/strings.1.gz
/usr/man/man1/strip.1.gz
/usr/share/locale/*/LC_MESSAGES/bfd.mo
/usr/share/locale/*/LC_MESSAGES/binutils.mo
/usr/share/locale/*/LC_MESSAGES/gas.mo
/usr/share/locale/*/LC_MESSAGES/gprof.mo
/usr/share/locale/*/LC_MESSAGES/ld.mo
/usr/share/locale/*/LC_MESSAGES/opcodes.mo
