X-Git-Url: http://git.pld-linux.org/?p=packages%2Fcrossmingw64-binutils.git;a=blobdiff_plain;f=crossmingw64-binutils.spec;h=65ef15e0254491b3fefc6959d504e4527f2c7c3a;hp=e88d9477f782d1b74b3cb75bc080280ec6065630;hb=27340dd;hpb=aa145bb630c2ec842aa8ed6b7057975f4e58c9eb diff --git a/crossmingw64-binutils.spec b/crossmingw64-binutils.spec index e88d947..65ef15e 100644 --- a/crossmingw64-binutils.spec +++ b/crossmingw64-binutils.spec @@ -1,65 +1,92 @@ -Summary: Cross Mingw64 GNU binary utility development utilities - binutils -Summary(es): Utilitarios para desarrollo de binarios de la GNU - Mingw64 binutils -Summary(fr): Utilitaires de développement binaire de GNU - Mingw64 binutils -Summary(pl): Skro¶ne narzêdzia programistyczne GNU dla Mingw64 - binutils -Summary(pt_BR): Utilitários para desenvolvimento de binários da GNU - Mingw64 binutils -Summary(tr): GNU geliþtirme araçlarý - Mingw64 binutils +Summary: Cross MinGW-W64 GNU binary utility development utilities - binutils +Summary(es.UTF-8): Utilitarios para desarrollo de binarios de la GNU - MinGW-W64 binutils +Summary(fr.UTF-8): Utilitaires de développement binaire de GNU - MinGW-W64 binutils +Summary(pl.UTF-8): Skrośne narzędzia programistyczne GNU dla MinGW-W64 - binutils +Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - MinGW-W64 binutils +Summary(tr.UTF-8): GNU geliştirme araçları - MinGW-W64 binutils Name: crossmingw64-binutils -Version: 2.17.50.0.4 +Version: 2.30 Release: 1 -License: GPL +License: GPL v3+ Group: Development/Tools -Source0: ftp://ftp.kernel.org/pub/linux/devel/binutils/binutils-%{version}.tar.bz2 -# Source0-md5: a05a19fb80254ed66c87e7fd69c680bb -Patch0: %{name}-configure.patch +Source0: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.lz +# Source0-md5: e64eb5655c6c2caa78677e19c84ba5b5 +Patch0: binutils-libdir.patch +Patch1: binutils-am.patch URL: http://sources.redhat.com/binutils/ -BuildRequires: automake +BuildRequires: autoconf >= 2.64 +BuildRequires: automake >= 1:1.11 BuildRequires: bash BuildRequires: bison BuildRequires: flex -BuildRequires: gettext-devel +BuildRequires: gettext-tools +BuildRequires: lzip +BuildRequires: perl-tools-pod +BuildRequires: tar >= 1:1.22 # not necessary unless we patch .texi docs; but they are not packaged here anyway #BuildRequires: texinfo >= 4.2 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define target x86_64-mingw64 +# mingw-w64 project uses x86_64-w64-mingw32 triplet for 64-bit Windows +# and (i?86-w64-mingw32 for 32-bit Windows) +%define target x86_64-w64-mingw32 %define arch %{_prefix}/%{target} %description crossmingw64 is a complete cross-compiling development system for building stand-alone Microsoft Windows applications under Linux using -the Mingw64 build libraries. This includes a binutils, gcc with g++ -and objc, and libstdc++, all cross targeted to x86_64-mingw64, along -with supporting Win64 libraries in 'coff' format from free sources. +the MinGW64 build libraries. This includes a binutils, gcc with g++ +and objc, and libstdc++, all cross targeted to x86_64-w64-mingw32, +along with supporting Win64 libraries in 'coff' format from free +sources. This package contains cross targeted binutils. -%description -l pl -crossmingw64 jest kompletnym systemem do kroskompilacji, pozwalaj±cym -budowaæ aplikacje MS Windows pod Linuksem u¿ywaj±c bibliotek mingw64. -System sk³ada siê z binutils, gcc z g++ i objc, libstdc++ - wszystkie -generuj±ce kod dla platformy x86_64-mingw64, oraz z bibliotek w formacie -COFF. +%description -l pl.UTF-8 +crossmingw64 jest kompletnym systemem do kroskompilacji, pozwalającym +budować aplikacje MS Windows pod Linuksem używając bibliotek mingw64. +System składa się z binutils, gcc z g++ i objc, libstdc++ - wszystkie +generujące kod dla platformy x86_64-w64-mingw32, oraz z bibliotek +Win64 w formacie COFF. -Ten pakiet zawiera binutils generuj±ce skro¶nie binaria dla Win64. +Ten pakiet zawiera binutils generujące skrośnie binaria dla +64-bitowych Windows. %prep %setup -q -n binutils-%{version} %patch0 -p1 +%patch1 -p1 + +# file contains hacks for ac 2.64 only +%{__rm} config/override.m4 +%{__sed} -i '/^m4_include(config\/override\.m4/d' configure.ac %build -# Because of a bug in binutils-2.9.1, a cross libbfd.so* is not named -# libbfd.so*. To prevent confusion with native binutils, we -# forget about shared libraries right now, and do not install libbfd.a -# [the same applies to binutils 2.10.1.0.4] +cp -f /usr/share/automake/config.* . +%{__aclocal} +%{__autoconf} + +# non-standard regeneration (needed because of libdir patch) +# AM_BINUTILS_WARNINGS in bfd/warning.m4, ZW_GNU_GETTEXT_SISTER_DIR in config/gettext-sister.m4 +for dir in gas bfd; do + cd $dir || exit 1 + %{__aclocal} -I .. -I ../config -I ../bfd + %{__automake} Makefile + %{__automake} doc/Makefile + %{__autoconf} + cd .. +done + +# We don't install libbfd (nor use shared binutils libraries) to avoid +# conflict with native binutils. # ldscripts won't be generated properly if SHELL is not bash... CFLAGS="%{rpmcflags}" \ LDFLAGS="%{rpmldflags}" \ CONFIG_SHELL="/bin/bash" \ ./configure \ - --disable-shared \ --disable-nls \ + --disable-shared \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --mandir=%{_mandir} \ @@ -83,10 +110,13 @@ rm -rf $RPM_BUILD_ROOT # remove this man page unless we cross-build for netware platform. # however, this should be done in Makefiles. -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/*nlmconv.1 +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/*nlmconv.1 + +# not prefixed, keep infos only from native packages +%{__rm} -r $RPM_BUILD_ROOT%{_infodir} -# libiberty.a is ELF not PE -rm -f $RPM_BUILD_ROOT%{arch}/lib/libiberty.a +# "filesystem" for crossmingw32-* packages (move to crossmingw32-dirs?) +install -d $RPM_BUILD_ROOT%{arch}/lib/pkgconfig %clean rm -rf $RPM_BUILD_ROOT @@ -94,10 +124,59 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc README +# mingw64 directory tree %dir %{arch} %dir %{arch}/lib +%dir %{arch}/lib/pkgconfig %dir %{arch}/bin -%attr(755,root,root) %{arch}/bin/* +# binutils files +%attr(755,root,root) %{arch}/bin/ar +%attr(755,root,root) %{arch}/bin/as +%attr(755,root,root) %{arch}/bin/dlltool +%attr(755,root,root) %{arch}/bin/ld +%attr(755,root,root) %{arch}/bin/ld.bfd +%attr(755,root,root) %{arch}/bin/nm +%attr(755,root,root) %{arch}/bin/objcopy +%attr(755,root,root) %{arch}/bin/objdump +%attr(755,root,root) %{arch}/bin/ranlib +%attr(755,root,root) %{arch}/bin/readelf +%attr(755,root,root) %{arch}/bin/strip %{arch}/lib/ldscripts -%attr(755,root,root) %{_bindir}/%{target}-* -%{_mandir}/man1/%{target}-* +%attr(755,root,root) %{_bindir}/%{target}-addr2line +%attr(755,root,root) %{_bindir}/%{target}-ar +%attr(755,root,root) %{_bindir}/%{target}-as +%attr(755,root,root) %{_bindir}/%{target}-c++filt +%attr(755,root,root) %{_bindir}/%{target}-dlltool +%attr(755,root,root) %{_bindir}/%{target}-dllwrap +%attr(755,root,root) %{_bindir}/%{target}-elfedit +%attr(755,root,root) %{_bindir}/%{target}-gprof +%attr(755,root,root) %{_bindir}/%{target}-ld +%attr(755,root,root) %{_bindir}/%{target}-ld.bfd +%attr(755,root,root) %{_bindir}/%{target}-nm +%attr(755,root,root) %{_bindir}/%{target}-objcopy +%attr(755,root,root) %{_bindir}/%{target}-objdump +%attr(755,root,root) %{_bindir}/%{target}-ranlib +%attr(755,root,root) %{_bindir}/%{target}-readelf +%attr(755,root,root) %{_bindir}/%{target}-size +%attr(755,root,root) %{_bindir}/%{target}-strings +%attr(755,root,root) %{_bindir}/%{target}-strip +%attr(755,root,root) %{_bindir}/%{target}-windmc +%attr(755,root,root) %{_bindir}/%{target}-windres +%{_mandir}/man1/%{target}-addr2line.1* +%{_mandir}/man1/%{target}-ar.1* +%{_mandir}/man1/%{target}-as.1* +%{_mandir}/man1/%{target}-c++filt.1* +%{_mandir}/man1/%{target}-dlltool.1* +%{_mandir}/man1/%{target}-elfedit.1* +%{_mandir}/man1/%{target}-gprof.1* +%{_mandir}/man1/%{target}-ld.1* +%{_mandir}/man1/%{target}-nm.1* +%{_mandir}/man1/%{target}-objcopy.1* +%{_mandir}/man1/%{target}-objdump.1* +%{_mandir}/man1/%{target}-ranlib.1* +%{_mandir}/man1/%{target}-readelf.1* +%{_mandir}/man1/%{target}-size.1* +%{_mandir}/man1/%{target}-strings.1* +%{_mandir}/man1/%{target}-strip.1* +%{_mandir}/man1/%{target}-windmc.1* +%{_mandir}/man1/%{target}-windres.1*