%define EGCS_VERSION 1.0.1 %define SOURCEURL ftp://ftp.cygnus.com/pub/egcs/releases/egcs-1.0.1/egcs-1.0.1.tar.gz # The name of the directory underneath /usr/egcs/lib/gcc-lib/[target] that # this builds for. # EGCS-1.0.1 %define FULLVER egcs-2.90.23 %define LIBSTDCPPRELEASE 1 Summary: Experimental GNU Compiler System Name: egcs Version: %{EGCS_VERSION} Release: 1 Copyright: GPL Group: Development/Languages Source: %{SOURCEURL} Patch0: egcs-1.0-ppc.patch Patch1: egcs-1.0-make.patch BuildRoot: /tmp/egcs-root URL: http://www.cygnus.com/egcs/ Requires: binutils %description A compiler aimed at integrating all the optimizations and features necessary for a high-performance and stable development environment. %package c++ Summary: C++ support for gcc Group: Development/Languages Requires: egcs = %{EGCS_VERSION} %description c++ C++ support for gcc %package objc Summary: Objective C support for gcc Group: Development/Languages Requires: egcs = %{EGCS_VERSION} %description objc Objective C support for gcc %package g77 Summary: Fortran 77 support for gcc Group: Development/Languages Requires: egcs = %{EGCS_VERSION} %description g77 Fortran 77 support for gcc %package -n libstdc++ Summary: GNU c++ library Group: Libraries Version: 2.8.0 Release: %{LIBSTDCPPRELEASE} %description -n libstdc++ This is the GNU implementation of the standard C++ libraries, along with additional GNU tools. This package includes the shared libraries necessary to run C++ applications. %package -n libstdc++-devel Summary: Header files and libraries for C++ development Group: Development/Libraries Version: 2.8.0 Requires: libstdc++ = 2.8.0-%{LIBSTDCPPRELEASE} %description -n libstdc++-devel This is the GNU implementation of the standard C++ libraries. This package includes the header files and libraries needed for C++ development. %changelog * Thu Jan 22 1998 Keisuke Fujii - Use official EGCS-1.0.1 release. - Changed prefix to /usr/egcs * Sun Jan 4 1998 Gary Thomas - Added EGCS-1.0.1 patches - Small changes for installing in current GLIBC-2.0 systems - Fix problem with Makefile - not building C++ include directory in the RPM root directory (only a problem for RPM packaging) * Tue Dec 02 1997 Elliot Lee - Took off egcs- prefix for /usr/bin/* files, seeing as this works well enough to be system compiler. - Miscellaneous fixups for the release (make it do 'make bootstrap', etc. etc.) * Wed Nov 26 1997 Elliot Lee - Updated version, split libstdc++ into a separate package, etc. * Fri Nov 14 1997 Elliot Lee - Added dependencies - Added "egcs-" to prefix all /usr/bin/* files. %prep # Notes: # the nof %setup %patch1 -p1 %ifarch ppc %patch0 -p1 %endif %build %ifarch i386 %define GCCARCH i386 %define GCCDIR %{GCCARCH}-linux %endif %ifarch axp %define GCCARCH alpha %define GCCDIR %{GCCARCH}-linux %endif %ifarch sparc %define GCCARCH sparc %define GCCDIR %{GCCARCH}-linux %endif %ifarch ppc %define GCCARCH ppc %define GCCDIR powerpc-unknown-linux-gnulibc1 %endif %ifarch ppc # I want some different options CFLAGS="$RPM_OPT_FLAGS" ./configure \ --prefix=/usr/egcs --with-gxx-include-dir=/usr/egcs/include/g++ \ --enable-shared --enable-haifa %else CFLAGS="$RPM_OPT_FLAGS" ./configure --enable-threads=posix \ --prefix=/usr/egcs --with-gxx-include-dir=/usr/egcs/include/g++ \ --enable-shared \ %{GCCDIR} %endif make #bootstrap %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/usr/egcs/info $RPM_BUILD_ROOT/lib make prefix=$RPM_BUILD_ROOT/usr/egcs \ gxx_include_dir=$RPM_BUILD_ROOT/usr/egcs/include/g++ install strip $RPM_BUILD_ROOT/usr/egcs/bin/* gzip -n -9f $RPM_BUILD_ROOT/usr/egcs/info/*.info* ln -sf gcc $RPM_BUILD_ROOT/usr/egcs/bin/cc ln -sf cccp.1 $RPM_BUILD_ROOT/usr/egcs/man/man1/cpp.1 ln -sf ../usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/cpp $RPM_BUILD_ROOT/lib/cpp-egcs strip \ $RPM_BUILD_ROOT/usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/{cc1,cc1obj,cc1plus,cpp,f771,ld} ln -s g77 $RPM_BUILD_ROOT/usr/egcs/bin/f77 %clean rm -rf $RPM_BUILD_ROOT %post -n libstdc++ -p /sbin/ldconfig %postun -n libstdc++ -p /sbin/ldconfig %files %doc README* COPYING COPYING.LIB %dir /usr/egcs/lib/gcc-lib %dir /usr/egcs/lib/gcc-lib/%{GCCDIR} %dir /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER} %dir /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include /usr/egcs/bin/%{GCCDIR}-gcc /usr/egcs/bin/gcc /usr/egcs/bin/cc /usr/egcs/bin/gcov /usr/egcs/bin/protoize /usr/egcs/bin/unprotoize /lib/cpp-egcs /usr/egcs/man/man1/cpp.1 /usr/egcs/man/man1/cccp.1 /usr/egcs/man/man1/gcc.1 /usr/egcs/info/cpp.info*.gz /usr/egcs/info/gcc.info*.gz /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/SYSCALLS.c.X /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/cc1 /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/cpp /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/libgcc.a /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/specs /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/crtbegin.o /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/crtbeginS.o /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/crtend.o /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/crtendS.o /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/ld %ifarch ppc /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/nof /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/ecrti.o /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/ecrtn.o /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/scrt0.o /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/scrti.o /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/scrtn.o %endif /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/README /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/float.h /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/iso646.h /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/limits.h /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/proto.h /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/stdarg.h /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/stddef.h /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/syslimits.h /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/va-*.h /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/varargs.h %ifarch ppc /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/%{GCCARCH}-asm.h %endif %files c++ /usr/egcs/man/man1/g++.1 /usr/egcs/bin/g++ /usr/egcs/bin/c++ /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/cc1plus /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/exception /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/new /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/typeinfo /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/new.h %ifarch ppc /usr/egcs/lib/nof %endif %files objc /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/cc1obj /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/libobjc.a /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/objc %files g77 /usr/egcs/bin/g77 /usr/egcs/bin/f77 /usr/egcs/info/g77.info*.gz /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/f771 /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/libf2c.a /usr/egcs/lib/gcc-lib/%{GCCDIR}/%{FULLVER}/include/f2c.h /usr/egcs/lib/libf2c.a %files -n libstdc++-devel /usr/egcs/include/g++ /usr/egcs/lib/libstdc++.a /usr/egcs/lib/libstdc++.so %ifarch ppc /usr/egcs/lib/nof/libstdc++.a /usr/egcs/lib/nof/libstdc++.so %endif %files -n libstdc++ /usr/egcs/lib/libstdc++.so.2.8.0 %ifarch ppc /usr/egcs/lib/nof/libstdc++.so.2.8.0 %endif