pkg://egcs-rhcn-1.1.2-1.src.rpm:8938978/egcs-rhcn-1.1.2-1.spec
info downloads
%define EGCS_VERSION 1.1.2
%define STDC_VERSION 2.9.0
Summary: egcs compilation system
Name: egcs-rhcn
Version: %{EGCS_VERSION}
Release: 1
Copyright: GPL
Group: Development/Languages
Source: ftp://egcs.cygnus.com/pub/egcs/releases/egcs-%{EGCS_VERSION}/egcs-%{EGCS_VERSION}.tar.bz2
URL: http://egcs.cygnus.com/
Packager: Red Hat Contrib|Net <rhcn-bugs@redhat.com>
Distribution: Red Hat Contrib|Net
BuildRoot: /var/tmp/egcs
Requires: binutils >= 2.8.1.0.1
Obsoletes: gcc egcs
Provides: gcc cpp
%description
This package contains the x86 native egcs C compiler and the corressponding
libraries.
egcs is a collaborative effort involving several groups of hackers using an
open development model to accelerate development and testing of GNU compilers
and runtime libraries. egcs-%{EGCS_VERSION} is based on the June 6, 1998
snapshot of the gcc-2.8 development sources; it contains all of the new
features found in gcc-2.8.1 as well as all new development from gcc2 up to June
6, 1998.
%package c++
Summary: C++ support for gcc
Group: Development/Languages
Requires: egcs-rhcn = %{EGCS_VERSION}
Obsoletes: gcc-c++ egcs-c++
%description c++
This package adds C++ support to the GNU C compiler. It includes support
for most of the current C++ specification, including templates and
exception handling. It does not include the standard C++ library.
%package libstdc++
Summary: GNU c++ library
Group: Libraries
Obsoletes: libg++ libstdc++ libstdc++-rhcn
%description 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 libstdc++-devel
Summary: Header files and libraries for C++ development
Group: Development/Libraries
Obsoletes: libg++-devel libstdc++-devel libstdc++-rhcn-devel
%description libstdc++-devel
This is the GNU implementation of the standard C++ libraries. This
package includes the header files and libraries needed for C++
development.
%package objc
Summary: Objective C support for gcc
Group: Development/Languages
Requires: egcs-rhcn = %{EGCS_VERSION}
Obsoletes: gcc-objc egcs-objc
%description objc
This package adds Objective C support to the GNU C compiler. Objective
C is a object oriented derivative of the C language, mainly used on
systems running NeXTSTEP. This package does not include the standard
objective C object library.
%package g77
Summary: Fortran 77 support for gcc
Group: Development/Languages
Requires: egcs-rhcn = %{EGCS_VERSION}
Obsoletes: egcs-g77
%description g77
This package adds support for compiling Fortran 77 programs with the GNU
compiler.
%prep
%setup -q -n egcs-%{EGCS_VERSION}
%build
rm -fr obj-${RPM_ARCH}-linux
mkdir obj-${RPM_ARCH}-linux
cd obj-${RPM_ARCH}-linux
CFLAGS="$RPM_OPT_FLAGS" ../configure --prefix=/usr \
--enable-{shared,haifa,threads} \
--host=${RPM_ARCH}-redhat-linux
make MAKEINFO="makeinfo --no-split" bootstrap-lean
# FIXME
# The bootstrap-lean target generates some info files, but not all
# First, try the info target (makes iostream.info)
make MAKEINFO="makeinfo --no-split" info
# The others....
make MAKEINFO="makeinfo --no-split" gcc/cp/g++FAQ.info gcc/cp/gxxint.info
%install
rm -fr $RPM_BUILD_ROOT
cd obj-${RPM_ARCH}-linux
make MAKEINFO="makeinfo --no-split" prefix=$RPM_BUILD_ROOT/usr install
# FIXME
# Some info files are not installed
install -m 755 -d $RPM_BUILD_ROOT/usr/info
(cd gcc/cp; for i in g++FAQ.info*; do
install -m 644 $i $RPM_BUILD_ROOT/usr/info/$i
done)
(cd gcc/cp; for i in gxxint.info*; do
install -m 644 $i $RPM_BUILD_ROOT/usr/info/$i
done)
(cd $RPM_ARCH-redhat-linux/libio; for i in iostream.info*; do
install -m 644 $i $RPM_BUILD_ROOT/usr/info/$i
done)
# get rid of the texinfo crap
make prefix=$RPM_BUILD_ROOT/usr -C texinfo uninstall
FULLVER=`$RPM_BUILD_ROOT/usr/bin/*-*-linux*-gcc --version | \
cut -d' ' -f1`
FULLPATH=$(dirname $RPM_BUILD_ROOT/usr/lib/gcc-lib/$RPM_ARCH-*/$FULLVER/cc1)
strip $RPM_BUILD_ROOT/usr/bin/*
strip $FULLPATH/{cc1,cc1obj,cc1plus,cpp,f771,collect2}
# fix some things
ln -sf gcc $RPM_BUILD_ROOT/usr/bin/cc
rm -f $RPM_BUILD_ROOT/usr/info/dir
gzip -n -9f $RPM_BUILD_ROOT/usr/info/*.info*
ln -sf g77 $RPM_BUILD_ROOT/usr/bin/f77
mkdir -p $RPM_BUILD_ROOT/lib
ln -sf ../${FULLPATH##$RPM_BUILD_ROOT/}/cpp $RPM_BUILD_ROOT/lib/cpp
ln -sf cccp.1 $RPM_BUILD_ROOT/usr/man/man1/cpp.1
ln -sf ../../../libstdc++.so.2.9 $FULLPATH/libstdc++.so
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/install-info \
--section="Programming:" --entry="* gcc: (gcc). The GNU C compiler." \
--info-dir=/usr/info /usr/info/gcc.info.gz
/sbin/install-info \
--section="Programming:" --entry="* cpp: (cpp). The C preprocessor." \
--info-dir=/usr/info /usr/info/cpp.info.gz
%preun
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--section="Programming:" --entry="* cpp: (cpp). The C preprocessor." \
--info-dir=/usr/info /usr/info/cpp.info.gz
/sbin/install-info --delete \
--section="Programming:" --entry="* gcc: (gcc). The GNU C compiler." \
--info-dir=/usr/info /usr/info/gcc.info.gz
fi
%post c++
/sbin/install-info \
--section="Programming:" --entry="* g++ FAQ: (g++FAQ). The egcs C++ compiler FAQ." \
--info-dir=/usr/info /usr/info/g++FAQ.info.gz
/sbin/install-info \
--section="Programming:" --entry="* g++ Internals: (gxxint). The egcs C++ compiler internals." \
--info-dir=/usr/info /usr/info/gxxint.info.gz
%preun c++
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--section="Programming:" --entry="* g++ FAQ: (g++FAQ). The egcs C++ compiler FAQ." \
--info-dir=/usr/info /usr/info/g++FAQ.info.gz
/sbin/install-info --delete \
--section="Programming:" --entry="* g++ Internals: (gxxint). The egcs C++ compiler internals." \
--info-dir=/usr/info /usr/info/gxxint.info.gz
fi
%post -p /sbin/ldconfig libstdc++
%postun -p /sbin/ldconfig libstdc++
%post libstdc++-devel
/sbin/install-info \
--section="Programming:" --entry="* iostream: (iostream). The C++ I/O streams library." \
--info-dir=/usr/info /usr/info/iostream.info.gz
%preun libstdc++-devel
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--section="Programming:" --entry="* iostream: (iostream). The C++ I/O streams library." \
--info-dir=/usr/info /usr/info/iostream.info.gz
fi
%post g77
/sbin/install-info \
--section="Programming:" --entry="* g77: (g77). The GNU Fortran 77 compiler." \
--info-dir=/usr/info /usr/info/g77.info.gz
%preun g77
if [ $1 = 0 ]; then
/sbin/install-info --delete \
--section="Programming:" --entry="* g77: (g77). The GNU Fortran 77 compiler." \
--info-dir=/usr/info /usr/info/g77.info.gz
fi
%files
%defattr(-,root,root)
/usr/bin/gcc
/usr/bin/cc
/usr/bin/protoize
/usr/bin/unprotoize
/usr/bin/gcov
/usr/bin/*-*-linux*-gcc
/lib/cpp
/usr/man/man1/gcc.1
/usr/man/man1/cpp.1
/usr/man/man1/cccp.1
/usr/info/gcc*
/usr/info/cpp*
%dir /usr/lib/gcc-lib
%dir /usr/lib/gcc-lib/*-*-linux*
%dir /usr/lib/gcc-lib/*-*-linux*/egcs-*
%dir /usr/lib/gcc-lib/*-*-linux*/egcs-*/include
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/README
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/float.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/g2c.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/iso646.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/limits.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/proto.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/stdarg.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/stdbool.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/stddef.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/syslimits.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/va-*.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/varargs.h
/usr/lib/gcc-lib/*-*-linux*/egcs-*/cc1
/usr/lib/gcc-lib/*-*-linux*/egcs-*/cpp
/usr/lib/gcc-lib/*-*-linux*/egcs-*/collect2
/usr/lib/gcc-lib/*-*-linux*/egcs-*/*.o
/usr/lib/gcc-lib/*-*-linux*/egcs-*/libgcc.a
/usr/lib/gcc-lib/*-*-linux*/egcs-*/SYSCALLS.c.X
/usr/lib/gcc-lib/*-*-linux*/egcs-*/specs
%files c++
%defattr(-,root,root)
/usr/man/man1/g++.1
/usr/bin/g++
/usr/bin/c++
/usr/info/g++FAQ*
/usr/info/gxxint*
/usr/lib/gcc-lib/*-*-linux*/egcs-*/cc1plus
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/exception
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/new
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/typeinfo
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/new.h
%files libstdc++
%defattr(-,root,root)
/usr/lib/libstdc++.so.2.9.0
/usr/lib/gcc-lib/*-*-linux*/egcs-*/libstdc++.so
%files libstdc++-devel
%defattr(-,root,root)
/usr/info/iostream*
/usr/lib/gcc-lib/*-*-linux*/egcs-*/cc1plus
/usr/lib/libstdc++.a
/usr/include/g++
%files objc
%defattr(-,root,root)
/usr/lib/gcc-lib/*-*-linux*/egcs-*/cc1obj
/usr/lib/gcc-lib/*-*-linux*/egcs-*/libobjc.a
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/objc
%files g77
%defattr(-,root,root)
/usr/bin/g77
/usr/bin/f77
/usr/info/g77*
/usr/lib/gcc-lib/*-*-linux*/egcs-*/f771
/usr/lib/gcc-lib/*-*-linux*/egcs-*/libg2c.a
/usr/man/man1/g77.1
/usr/lib/gcc-lib/*-*-linux*/egcs-*/include/g2c.h
%changelog
* Mon Mar 15 1999 Arvind Sankar <arvinds@mit.edu>
- egcs 1.1.2
- add info files
- change libstdc++-rhcn to egcs-rhcn-libstdc++. Partly because RHCN doesn't
let me upload otherwise. Also, it doesn't make much sense to have a version
number of 2.9.0, since that doesn't change with egcs-1.1 releases.
* Fri Mar 12 1999 Arvind Sankar <arvinds@mit.edu>
- Create symlink in gcc-lib/*/* to libstdc++.so.2.9 (and not in /usr/lib)
* Thu Mar 11 1999 Arvind Sankar <arvinds@mit.edu>
- Changed libstdc++ back to libstdc++-rhcn
- Added a symlink libstdc++.so -> libstdc++.so.2.9 in %post for libstdc++-rhcn
* Tue Mar 09 1999 Arvind Sankar <arvinds@mit.edu>
- Changed libstdc++-rhcn to egcs-rhcn-libstdc++ etc
- Changed --host=i386-redhat-linux to $RPM_ARCH-redhat-linux
* Mon Mar 01 1999 Arvind Sankar <arvinds@mit.edu>
- First release. Most of the stuff in the spec file is the same as egcs-1.0.3
except that there is no egcs or arch-egcs in /usr/bin