Summary: The GNU C and C++ compilers and utilities Name: GNUPro Version: 2.9.aix51.020209 Release: 3 Copyright: GPL Group: Development/Tools Source0: %{name}-%{version}.src.tar.bz2 Source1: ibm_aix_GNUPro.pdf Source2: %{name}-%{version}.add.tar.bz2 Source3: %{name}.release-notes.txt Patch1: %{name}-%{version}-gdb_pid.patch Patch2: %{name}-%{version}-ar_form.patch Patch3: %{name}-%{version}-gdb_core.patch Patch4: %{name}-%{version}-gdb_detach.patch Patch5: %{name}-%{version}-Install.patch Prefix: %{_prefix} BuildRequires: bzip2 # I'm not using the customary BuildRoot in /var because of # the sheer volume of this code. BuildRoot: %{prefix}/%{name}-root # # NOTE: If building this image from an eariler level of gcc, it # is suggested that once this build is completed and installed, # it is then rebuilt and installed a second time. This allows the # current gcc build level to be built with itself, the latest # level. # #Define build version; this is in the path of many files %define bldvers aix51-020209 %ifos aix4.3 %define bldsys aix4.3.3.0 %else %define bldsys aix5.1.0.0 %endif %description The GNUPro package contains the GNU C compiler, C++ compiler, utilities, and debugger for AIX. %package -n gcc Summary: The GNU gcc C compiler and headers Group: Development/Tools %ifos aix4.3 Conflicts: AIX-rpm >= 5.0.0.0 %endif %ifos aix5.0 aix5.1 aix5.2 Requires: AIX-rpm >= 5.0.0.0 %endif %description -n gcc gcc is the GNU C compiler. The gcc package contains the compiler and required header files. %package -n g++ Summary: The GNU C++ compiler and headers Group: Development/Tools Requires: gcc = %{version} %ifos aix4.3 Conflicts: AIX-rpm >= 5.0.0.0 %endif %ifos aix5.0 aix5.1 aix5.2 Requires: AIX-rpm >= 5.0.0.0 %endif %description -n g++ g++ is the GNU C++ compiler, g++. %package -n binutils Summary: The GNU binutils development utilities Group: Development/Tools %ifos aix4.3 Conflicts: AIX-rpm >= 5.0.0.0 %endif %ifos aix5.0 aix5.1 aix5.2 Requires: AIX-rpm >= 5.0.0.0 %endif %description -n binutils The GNU binutils package contains utilities useful for development during compilation. Such utilities as nm, ar, elfdump, size, and others are included. %package -n gdb Summary: The GNU gcc debugger Group: Development/Tools %ifos aix4.3 Conflicts: AIX-rpm >= 5.0.0.0 %endif %ifos aix5.0 aix5.1 aix5.2 Requires: AIX-rpm >= 5.0.0.0 %endif %description -n gdb gdb is the GNU Debugger. It is useful for debugging executables built using gcc or g++. %prep if [ ! -d $RPM_BUILD_ROOT ] ; then mkdir -p $RPM_BUILD_ROOT fi cd $RPM_BUILD_ROOT # Make sure we build with gcc! export CC=gcc /usr/bin/bunzip2 -dc $RPM_SOURCE_DIR/GNUPro-%{version}.src.tar.bz2 |tar -xf - %patch1 -b .unionalign %patch2 -b .ar_form %patch3 -b .gdb_core %patch4 -b .gdb_detach %patch5 mkdir build %build cd $RPM_BUILD_ROOT/build export CC=gcc ../src/configure --prefix=%{prefix}/GNUPro make %install cd $RPM_BUILD_ROOT/build make install prefix=$RPM_BUILD_ROOT%{prefix}/%{name} #The make install doesn't install "fixincl" for some reason, even though #it does install fixincludes. mkdir -p $RPM_BUILD_ROOT%{prefix}/%{name}/powerpc-ibm-%{bldsys}/install-tools/fixinc /usr/bin/strip ./gcc/fixinc/fixincl 2>/dev/null || : cp -p ./gcc/fixinc/fixincl \ $RPM_BUILD_ROOT%{prefix}/%{name}/powerpc-ibm-%{bldsys}/install-tools/fixinc cd $RPM_BUILD_ROOT%{prefix}/%{name} # Strip all of the executables /usr/bin/strip bin/* 2>/dev/null || : /usr/bin/strip lib/gcc-lib/powerpc-ibm-%{bldsys}/%{version}/* 2>/dev/null || : /usr/bin/strip powerpc-ibm-%{bldsys}/bin/* 2>/dev/null || : /usr/bin/strip powerpc-ibm-%{bldsys}/install-tools/fix-header 2>/dev/null || : # Move aside ld to another name; we want to default to native ld and # only provide this for those who feel they MUST use it. # The strip is broken, so move that to another name as well. mv bin/ld bin/gld mv bin/strip bin/gstrip mv powerpc-ibm-%{bldsys}/bin/ld powerpc-ibm-%{bldsys}/bin/gld mv powerpc-ibm-%{bldsys}/bin/strip powerpc-ibm-%{bldsys}/bin/gstrip # Copy the PDF file to the parent directory cp $RPM_SOURCE_DIR/ibm_aix_GNUPro.pdf \ $RPM_BUILD_ROOT%{prefix}/%{name}/GNUPro.pdf # Copy the release-notes file to the parent directory cp $RPM_SOURCE_DIR/GNUPro.release-notes.txt \ $RPM_BUILD_ROOT%{prefix}/%{name}/release-notes.txt # Restore the info directory and other files bunzip2 -c %{SOURCE2} | tar -xf - mv info $RPM_BUILD_ROOT%{prefix}/info mv man $RPM_BUILD_ROOT%{prefix}/man # Create links into /usr/bin and /usr/linux/bin. ( cd $RPM_BUILD_ROOT mkdir -p usr/bin cd usr/bin for fname in gcc gcov powerpc-ibm-%{bldsys}-gcc g++ addr2line gasp \ gperf objcopy objdump readelf send-pr gdb do ln -sf ../..%{prefix}/%{name}/bin/$fname . done cd - mkdir -p usr/linux/bin cd usr/linux/bin for fname in cpp ar as gprof nm ranlib size strings do ln -sf ../../..%{prefix}/%{name}/bin/$fname . done cd - mkdir -p usr/lib cd usr/lib ln -sf ../..%{prefix}/%{name}/lib/gcc-lib . cd - mkdir -p usr/share cd usr/share ln -sf ../..%{prefix}/%{name}/share/cygnus . ) %clean rm -rf $RPM_BUILD_ROOT%{prefix} %post -n gcc # Run fixincludes on the installed images cd %{prefix}/%{name} [[ -d %{bldvers} ]] || ln -sf . %{bldvers} perl -pi -e "s|^EXECDIR=.*$|EXECDIR=|" Install %ifos aix4.3 perl -pi -e "s|powerpc-ibm-aix5.1.0.0|powerpc-ibm-aix4.3.3.0|" Install %endif ./Install --installdir=%{prefix}/%{name} fixincludes /sbin/install-info %{prefix}/info/cpp.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/gcc.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/standards.info %{_prefix}/info/dir %postun -n gcc /sbin/install-info --delete %{prefix}/info/cpp.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/gcc.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/standards.info %{_prefix}/info/dir %post -n g++ /sbin/install-info %{prefix}/info/iostream.info %{_prefix}/info/dir %postun -n g++ /sbin/install-info --delete %{prefix}/info/iostream.info %{_prefix}/info/dir %post -n binutils /sbin/install-info %{prefix}/info/as.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/bfd.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/binutils.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/gasp.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/gperf.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/gprof.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/mmalloc.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/send-pr.info %{_prefix}/info/dir %postun -n binutils /sbin/install-info --delete %{prefix}/info/as.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/bfd.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/binutils.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/gasp.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/gperf.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/gprof.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/mmalloc.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/send-pr.info %{_prefix}/info/dir %post -n gdb /sbin/install-info %{prefix}/info/gdb.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/gdbint.info %{_prefix}/info/dir /sbin/install-info %{prefix}/info/stabs.info %{_prefix}/info/dir %postun -n gdb /sbin/install-info --delete %{prefix}/info/gdb.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/gdbint.info %{_prefix}/info/dir /sbin/install-info --delete %{prefix}/info/stabs.info %{_prefix}/info/dir %files -n gcc %defattr(-,root,root) %doc %{prefix}/%{name}/GNUPro.pdf %doc %{prefix}/%{name}/release-notes.txt %doc %{prefix}/%{name}/COPYING* %doc %{prefix}/%{name}/CYGNUS %{prefix}/%{name}/bin/cpp %{prefix}/%{name}/bin/gcc %{prefix}/%{name}/bin/gcov %{prefix}/%{name}/bin/powerpc-ibm-%{bldsys}-gcc %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/cc1 %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/aix64 %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/collect2 %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/cpp %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/include %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/libgcc.a %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/power %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/powerpc %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/soft-float %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/specs %{prefix}/%{name}/powerpc-ibm-%{bldsys}/include/_G_config.h %{prefix}/%{name}/powerpc-ibm-%{bldsys}/include/assert.h %{prefix}/%{name}/powerpc-ibm-%{bldsys}/install-tools/* %{prefix}/%{name}/Install %{prefix}/info/cpp.info* %{prefix}/info/gcc.info* %{prefix}/info/standards.info %doc %{prefix}/man/man1/cccp.1 %doc %{prefix}/man/man1/cpp.1 %doc %{prefix}/man/man1/gcc.1 /usr/linux/bin/cpp /usr/bin/gcc /usr/bin/gcov /usr/bin/powerpc-ibm-%{bldsys}-gcc /usr/lib/gcc-lib %files -n g++ %defattr(-,root,root) %{prefix}/%{name}/bin/c++* %{prefix}/%{name}/bin/g++ %{prefix}/%{name}/lib/aix64/libstdc++.a.* %{prefix}/%{name}/lib/libstdc++.a.* %{prefix}/%{name}/lib/power/libstdc++.a.* %{prefix}/%{name}/lib/powerpc/libstdc++.a.* %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/cc1plus %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-%{bldsys}/2.9-%{bldvers}/libstdc++.a %{prefix}/%{name}/lib/soft-float/aix64/libstdc++.a.* %{prefix}/%{name}/lib/soft-float/libstdc++.a.* %{prefix}/%{name}/lib/soft-float/power/libstdc++.a.* %{prefix}/%{name}/lib/soft-float/powerpc/libstdc++.a.* %{prefix}/%{name}/include/g++-3/* %{prefix}/info/iostream.info %doc %{prefix}/man/man1/c++filt.1 %doc %{prefix}/man/man1/g++.1 /usr/bin/g++ %files -n binutils %defattr(-,root,root) %{prefix}/%{name}/bin/addr2line %{prefix}/%{name}/bin/ar %{prefix}/%{name}/bin/as %{prefix}/%{name}/bin/gasp %{prefix}/%{name}/bin/gperf %{prefix}/%{name}/bin/gprof %{prefix}/%{name}/bin/nm %{prefix}/%{name}/bin/objcopy %{prefix}/%{name}/bin/objdump %{prefix}/%{name}/bin/ranlib %{prefix}/%{name}/bin/readelf %{prefix}/%{name}/bin/send-pr %{prefix}/%{name}/bin/size %{prefix}/%{name}/bin/strings # The "ld" command is renamed to "gld". For proper linking, please # use the native AIX ld command, /usr/bin/ld. %{prefix}/%{name}/bin/gld # The "strip" command is not functioning correctly in all cases, so # it has been renamed to "gstrip". We strongly recommend the use # of the native AIX strip command, /usr/bin/strip. %{prefix}/%{name}/bin/gstrip %{prefix}/%{name}/lib/aix64/libiberty.a %{prefix}/%{name}/lib/libbfd.a %{prefix}/%{name}/lib/libbfd.la %{prefix}/%{name}/lib/libfl.a %{prefix}/%{name}/lib/libiberty.a %{prefix}/%{name}/lib/libmmalloc.a %{prefix}/%{name}/lib/libopcodes.a %{prefix}/%{name}/lib/libopcodes.la %{prefix}/%{name}/lib/power/libiberty.a %{prefix}/%{name}/lib/powerpc/libiberty.a %{prefix}/%{name}/lib/soft-float/aix64/libiberty.a %{prefix}/%{name}/lib/soft-float/libiberty.a %{prefix}/%{name}/lib/soft-float/power/libiberty.a %{prefix}/%{name}/lib/soft-float/powerpc/libiberty.a %{prefix}/%{name}/powerpc-ibm-%{bldsys}/lib/ldscripts/* %{prefix}/%{name}/include/ansidecl.h %{prefix}/%{name}/include/bfd.h %{prefix}/%{name}/include/bfdlink.h %{prefix}/info/as.info* %{prefix}/info/bfd.info* %{prefix}/info/binutils.info* %{prefix}/info/gasp.info %{prefix}/info/gperf.info %{prefix}/info/gprof.info* %{prefix}/info/mmalloc.info %{prefix}/info/send-pr.info %doc %{prefix}/man/dvi/gperf.dvi %doc %{prefix}/man/html/gperf.html %doc %{prefix}/man/man1/addr2line.1 %doc %{prefix}/man/man1/ar.1 %doc %{prefix}/man/man1/as.1 %doc %{prefix}/man/man1/gperf.1 %doc %{prefix}/man/man1/gprof.1 %doc %{prefix}/man/man1/nm.1 %doc %{prefix}/man/man1/objcopy.1 %doc %{prefix}/man/man1/objdump.1 %doc %{prefix}/man/man1/ranlib.1 %doc %{prefix}/man/man1/send-pr.1 %doc %{prefix}/man/man1/size.1 %doc %{prefix}/man/man1/strings.1 # strip man page left out as well; see note above /usr/bin/addr2line /usr/linux/bin/ar /usr/linux/bin/as /usr/bin/gasp /usr/bin/gperf /usr/linux/bin/gprof /usr/linux/bin/nm /usr/bin/objcopy /usr/bin/objdump /usr/linux/bin/ranlib /usr/bin/readelf /usr/bin/send-pr /usr/linux/bin/size /usr/linux/bin/strings %files -n gdb %defattr(-,root,root) %{prefix}/%{name}/bin/gdb %{prefix}/info/gdb.info* %{prefix}/info/gdbint.info* %{prefix}/info/stabs.info* %doc %{prefix}/man/man1/gdb.1 %{prefix}/%{name}/share/cygnus %{prefix}/%{name}/share/dejagnu %{prefix}/%{name}/share/gdbtcl %{prefix}/%{name}/share/i* %{prefix}/%{name}/share/t* /usr/bin/gdb /usr/share/cygnus %changelog * Tue Apr 01 2003 David Clissold - gdb patch for inability to quit after attempt to run with core. --> Rel 3 - Patch for Install to recognize AIX 5* (rather than just 5.1) * Fri Aug 16 2002 David Clissold - Patch to fix gdb core recognition on 4.3.3. --> Rel 2 - (only impacts the gdb package, and only the 4.3.3 version). - also get rid of static libraries only used in building gdb; they - don't need to be installed. The package is quite large as is. * Wed Mar 20 2002 David Clissold - Add a patch to ar big-format reading problem. --> Rel 1 * Wed Feb 20 2002 David Clissold - NEW VERSION LEVEL. First build of 2.9.aix51.020209. (not released) * Fri Feb 15 2002 David Clissold - Fix fixincludes error; fixincl was missing from distro. * Thu Jan 03 2002 David Clissold - NEW VERSION LEVEL. First build of the 2.9.aix51.011206 version. * Wed Dec 12 2001 David Clissold - Add newest patches from RedHat (via DJE). --> Rel 7. * Mon Sep 24 2001 David Clissold - Patch for PID>64k, courtesy of soren_hunter@hotmail.com --> Rel 6. - (still a problem if debugging a PID>256k, a rare condition). * Thu Jun 28 2001 David Clissold - Add a new gas patch from DJE. --> Rel 5. * Wed Jun 06 2001 David Clissold - Rework file to build directly from source (rather than restoring - binaries like before). - Add patches from DJE, and fix up the info files. * Mon Apr 30 2001 David Clissold - Replace images with new ones received from Redhat on 4/27. * Fri Apr 06 2001 David Clissold - Add patched cc1 and cc1plus from David Edelsohn (recv'd 4/6/01) * Wed Mar 28 2001 David Clissold - Need a symlink for gcc-lib under /usr/lib - Add check to ensure we install on pre-5.0 AIX only - Add patch for AIX 5.1 * Wed Mar 21 2001 David Clissold - Added PDF file, /usr/bin and /usr/linux/bin; change path to GNUPro. - put simple package descriptions in place & other minor touch-ups - Add pointer to the location of real source * Wed Mar 14 2001 David Clissold - Build initial package. - Still to do: add the pdf and README; fix up the descriptions; - add links to /usr/bin and /usr/linux/bin, etc as appropriate