# Tests by default. No tests: rpm -ba --define 'dotests 0' gcc*.spec #%{!?dotests:%define DO_TESTS 1} #%{?dotests:%define DO_TESTS 0} %define DO_TESTS 0 %define DO_OBJC 0 %global do_clean_build 1 %define gcc_version 7.2.0 %define gcc_major 7 %define base_name gcc %define build_dir /opt/freeware/src/packages/BUILD/gcc-build-%{gcc_version} Summary: GNU Compiler Collection Name: %{base_name}%{gcc_major} Version: %{gcc_version} Release: 2 Group: Development/Tools License: GPL URL: http://gcc.gnu.org/ Source0: ftp://ftp.gnu.org/gnu/%{name}/gcc-%{version}/gcc-%{version}.tar.bz2 Source1: %{name}-BSum.1.0.sh Source2: %{name}-BCmp.1.0.sh Source3: %{name}-BCmpErr.1.0.sh Patch0: gcc-%{version}-oslevel.patch Patch1: gcc-%{version}-static-link-collect2.patch Patch3: gcc-%{version}-config-force-opt-freeware-lib-in-AIX-LIBPATH.patch # Unless you have a lot of space in /var/tmp, you will probably need to # specify --buildroot on the command line to point to a larger filesystem. BuildRoot: /opt/tmp/%{name}-%{version}-root BuildRequires: bash, sed, automake, autoconf, texinfo, make, gcc BuildRequires: gmp-devel >= 4.3.2, mpfr-devel >= 2.4.2, libmpc-devel >= 0.8.1 BuildRequires: zlib-devel >= 1.2.3-3 Requires: info Requires: /sbin/install-info Requires: libgcc%{gcc_major} = %{version}-%{release} Requires: gcc%{gcc_major}-cpp = %{version}-%{release} Conflicts: g++ <= 2.9.aix51.020209-4 # As gcc is configure with /opt/freeware/bin/sed, fixinc.sh in %post # will try to call it. Requires(post): sed %ifos aix6.1 %define buildhost powerpc-ibm-aix6.1.0.0 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 %define buildhost powerpc-ibm-aix7.1.0.0 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 %define buildhost powerpc-ibm-aix7.2.0.0 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %define _libdir64 %{_prefix}/lib64 %define gcclibdir %{_libdir}/gcc/%{buildhost}/%{gcc_major} %define gcclibexecdir %{_libexecdir}/gcc/%{buildhost}/%{gcc_major} %description The gcc package contains the GNU Compiler Collection version %{gcc_version}. You'll need this package in order to compile C code. %package c++ Summary: C++ support for GCC Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: libstdc++%{gcc_major}-devel = %{version}-%{release} Requires: gmp >= 4.3.2, mpfr >= 2.4.2, libmpc >= 0.8.1 Requires: zlib >= 1.2.3-3 %ifos aix6.1 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description c++ This package adds C++ support to the GNU Compiler Collection. It includes support for most of the current C++ specification, including templates and exception handling. %package cpp Summary: The C Preprocessor Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: gmp >= 4.3.2, mpfr >= 2.4.2, libmpc >= 0.8.1 Requires: zlib >= 1.2.3-3 %ifos aix6.1 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description cpp Cpp is the GNU C-Compatible Compiler Preprocessor. Cpp is a macro processor which is used automatically by the C compiler to transform your program before actual compilation. It is called a macro processor because it allows you to define macros, abbreviations for longer constructs. The C preprocessor provides four separate functionalities: the inclusion of header files (files of declarations that can be substituted into your program); macro expansion (you can define macros, and the C preprocessor will replace the macros with their definitions throughout the program); conditional compilation (using special preprocessing directives, you can include or exclude parts of the program according to various conditions); and line control (if you use a program to combine or rearrange source files into an intermediate file which is then compiled, you can use line control to inform the compiler about where each source line originated). You should install this package if you are a C programmer and you use macros. %package -n libgcc%{gcc_major} Summary: GCC version %{gcc_version} shared support library Group: Development/Libraries %ifos aix6.1 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description -n libgcc%{gcc_major} This package contains GCC shared support library which is needed e.g. for exception handling support. %package -n libstdc++%{gcc_major} Summary: GNU Standard C++ Library Group: Development/Libraries Requires: libgcc%{gcc_major} = %{version}-%{release} %ifos aix6.1 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description -n libstdc++%{gcc_major} The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. %package -n libstdc++%{gcc_major}-devel Summary: Header files and libraries for C++ development Group: Development/Libraries Requires: libstdc++%{gcc_major} = %{version}-%{release} %ifos aix6.1 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description -n libstdc++%{gcc_major}-devel This is the GNU implementation of the standard C++ libraries. This package includes the header files and libraries needed for C++ development. This includes a rewritten implementation of STL. %package gfortran Summary: Fortran 95 support Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: gmp >= 4.3.2, mpfr >= 2.4.2, libmpc >= 0.8.1 Requires: zlib >= 1.2.3-3 %ifos aix6.1 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description gfortran The gcc-gfortran package provides support for compiling Fortran 95 programs with the GNU Compiler Collection. %package -n libgomp%{gcc_major} Summary: GCC OpenMP 2.5 shared support library Group: Development/Languages Requires: libgcc%{gcc_major} = %{version}-%{release} %ifos aix6.1 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description -n libgomp%{gcc_major} This package contains GCC shared support library which is needed for OpenMP 2.5 support. if [ "%{DO_OBJC}" == 1 ] then Work in Progress %package objc Summary: Objective-C support for GCC Group: Development/Languages Requires: %{name} = %{version}-%{release} Requires: libobjc = %{version}-%{release} %ifos aix6.1 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description objc gcc-objc provides Objective-C support for the GCC. Mainly used on systems running NeXTSTEP, Objective-C is an object-oriented derivative of the C language. %package objc++ Summary: Objective-C++ support for GCC Group: Development/Languages Requires: gcc-c++ = %{version}-%{release} Requires: gcc-objc = %{version}-%{release} Autoreq: true %ifos aix6.1 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description objc++ gcc-objc++ package provides Objective-C++ support for the GCC. %package -n libobjc Summary: Objective-C runtime Group: System Environment/Libraries Autoreq: true %ifos aix6.1 Requires: AIX-rpm >= 6.1.0.0 Requires: AIX-rpm < 6.2.0.0 %endif %ifos aix7.1 Requires: AIX-rpm >= 7.1.0.0 Requires: AIX-rpm < 7.2.0.0 %endif %ifos aix7.2 Requires: AIX-rpm >= 7.2.0.0 Requires: AIX-rpm < 7.3.0.0 %endif %description -n libobjc This package contains Objective-C shared library which is needed to run Objective-C dynamically linked programs. fi %if !%{do_clean_build} echo "Skipping %prep" exit 0 %endif %prep export PATH=/opt/freeware/bin:$PATH %setup -q -n gcc-%{gcc_version} %ifos aix5.1 %patch1 %endif %ifos aix5.2 %patch2 %endif %patch0 -p1 -b .oslevel %patch1 -p1 -b .static_link %patch3 -p1 -b .optlib %build export PATH=/usr/bin:/usr/sbin:/sbin:/opt/freeware/bin #export LDFLAGS="-Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/opt/freeware/lib:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/6.3.0/ppc64:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/6.3.0:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/6.3.0/../../..:/usr/lib:/lib" # speed up the configure processes... export CONFIG_SHELL=/opt/freeware/bin/bash export CONFIGURE_ENV_ARGS=/opt/freeware/bin/bash # work around strange libtool error, see details at: # https://www.ibm.com/developerworks/forums/thread.jspa?messageID=14145662 export RM="/usr/bin/rm -f" export AR="/usr/bin/ar " # use maximum amount of memory (heap) available to 32-bit programs # seems not to be taken into account though export LDR_CNTRL=MAXDATA=0x80000000 %if %{do_clean_build} cd .. if [ -d %{build_dir} ]; then rm -rf %{build_dir} fi mkdir %{build_dir} cd %{build_dir} /opt/freeware/bin/gcc --version CC=/opt/freeware/bin/gcc \ CXX=/opt/freeware/bin/g++ \ ../%{base_name}-%{gcc_version}/configure \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --infodir=%{_infodir} \ --with-local-prefix=/opt/freeware \ --with-as=/usr/bin/as \ --with-ld=/usr/bin/ld \ --enable-languages="c,c++,fortran,objc,obj-c++" \ --enable-version-specific-runtime-libs \ --disable-nls \ --enable-decimal-float=dpd \ --with-cloog=no \ --with-ppl=no \ --disable-libstdcxx-pch \ --enable-__cxa_atexit \ --with-gcc-major-version-only \ --program-suffix=-%{gcc_major} \ --disable-rpath \ --host=%{buildhost} %else cd %{build_dir} %endif export CC=/opt/freeware/bin/gcc export CXX=/opt/freeware/bin/g++ export BOOT_CFLAGS='-O2 ' ulimit -d unlimited ulimit -s unlimited # Takes about 82mn on AIX 7.2 with 2 CPUs export OPT_FLAG="-O2 -D_LARGE_FILES" export BOOT_CFLAGS="${OPT_FLAG}" export LT_CFLAGS="${OPT_FLAG}" export CFLAGS="${OPT_FLAG}" export CXXFLAGS="${OPT_FLAG}" export LIBCFLAGS="${OPT_FLAG}" export LIBCXXFLAGS="${OPT_FLAG} -fno-implicit-templates" echo "BUILD ENVIRONMENT:" /usr/bin/env | /usr/bin/sort # Takes about 82mn on AIX 7.2 with 2 CPUs gmake -j8 # >= 600mn on P8 2CPUs if [ "%{DO_TESTS}" == 1 ] then (gmake -k check || true) cd %{buildhost} # Already done in previous gmake check ?!! # cd libatomic # (gmake -k check || true) # cd .. # cd libgomp # (gmake -k check || true) # cd .. cd ppc64 cd libatomic (gmake -k check || true) cd .. cd libgomp (gmake -k check || true) cd .. cd libstdc++-v3 (gmake -k check || true) cd .. cd .. cd pthread cd libatomic (gmake -k check || true) cd .. cd libgomp (gmake -k check || true) cd .. cd libstdc++-v3 (gmake -k check || true) cd .. cd ppc64 cd libatomic (gmake -k check || true) cd .. cd libgomp (gmake -k check || true) cd .. cd libstdc++-v3 (gmake -k check || true) cd .. cd .. cd .. cd .. /usr/sbin/slibclean fi # END of tests # remove the "-print-multi-os-directory" flag... sed -e "s/MULTIOSDIR = \`\$(CC) \$(LIBCFLAGS) -print-multi-os-directory\`/MULTIOSDIR = ./" libiberty/Makefile > Makefile.tmp mv -f Makefile.tmp libiberty/Makefile echo "RPM_BUILD_ROOT: " ${RPM_BUILD_ROOT} %install # work around strange libtool error, see details at: # https://www.ibm.com/developerworks/forums/thread.jspa?messageID=14145662 export RM="/usr/bin/rm -f" export AR="/usr/bin/ar " echo "RPM_BUILD_ROOT: " ${RPM_BUILD_ROOT} [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} cd %{build_dir} gmake install DESTDIR=${RPM_BUILD_ROOT} #mkdir -p ${RPM_BUILD_ROOT}/opt/freeware/share/info #cp %{build_dir}/gcc/doc/cpp*.info ${RPM_BUILD_ROOT}/opt/freeware/share/info #cp %{build_dir}/gcc/doc/gcc*.info ${RPM_BUILD_ROOT}/opt/freeware/share/info #cp %{build_dir}/gcc/doc/gfortran.info ${RPM_BUILD_ROOT}/opt/freeware/share/info # strip compiler binaries strip ${RPM_BUILD_ROOT}%{_bindir}/* 2>/dev/null || : for file in cc1 cc1plus collect2 f951 lto-wrapper ; do strip ${RPM_BUILD_ROOT}%{gcclibexecdir}/$file 2>/dev/null || : done # strip utilities strip ${RPM_BUILD_ROOT}%{gcclibdir}/install-tools/fixincl 2>/dev/null || : # remove unrelated man pages rm -rf ${RPM_BUILD_ROOT}%{_mandir}/man7 # remove libiberty.a library which is not used directly by gcc rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty.a for dir in power powerpc ppc64 pthread; do rm -rf ${RPM_BUILD_ROOT}%{_libdir}/$dir done # remove empty include directory rmdir ${RPM_BUILD_ROOT}%{_includedir} || : # gzip info pages # rename with gcc version and gzip info pages ( cd ${RPM_BUILD_ROOT}%{_infodir} for f in `find . -name "*.info"`; do mv $f ${f%.*}-%{gcc_major}.${f##*.} done gzip --best *.info ) # patch 32-bit binaries to use the maximum number of 8 x 256MB data segments # as the "export LDR_CNTRL=MAXDATA=0x80000000" setting seems not to be taken # into account though for f in ${RPM_BUILD_ROOT}%{_bindir}/* ; do if [[ "`/usr/bin/file ${f} | awk '{ print $2 }'`" = "executable" ]] ; then /usr/bin/echo '\0200\0\0\0' | /usr/bin/dd of=${f} bs=4 count=1 seek=19 conv=notrunc fi done # Create link between the full version and the major version. # This isn't needed but explains which full version is currently used. ( cd ${RPM_BUILD_ROOT}/%{_libdir}/gcc/%{buildhost} ln -sf %{gcc_major} %{gcc_version} ) # while bootstrapping do not seem to be taken into account ( cd ${RPM_BUILD_ROOT} for f in `find . -name "*.a"` ; do if [ -f ${f} ] ; then /usr/bin/strip -X32_64 ${f} fi done ) # Add 64bit .so from 64bit libX.a to 32bit libX.a # For X = atomic gcc_s stdc++ supc++ gomp gfortran caf_single mkdir /tmp/gcc-$$ ( cd /tmp/gcc-$$ for lib in atomic gcc_s stdc++ supc++ gomp gfortran caf_single do rm -f * $AR -X64 xv ${RPM_BUILD_ROOT}%{gcclibdir}/ppc64/lib$lib.a $AR -X64 -q ${RPM_BUILD_ROOT}%{gcclibdir}/lib$lib.a * ( rm -f ${RPM_BUILD_ROOT}%{gcclibdir}/ppc64/lib$lib.a cd ${RPM_BUILD_ROOT}%{gcclibdir}/ppc64 ln -s %{gcclibdir}/lib$lib.a . ) rm -f * $AR -X64 xv ${RPM_BUILD_ROOT}%{gcclibdir}/pthread/ppc64/lib$lib.a $AR -X64 -q ${RPM_BUILD_ROOT}%{gcclibdir}/pthread/lib$lib.a * ( rm -f ${RPM_BUILD_ROOT}%{gcclibdir}/pthread/ppc64/lib$lib.a cd ${RPM_BUILD_ROOT}%{gcclibdir}/pthread/ppc64 ln -s %{gcclibdir}/pthread/lib$lib.a . ) done ) rm -rf /tmp/gcc-$$ %post /sbin/install-info %{_infodir}/gcc-%{gcc_major}.info.gz %{_infodir}/dir || : /sbin/install-info %{_infodir}/gccinstall-%{gcc_major}.info.gz %{_infodir}/dir || : /sbin/install-info %{_infodir}/gccint-%{gcc_major}.info.gz %{_infodir}/dir || : # Regen include-fixed directory to avoid getting wrong headers being used. TMPDIR=/tmp/gcc-fixincl$$ mkdir $TMPDIR # Export needed by fixinc.sh IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed "s/[0-9]*$/0/"` export target_canonical=powerpc-ibm-aix$IBM_REV export TARGET_MACHINE=$target_canonical export SHELL=/opt/freeware/bin/bash export MACRO_LIST=%{gcclibdir}/install-tools/macro_list ( cd %{gcclibexecdir}/install-tools # Export LIBPATH for sed export LIBPATH=/opt/freeware/lib:/usr/lib:/lib ./fixinc.sh $TMPDIR ) # Gcc is providing its own limits.h but renamed the system limits.h into # syslimits.h if it has been modified. Otherwize, it povides its own # syslimits.h. Retrieve them from include-fixed directory if need. if [ -f $TMPDIR/limits.h ]; then mv $TMPDIR/limits.h $TMPDIR/syslimits.h else cp %{gcclibdir}/install-tools/gsyslimits.h $TMPDIR/syslimits.h fi cp %{gcclibdir}/install-tools/include/limits.h $TMPDIR # Copy README from gcc include-fixed directory. # TODO: Check for every new gcc versions as new files can be provided # by gcc itself. cp %{gcclibdir}/install-tools/include/README $TMPDIR rm -r %{gcclibdir}/include-fixed/ mv $TMPDIR %{gcclibdir}/include-fixed/ %post -n libgomp%{gcc_major} /sbin/install-info %{_infodir}/libgomp-%{gcc_major}.info.gz %{_infodir}/dir || : %post cpp /sbin/install-info %{_infodir}/cpp-%{gcc_major}.info.gz %{_infodir}/dir || : /sbin/install-info %{_infodir}/cppinternals-%{gcc_major}.info.gz %{_infodir}/dir || : %post gfortran /sbin/install-info %{_infodir}/gfortran-%{gcc_major}.info.gz %{_infodir}/dir || : %preun if [ "$1" = 0 ]; then /sbin/install-info --delete %{_infodir}/gcc-%{gcc_major}.info.gz %{_infodir}/dir || : /sbin/install-info --delete %{_infodir}/gccinstall-%{gcc_major}.info.gz %{_infodir}/dir || : /sbin/install-info --delete %{_infodir}/gccint-%{gcc_major}.info.gz %{_infodir}/dir || : fi echo "Warnings dealing with include-fixed directory can be ignored." %preun -n libgomp%{gcc_major} if [ "$1" = 0 ]; then /sbin/install-info --delete %{_infodir}/libgomp-%{gcc_major}.info.gz %{_infodir}/dir || : fi %preun cpp if [ "$1" = 0 ]; then /sbin/install-info --delete %{_infodir}/cpp-%{gcc_major}.info.gz %{_infodir}/dir || : /sbin/install-info --delete %{_infodir}/cppinternals-%{gcc_major}.info.gz %{_infodir}/dir || : fi %preun gfortran if [ "$1" = 0 ]; then /sbin/install-info --delete %{_infodir}/gfortran-%{gcc_major}.info.gz %{_infodir}/dir || : fi %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system) %{_bindir}/gcc-%{gcc_major} %{_bindir}/gcov-%{gcc_major} %{_bindir}/gcc-ar-%{gcc_major} %{_bindir}/gcc-nm-%{gcc_major} %{_bindir}/gcc-ranlib-%{gcc_major} %{_bindir}/%{buildhost}-gcc-%{gcc_major} %{_bindir}/%{buildhost}-gcc-ar-%{gcc_major} %{_bindir}/%{buildhost}-gcc-nm-%{gcc_major} %{_bindir}/%{buildhost}-gcc-ranlib-%{gcc_major} %dir %{_libdir}/gcc %dir %{_libdir}/gcc/%{buildhost} %dir %{gcclibdir} %dir %{gcclibdir}/ppc64 %dir %{gcclibdir}/pthread %dir %{gcclibdir}/pthread/ppc64 %{gcclibdir}/crtcxa*o %{gcclibdir}/crtdbase.o %{gcclibdir}/libgcc.a %{gcclibdir}/libgcc_eh.a %{gcclibdir}/libgcov.a %{gcclibdir}/ppc64/crtcxa*o %{gcclibdir}/ppc64/crtdbase.o %{gcclibdir}/ppc64/libgcc.a %{gcclibdir}/ppc64/libgcc_eh.a %{gcclibdir}/ppc64/libgcov.a %{gcclibdir}/pthread/crtcxa*o %{gcclibdir}/pthread/crtdbase.o %{gcclibdir}/pthread/libgcc.a %{gcclibdir}/pthread/libgcc_eh.a %{gcclibdir}/pthread/libgcov.a %{gcclibdir}/pthread/ppc64/crtcxa*o %{gcclibdir}/pthread/ppc64/crtdbase.o %{gcclibdir}/pthread/ppc64/libgcc.a %{gcclibdir}/pthread/ppc64/libgcc_eh.a %{gcclibdir}/pthread/ppc64/libgcov.a %dir %{_libexecdir}/gcc %dir %{_libexecdir}/gcc/%{buildhost} %dir %{gcclibexecdir} %{gcclibexecdir}/collect2 %{gcclibexecdir}/lto-wrapper %{gcclibexecdir}/install-tools %dir %{gcclibdir}/include %{gcclibdir}/include/[^c++]* %{gcclibdir}/include-fixed %{gcclibdir}/install-tools #%{_infodir}/gcc* %{_infodir}/gcc-%{gcc_major}.info.gz %{_infodir}/gccinstall-%{gcc_major}.info.gz %{_infodir}/gccint-%{gcc_major}.info.gz %{_mandir}/man1/gcc-%{gcc_major}.1 %{_mandir}/man1/gcov-%{gcc_major}.1 %doc gcc/COPYING* MAINTAINERS gcc/README* %files cpp %defattr(-,root,system) %dir %{_libexecdir}/gcc %dir %{_libexecdir}/gcc/%{buildhost} %dir %{gcclibexecdir} %{_bindir}/cpp-%{gcc_major} %{gcclibexecdir}/cc1 %{_mandir}/man1/cpp-%{gcc_major}.1 %{_infodir}/cpp* %files -n libgomp%{gcc_major} %defattr(-,root,system) %dir %{_libdir}/gcc %dir %{_libdir}/gcc/%{buildhost} %dir %{gcclibdir} %dir %{gcclibdir}/ppc64 %dir %{gcclibdir}/pthread %dir %{gcclibdir}/pthread/ppc64 %{gcclibdir}/libgomp.a %{gcclibdir}/libgomp.spec %{gcclibdir}/ppc64/libgomp.a %{gcclibdir}/ppc64/libgomp.spec %{gcclibdir}/pthread/libgomp.a %{gcclibdir}/pthread/libgomp.spec %{gcclibdir}/pthread/ppc64/libgomp.a %{gcclibdir}/pthread/ppc64/libgomp.spec %{_infodir}/libgomp* %files c++ %defattr(-,root,system) %dir %{_libdir}/gcc %dir %{_libdir}/gcc/%{buildhost} %dir %{gcclibdir} %dir %{gcclibdir}/ppc64 %dir %{gcclibdir}/pthread %dir %{gcclibdir}/pthread/ppc64 %{_bindir}/c++-%{gcc_major} %{_bindir}/g++-%{gcc_major} %{_bindir}/%{buildhost}-c++-%{gcc_major} %{_bindir}/%{buildhost}-g++-%{gcc_major} %dir %{_libexecdir}/gcc %dir %{_libexecdir}/gcc/%{buildhost} %dir %{gcclibexecdir} %{gcclibexecdir}/cc1plus %{_mandir}/man1/g++-%{gcc_major}.1 %doc gcc/COPYING* %files -n libgcc%{gcc_major} %defattr(-,root,system) %dir %{_libdir}/gcc %dir %{_libdir}/gcc/%{buildhost} %dir %{gcclibdir} %dir %{gcclibdir}/ppc64 %dir %{gcclibdir}/pthread %dir %{gcclibdir}/pthread/ppc64 %{gcclibdir}/libgcc_s.a %{gcclibdir}/libatomic.* %{gcclibdir}/ppc64/libgcc_s.a %{gcclibdir}/ppc64/libatomic.* %{gcclibdir}/pthread/libgcc_s.a %{gcclibdir}/pthread/libatomic.* %{gcclibdir}/pthread/ppc64/libgcc_s.a %{gcclibdir}/pthread/ppc64/libatomic.* %{_libdir}/gcc/%{buildhost}/%{gcc_version} %doc gcc/COPYING* %files -n libstdc++%{gcc_major} %defattr(-,root,system) %dir %{_libdir}/gcc %dir %{_libdir}/gcc/%{buildhost} %dir %{gcclibdir} %dir %{gcclibdir}/ppc64 %dir %{gcclibdir}/pthread %dir %{gcclibdir}/pthread/ppc64 %{gcclibdir}/libstdc++.a %{gcclibdir}/ppc64/libstdc++.a %{gcclibdir}/pthread/libstdc++.a %{gcclibdir}/pthread/ppc64/libstdc++.a %{gcclibdir}/libstdc++.a-gdb.py %{gcclibdir}/ppc64/libstdc++.a-gdb.py %{gcclibdir}/pthread/libstdc++.a-gdb.py %{gcclibdir}/pthread/ppc64/libstdc++.a-gdb.py %dir %{_datadir}/gcc-%{gcc_major} %dir %{_datadir}/gcc-%{gcc_major}/python %{_datadir}/gcc-%{gcc_major}/python/libstdcxx %doc gcc/COPYING* %files -n libstdc++%{gcc_major}-devel %defattr(-,root,system) %dir %{_libdir}/gcc %dir %{_libdir}/gcc/%{buildhost} %dir %{gcclibdir} %dir %{gcclibdir}/ppc64 %dir %{gcclibdir}/pthread %dir %{gcclibdir}/pthread/ppc64 %{gcclibdir}/libsupc++.a %{gcclibdir}/ppc64/libsupc++.a %{gcclibdir}/pthread/libsupc++.a %{gcclibdir}/pthread/ppc64/libsupc++.a %{gcclibdir}/include/c++ %doc gcc/COPYING* %files gfortran %defattr(-,root,system) %dir %{_libdir}/gcc %dir %{_libdir}/gcc/%{buildhost} %dir %{gcclibdir} %dir %{gcclibdir}/ppc64 %dir %{gcclibdir}/pthread %dir %{gcclibdir}/pthread/ppc64 %{_bindir}/gfortran-%{gcc_major} %{_bindir}/%{buildhost}-gfortran-%{gcc_major} %{gcclibdir}/finclude %{gcclibdir}/libgfortran.a %{gcclibdir}/libgfortran.spec %{gcclibdir}/libcaf_single.a %{gcclibdir}/ppc64/libgfortran.a %{gcclibdir}/ppc64/libgfortran.spec %{gcclibdir}/ppc64/libcaf_single.a %{gcclibdir}/pthread/libgfortran.a %{gcclibdir}/pthread/libgfortran.spec %{gcclibdir}/pthread/libcaf_single.a %{gcclibdir}/pthread/ppc64/libgfortran.a %{gcclibdir}/pthread/ppc64/libgfortran.spec %{gcclibdir}/pthread/ppc64/libcaf_single.a %dir %{_libexecdir}/gcc %dir %{_libexecdir}/gcc/%{buildhost} %dir %{gcclibexecdir} %{gcclibexecdir}/f951 %{_infodir}/gfortran-%{gcc_major}.info.gz %{_mandir}/man1/gfortran-%{gcc_major}.1 %doc gcc/COPYING* %changelog * Tue Dec 15 2020 Sangamesh Mallayya - gcc7-7.2.0-2 - Rebuild to include better method for multi version support. - Correct libgomp dependency issue. * Fri Nov 01 2019 Nitish K Mishra - gcc7-7.2.0-1 - rebuild for multi version support * Mon Sep 24 2018 Nitish K Mishra - 6.3.0-2 - Rebuild to include static linking issue patch. * Mon Jul 24 2017 Nitish Mishra - 6.3.0-1 - Initial port on AIX 7.2 * Tue Feb 03 2017 Tony Reix - 6.3.0-1 - Initial port on AIX 6.1 * Tue Aug 23 2016 Tony Reix - 6.2.0-1 - Initial port on AIX 6.1 * Thu Jun 09 2016 Tony Reix - 6.1.0-5 - Remove everything dealing with AIX 5.* - Put all 32bit & 64bit .so files in ..../libX.a file for X= atomic gcc_s stdc++ supc++ gomp gfortran caf_single - Replace 64bits libs by link to 32bits lib - Port on AIX 6.1 * Mon May 30 2016 Tony Reix - 6.1.0-4 - Fix issues with Requires for libstdc++ and libstdc++-devel * Wed May 25 2016 Tony Reix - 6.1.0-3 - Improve tests: tools and logs analysis * Mon May 23 2016 Tony Reix - 6.1.0-2 - Initial port on AIX 7.2 * Tue Nov 05 2015 Tony Reix - 5.2.0-1 - Updated to version 5.2.0 * Tue Mar 10 2015 Gerard Visiedo - 4.8.4-2 - Change gcc and g++ binairies paths to standard bindir * Fri Feb 27 2015 Hamza Sellami BULL - 4.8.4-1 - Porting GCC 4.8.4 to fixe some issues * Fri May 23 2014 Michael Perzl - 4.8.3-1 - Updated to version 4.8.3. * Thu Oct 17 2013 Michael Perzl - 4.8.2-1 - Updated to version 4.8.2. * Fri May 31 2013 Michael Perzl - 4.8.1-1 - Updated to version 4.8.1. * Tue Apr 30 2013 Michael Perzl - 4.8.0-2 - Added missing files/libraries introduced with version 4.8.0. - Added libstdc++ Python support files. * Sun Mar 24 2013 Michael Perzl - 4.8.0-1 - Updated to version 4.8.0. * Wed Dec 05 2012 Michael Perzl - 4.7.2-2 - Fixed wrong gcc shared libraries compatibility symbolic links. * Fri Sep 21 2012 Michael Perzl - 4.7.2-1 - Updated to version 4.7.2. - Added the -fPIC patch from David Edelsohn . * Tue Aug 21 2012 Michael Perzl - 4.7.1-3 - Added the "AIX libgcc.map missing" patch from http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01120.html. * Thu Jun 14 2012 Michael Perzl - 4.7.1-2 - Added the libstdc++ patch for GCC bug 52887. - Reorganized gcc shared libraries compatibility symbolic links. * Thu Jun 14 2012 Michael Perzl - 4.7.1-1 - Updated to version 4.7.1. * Thu Mar 22 2012 Michael Perzl - 4.7.0-1 - Updated to version 4.7.0. * Tue Mar 13 2012 Michael Perzl - 4.6.3-2 - Added missing dependency on gcc-cpp for 'gcc'. * Thu Mar 01 2012 Michael Perzl - 4.6.3-1 - Updated to version 4.6.3. * Thu Oct 27 2011 Michael Perzl - 4.6.2-1 - Updated to version 4.6.2. * Wed Jul 13 2011 Michael Perzl - 4.6.1-1 - Updated to version 4.6.1. * Wed Jul 13 2011 Michael Perzl - 4.6.0-2 - Fixed dependencies on gmp, mpfr and libmpc for gcc-c++ and gcc-cpp packages. * Sat Mar 26 2011 Michael Perzl - 4.6.0-1 - Updated to version 4.6.0. * Sat Mar 26 2011 Michael Perzl - 4.5.2-2 - Fixed some small RPM SPEC file errors. * Thu Mar 10 2011 Michael Perzl - 4.5.2-1 - Updated to version 4.5.2. * Thu Nov 04 2010 Michael Perzl - 4.4.5-1 - Updated to version 4.4.5. * Tue Jun 22 2010 Michael Perzl - 4.3.5-1 - Updated to version 4.3.5. * Wed Mar 24 2010 Michael Perzl - 4.3.4-1 - Updated to version 4.3.4. * Fri Dec 11 2009 Michael Perzl - 4.2.4-2 - fixed some spec file and portability issues. * Sat May 31 2008 Michael Perzl - 4.2.4-1 - Updated to version 4.2.4. * Tue Feb 19 2008 Michael Perzl - 4.2.3-1 - Updated to version 4.2.3. * Thu Nov 29 2007 Michael Perzl - 4.2.2-1 - First version for AIX, slightly based on the original SPEC file from IBM.