Summary: The GNU C and C++ compilers and utilities Name: GNUPro Version: 2.9.aix43.010414 Release: 8 Copyright: GPL Group: Development/Tools Source0: %{name}-%{version}.src.tar.Z Source1: ibm_aix_GNUPro.pdf Source2: %{name}-%{version}.add.tar.Z Source3: %{name}.release-notes.txt Patch1: %{name}-%{version}-first.patch Patch2: %{name}-%{version}-second.patch Patch3: %{name}-%{version}-third.patch Patch4: %{name}-%{version}-fourth.patch Patch5: %{name}-%{version}-gdb_pid.patch Patch6: %{name}-%{version}-cp.patch Patch7: %{name}-%{version}-strip.patch Patch8: %{name}-%{version}-decl.patch Patch9: %{name}-%{version}-unionalign.patch Prefix: %{_prefix} BuildRoot: /opt/freeware/%{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 aix43-010414 %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 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 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 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 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 /bin/gzip -dc $RPM_SOURCE_DIR/GNUPro-%{version}.src.tar.Z |tar -xf - %patch1 -b .first %patch2 -b .second %patch3 -b .third %patch4 -b .fourth %patch5 -b .gdb_pid %patch6 -b .cp %patch7 -b .strip %patch8 -b .decl %patch9 -b .unionalign 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-aix4.3.3.0/install-tools/fixinc /usr/bin/strip ./gcc/fixinc/fixincl 2>/dev/null || : cp -p ./gcc/fixinc/fixincl \ $RPM_BUILD_ROOT%{prefix}/%{name}/powerpc-ibm-aix4.3.3.0/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-aix4.3.3.0/%{version}/* 2>/dev/null || : /usr/bin/strip powerpc-ibm-aix4.3.3.0/bin/* 2>/dev/null || : /usr/bin/strip powerpc-ibm-aix4.3.3.0/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-aix4.3.3.0/bin/ld powerpc-ibm-aix4.3.3.0/bin/gld mv powerpc-ibm-aix4.3.3.0/bin/strip powerpc-ibm-aix4.3.3.0/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 zcat %{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-aix4.3.3.0-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} ln -s . %{bldvers} perl -pi -e "s|^EXECDIR=.*$|EXECDIR=|" Install ./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-aix4.3.3.0-gcc %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/2.9-%{bldvers}/cc1 %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/2.9-%{bldvers}/aix64 %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/2.9-%{bldvers}/collect2 %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/2.9-%{bldvers}/cpp %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/2.9-%{bldvers}/include %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/2.9-%{bldvers}/libgcc.a %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/2.9-%{bldvers}/power %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/2.9-%{bldvers}/powerpc %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/2.9-%{bldvers}/soft-float %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/2.9-%{bldvers}/specs %{prefix}/%{name}/powerpc-ibm-aix4.3.3.0/include/_G_config.h %{prefix}/%{name}/powerpc-ibm-aix4.3.3.0/include/assert.h %{prefix}/%{name}/powerpc-ibm-aix4.3.3.0/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-aix4.3.3.0-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-aix4.3.3.0/2.9-%{bldvers}/cc1plus %{prefix}/%{name}/lib/gcc-lib/powerpc-ibm-aix4.3.3.0/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/gld %{prefix}/%{name}/bin/gperf %{prefix}/%{name}/bin/gprof # The "ld" command is not included. For proper linking, please # use the native AIX ld command, /usr/bin/ld. %{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 "strip" command is not functioning correctly in all cases, so # it has been left out of this image. We strongly recommend the use # of the native AIX strip command, /usr/bin/strip. %{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-aix4.3.3.0/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}/%{name}/include/Dbg.h %{prefix}/%{name}/include/expect*.h %{prefix}/%{name}/include/it*.h %{prefix}/%{name}/include/t*.h %{prefix}/info/gdb.info* %{prefix}/info/gdbint.info* %{prefix}/info/stabs.info* %doc %{prefix}/man/man1/gdb.1 %{prefix}/%{name}/share/* %{prefix}/%{name}/lib/*tclConfig.sh %{prefix}/%{name}/lib/*tkConfig.sh %{prefix}/%{name}/lib/libexpect* %{prefix}/%{name}/lib/libitcl* %{prefix}/%{name}/lib/libitk* %{prefix}/%{name}/lib/libtcl* %{prefix}/%{name}/lib/libtk* /usr/bin/gdb /usr/share/cygnus %changelog * Fri Feb 15 2002 David Clissold - Fix fixincludes error; fixincl was missing from distro. --> Rel 8. * 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