Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:sjcundy:Programming
compat-g77
compat-g77.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File compat-g77.spec of Package compat-g77
# # spec file for package compat-g77 (Version 3.3.5) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild # usedforbuild aaa_base acl attr audit-libs autoconf automake bash bind-libs bind-utils binutils bison bzip2 coreutils cpio cpp cpp41 cracklib cvs cyrus-sasl db dejagnu diffutils doxygen e2fsprogs expect file filesystem fillup findutils flex gawk gcc gcc41 gdbm gdbm-devel gettext gettext-devel glibc glibc-32bit glibc-devel glibc-devel-32bit glibc-locale gpm grep groff gzip info insserv klogd less libacl libattr libcom_err libgcc41 libgcc41-32bit libltdl libmudflap41 libnscd libpng libstdc++41 libtool libvolume_id libxcrypt libzio linux-kernel-headers m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch perl permissions popt procinfo procps psmisc pwdutils rcs readline rpm sed strace sysvinit tar tcl tcpd texinfo timezone unzip util-linux vim zlib zlib-devel Name: compat-g77 %define gcc33_for_bp 0 BuildRequires: dejagnu doxygen glibc glibc-devel #BuildRequires: dejagnu doxygen glibc-32bit glibc-devel-32bit %ifarch x86_64 #BuildRequires: libgcc-32bit BuildRequires: glibc-32bit glibc-devel-32bit %endif %ifarch ppc BuildRequires: libgcc-64bit %endif Prefix: %_prefix Version: 3.3.5 Release: 42.1 URL: http://gcc.gnu.org/ License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL) Summary: GNU Fortran 77 Compiler Group: Development/Languages/Fortran %if !%{gcc33_for_bp} PreReq: %install_info_prereq %endif Autoreqprov: on Requires: binutils glibc-devel Provides: g77 Obsoletes: g77 ExclusiveArch: alpha %ix86 ia64 ppc ppc64 s390 s390x x86_64 BuildRoot: %{_tmppath}/%{name}-%{version}-build %define gcc_version 3.3.5 Source: gcc-%{gcc_version}.tar.bz2 Patch0: gcc-3.3.5-hammer.patch.bz2 Patch1: gcc-noalias-warn.diff Patch2: configure.patch Patch3: head-tail.patch Patch4: bug-reporting.patch Patch5: libgc.patch Patch6: ia64intrin.patch Patch7: ffi.patch Patch8: fworking-directory.patch Patch10: altivec.diff Patch11: compact-dwarf2.patch Patch16: c99-double-inline.diff Patch17: c99numbers.diff Patch21: gcse-volatile.patch Patch22: swig-alias.patch Patch32: aliasing.diff Patch33: aliasing12.diff Patch34: aliasing3.diff Patch37: cse-mem-expr.patch Patch42: emit-note.patch Patch43: unwind-ia64.patch Patch44: hppa.patch Patch45: suse46595.diff Patch46: stl-multiple-defs.diff # Ada patches Patch53: gcc32-ada-link.patch Patch54: gcc32-ada-addr2line.patch # c++ patches # PPC specific Patch61: gcc-3.3-ppc64.patch # Do not merge this patch into the Alan M patch, it will just get lost later. # If you think it is useless, try building "fam" and watch libtool break. Patch63: ppc-nostartfileprefix.patch Patch64: ppc-nof.patch Patch65: cpp-fix-gcc4.diff Patch66: libstdc++-config.diff %description This is a Fortran 77-only compiler based on GCC 3.3.5. It can be used for source not yet compilable by the gcc-fortran package that contains the new gfortran compiler. Authors: -------- James Craig Burley <burley@gnu.org> Toon Moene <toon@moene.indiv.nluug.nl> %define run_tests %(test -f %_sourcedir/RUN_TESTS && echo 1 || echo 0) %define build_nof 0 %ifarch x86_64 ia64 s390x sparc64 alpha ppc64 %define build_primary_64bit 1 %else %define build_primary_64bit 0 %endif %define biarch_targets x86_64 s390x sparc64 ppc ppc64 %define TARGET_ARCH %(arch) %if %(for arch in %{biarch_targets} ; do test %{TARGET_ARCH} = "$arch" && { echo 1 ; exit ; } ; done ; echo 0) %define biarch 1 %else %define biarch 0 %endif %define BUILD_TARGET %(echo %{TARGET_ARCH}|sed -e "s/parisc/hppa/;s/i.86/i586/;s/ppc/powerpc/") %ifarch sparc sparc64 %if %{biarch} %define GCCDIST sparc64-suse-linux %else %define GCCDIST %{_target_cpu}-suse-linux %endif %else %define GCCDIST %(echo %{_target_cpu}|sed -e "s/i.86/i586/" -e "s/ppc/powerpc/")-suse-linux %endif %define gcclibdir %{_libdir}/gcc-lib/ %define libsubdir %{_libdir}/gcc-lib/%{GCCDIST}/%{gcc_version} %ifarch ppc ppc64 %define nofpath %{_prefix}/lib/nof %endif %debug_package %prep #%setup -q -n gcc-%{gcc_version}-hammer-%{snapshot_date} %setup -q -n gcc-%{gcc_version} %patch0 %patch1 %patch2 %patch3 %patch4 %patch5 %patch6 %patch7 %patch8 -p1 %patch10 %patch11 %patch16 %patch17 %patch21 %patch22 %patch32 %patch33 %patch34 %patch37 %patch42 %patch43 %patch44 %patch45 %patch46 %patch53 %patch54 #%ifarch ppc ppc64 %patch61 -p1 #%patch63 -p1 #%endif %patch64 -p1 %patch65 %patch66 %build # Update version number # not changed in ada (gcc/ada/gnatvsn.ads) since otherwise the line # will be too long perl -pi -e 's/\((prerelease|experimental|release)\)/(\1) (SUSE Linux)/' \ gcc/version.c \ libf2c/libF77/Version.c libf2c/libI77/Version.c libf2c/libU77/Version.c # Remove -hammer perl -pi -e 's/-hammer//' gcc/version.c perl -pi -e 's/3\.3\.6/3.3.5/' gcc/version.c # Handle gcc/version.c once again since a release might not have the # release word in it: perl -pi -e 's/(version_string.*\"[0-9.]+)\"/\1 \(SUSE Linux\)\"/' \ gcc/version.c # Avoid rebuilding of generated files (cd gcc/ada; touch treeprs.ads einfo.h sinfo.h nmake.adb nmake.ads) contrib/gcc_update --touch rm -rf obj-%{GCCDIST} mkdir obj-%{GCCDIST} cd obj-%{GCCDIST} RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'` %ifarch sparc sparc64 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m64//g' -e 's/-m32//g' -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g'` %endif %ifarch s390 s390x RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'` %endif CFLAGS_FOR_TARGET=`echo $RPM_OPT_FLAGS|sed -e 's/mtune/mcpu/g' -e 's/-D_FORTIFY[^ ]*//g'` languages=c,f77 %ifarch mips export STAGE1_CFLAGS="$RPM_OPT_FLAGS" %endif ENABLE_CHECKING=--disable-checking # Work around tail/head -1 changes export _POSIX2_VERSION=199209 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" \ ../configure --enable-threads=posix \ --prefix=%{prefix} --with-local-prefix=/usr/local \ --infodir=%{_infodir} --mandir=%{_mandir} \ --enable-languages=$languages $ENABLE_CHECKING \ --libdir=%{prefix}/%_lib \ --disable-libgcj \ --with-slibdir=/%{_lib} --with-system-zlib \ --enable-shared --enable-__cxa_atexit \ %ifarch sparc %if %{biarch} --with-cpu=v8 %{GCCDIST} %else --host=%{GCCDIST} --build=%{GCCDIST} --target=%{GCCDIST} --with-cpu=v7 %endif %else %ifarch ppc --host=%{GCCDIST} --build=%{GCCDIST} --target=%{GCCDIST} \ --enable-targets=powerpc64-suse-linux --enable-biarch %else %ifarch ppc64 --enable-biarch \ %endif %{GCCDIST} %endif %endif make %{?jobs:-j%jobs} CFLAGS_FOR_TARGET="$CFLAGS_FOR_TARGET" CXXFLAGS_FOR_TARGET="$CFLAGS_FOR_TARGET" make info make -C gcc f77.rebuilt %install cd obj-%{GCCDIST} # Work around tail/head -1 changes export _POSIX2_VERSION=199209 make install DESTDIR=$RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_libdir} ln -sf g77 $RPM_BUILD_ROOT%{_prefix}/bin/f77 mkdir -p $RPM_BUILD_ROOT/lib %if %{biarch} %if %{build_primary_64bit} # move around some libs that end in wrong paths pushd . mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib (cd $RPM_BUILD_ROOT%{_libdir}/32; tar cf - *) | (cd $RPM_BUILD_ROOT%{_prefix}/lib ; tar xf -) rm -rf $RPM_BUILD_ROOT%{_libdir}/32 rm -rf $RPM_BUILD_ROOT/%{_lib}/32 popd %else # 32-bit biarch systems # move around some libs that end in wrong paths pushd . mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib64 cd $RPM_BUILD_ROOT%{_libdir}/64 for f in *; do mv $RPM_BUILD_ROOT%{_libdir}/64/$f $RPM_BUILD_ROOT%{_prefix}/lib64 done rm -rf $RPM_BUILD_ROOT%{_libdir}/64 popd %endif %endif # Remove some crap from the .la files: for l in $RPM_BUILD_ROOT%{_libdir}/*.la \ %if %{biarch} %if %{build_primary_64bit} $RPM_BUILD_ROOT%{_prefix}/lib/*.la \ %else $RPM_BUILD_ROOT%{_prefix}/lib64/*.la \ %endif %endif ; do sed -e '/^dependency_libs/s| -L/usr/src/packages/BUILD/[^ ]*||g' \ -e '/^dependency_libs/s| -L/usr/%{GCCDIST}/bin||g' \ -e '/^dependency_libs/s|-lm \(-lm \)*|-lm |' \ -e '/^dependency_libs/s|-L[^ ]* ||g' \ %if %{biarch} %if %{build_primary_64bit} -e '/^libdir/s|%{_libdir}/32|%{_prefix}/lib|' \ -e '/^libdir/s|lib64/\.\./||' \ %else -e '/^libdir/s|%{_libdir}/64|%{_prefix}/lib64|' \ %endif %else -e '/^libdir/s|/usr/lib/\.|/usr/lib|' \ %endif < $l > $l.new mv $l.new $l done %ifarch sparc ppc # 32bit sparc should not include any 64bit binaries rm -rf $RPM_BUILD_ROOT%{_prefix}/lib64 $RPM_BUILD_ROOT/lib64 %endif # Now remove everything not used for g77 pushd $RPM_BUILD_ROOT rm -f lib/libgcc_s_32.so find . -name 'libgcc_s.*' | xargs rm find . -name 'libiberty.*' | xargs rm rm -rf usr/bin/{cpp,*gcc*,gcov} pushd "$RPM_BUILD_ROOT/%{libsubdir}" # Beware: we package crt*, libgcc.a and specs into the g77 package ! # also cc1 is needed for preprocessing rm -rf collect2 mv include/g2c.h . rm -rf include/* mv g2c.h include/ rm -rf install-tools popd rm -rf usr/share/info/{cpp*,gcc*} rm -rf usr/share/locale rm -rf usr/share/man/*/{cpp,gcc,gcov,fsf,gfdl,gpl}* # make sure to have .so symlinks to /lib{64}/libgcc_s.so.1 ln -s /%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT%{libsubdir}/libgcc_s.so %if %{biarch} %if %{build_primary_64bit} ln -s /lib/libgcc_s.so.1 $RPM_BUILD_ROOT%{libsubdir}/32/libgcc_s.so ln -s /lib/libgcc_s.so.1 $RPM_BUILD_ROOT%{libsubdir}/32/libgcc_s_32.so %else ln -s /lib64/libgcc_s.so.1 $RPM_BUILD_ROOT%{libsubdir}/64/libgcc_s.so ln -s /lib64/libgcc_s.so.1 $RPM_BUILD_ROOT%{libsubdir}/64/libgcc_s_64.so %endif %endif popd %post %if !%{gcc33_for_bp} %install_info --info-dir=%{_infodir} %{_infodir}/g77.info.gz %endif %postun %if !%{gcc33_for_bp} %install_info_delete --info-dir=%{_infodir} %{_infodir}/g77.info.gz %endif %files %defattr(-,root,root) %dir %{gcclibdir} %dir %{gcclibdir}/%{GCCDIST} # Beware! We package the whole libsubdir into this g77 rpm # If we ever create a gcc33 package, we needs to split this away again. #%dir %{libsubdir} #%dir %{libsubdir}/include %{_prefix}/bin/g77 %{_prefix}/bin/f77 #%{libsubdir}/f771 #%{libsubdir}/include/g2c.h %{libsubdir} %{_libdir}/libfrtbegin.a %{_libdir}/libg2c.a %{_libdir}/libg2c.la %{_libdir}/libg2c.so %{_libdir}/libg2c.so.* %if %{build_nof} %{nofpath}/libfrtbegin.a %{nofpath}/libg2c.a %{nofpath}/libg2c.la %{nofpath}/libg2c.so %{nofpath}/libg2c.so.* %endif %if %{biarch} %if %{build_primary_64bit} %{_prefix}/lib/libfrtbegin.a %{_prefix}/lib/libg2c.a %{_prefix}/lib/libg2c.la %{_prefix}/lib/libg2c.so %{_prefix}/lib/libg2c.so.* %else %ifnarch sparc ppc %{_prefix}/lib64/libfrtbegin.a %{_prefix}/lib64/libg2c.a %{_prefix}/lib64/libg2c.la %{_prefix}/lib64/libg2c.so %{_prefix}/lib64/libg2c.so.* %endif %endif %endif %doc %{_infodir}/g77.info*.gz %doc %{_mandir}/man1/g77.1.gz %changelog -n compat-g77 * Thu Jan 18 2007 - rguenther@suse.de - Provide .so links to libgcc_s [#218406]. - Package cc1 which is used for preprocessing [#127745]. * Mon Mar 06 2006 - schwab@suse.de - Update build check. * Fri Feb 24 2006 - matz@suse.de - Recognize shared libgcc_s support also for ppc. [#153290] * Thu Jan 26 2006 - sbrabec@suse.cz - Added %%install_info_prereq. * Wed Jan 25 2006 - mls@suse.de - converted neededforbuild to BuildRequires * Sat Jan 14 2006 - kukuk@suse.de - Fix for new rpm * Mon Aug 29 2005 - matz@suse.de - Created package.
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor