info:egcs.spec -devel

Wojtek Slusarczyk wojtek w SHADOW.EU.ORG
Śro, 9 Wrz 1998, 18:17:32 CEST


Hej,

Wymeczylem wlasnie egcsa i teraz kompiluje czesc aplikacji pod nowymi
libstdc++... Tzn. eMusic, lftp, sgml-tools, ncurses - nr. rewizji nie
zostana zmienione. Jak skoncze biore sie za rpmy Ziemka...
Prosze zastanowcie sie dobrze nad tym egcsem -> to jest landara ktorej nie
moge w kolko kompilowac ..;)

%define EGCS_VERSION 1.1
%define STDC_VERSION 2.9.0
Summary: Experimental GNU Compiler System
Summary(pl): Eksperymentalny kompilator z GNU
Name: egcs
Version: %{EGCS_VERSION}
Release: 1d
Copyright: GPL
Group: Development/Languages
Source: egcs-%{EGCS_VERSION}b.tar.gz
BuildRoot: /var/tmp/%{name}-%{EGCS_VERSION}-%{release}-root
Url: http://egcs.cygnus.com/
Requires: binutils >= 2.9.1.0.1
Obsoletes: gcc
Provides: gcc cpp

%description
A compiler aimed at integrating all the optimizations and features
necessary for a high-performance and stable development environment.

%description -l pl
Doskonały kompilator, posiadający duże możliwości optymalizacyjne.
Przeznaczony jest głównie dla osób zajmujących sie programowaniem 
w językach C, C++, C-obj., jak również dla osób mających ochotę np.
przekompilować sobie jądro ;)   

%package c++
Summary: C++ support for gcc
Group: Development/Languages
Summary: Wspomaganie C++ dla kompilatora gcc
Requires: egcs = %{EGCS_VERSION}
Obsoletes: gcc-c++
Summary(fr): Support C++ pour le compilateur gcc.
Summary(tr): gcc için C++ desteđi

%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 a standard C++ library, which
is available separately.

%description -l pl c++
Ten pakiet wspomaga GNU kompilator C. Posiada wspomaganie dla dużej ilości
obecnych specyfikacji C++, nie posiada natomiast standardowych bibliotek C++,
które są osiągalne w odzielnym pakiecie. 

%package objc
Summary: Objective C support for gcc
Summary: Wspomaganic objektowego C dla kompilatora gcc
Group: Development/Languages
Requires: egcs = %{EGCS_VERSION}
Obsoletes: gcc-objc
Summary(de): Objektive C-Unterstützung für gcc
Summary(fr): Gestion d'Objective C pour gcc
Summary(tr): gcc için Objective C desteđi

%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.

%description -l pl objc
Ten pakiet jest wsparciem objektowego C dla kompiltatora gcc. 
W pakiecie nie ma jeszcze bibliotek C-obj.

%package g77
Summary: Fortran 77 support for gcc
Summary(pl): Wspomaganie Fortran 77 dla gcc
Group: Development/Languages
Requires: egcs = %{EGCS_VERSION}

%description g77
This apckage adds support for compiling Fortran 77 programs with the GNU
compiler.

%description -l pl g77
Ten pakiet jets wspomaganiem Fortran 77 dla kompilatora gcc.
Jest użyteczny kompilowania programów pisanych w języku Fortran 77.

%package -n libstdc++
Summary: GNU c++ library
Summary(pl): Biblioteki GNU C++ 
Group: Libraries
Version: %{STDC_VERSION}
%ifnarch i386
Obsoletes: libg++
%endif

%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.

%description -l pl -n libstdc++  
Pakiet ten zawiera biblioteki będące inplementacją standardowych
bibliotek C++, znajdują się w nim biblioteki dynamiczne niezbędne
do uruchomienia aplikacji C++.

%package -n libstdc++-devel
Summary: Header files and libraries for C++ development
Group: Development/Libraries
Version: %{STDC_VERSION}
Requires: libstdc++ = %{STDC_VERSION}
Obsoletes: libg++-devel
Summary(de): Header-Dateien und Libraries zur Entwicklung mit C++
Summary(fr): Fichiers d'en-tęte et biblitothčques pour développer en C++.
Summary(tr): C++ ile program geliţtirmek için gerekli dosyalar

%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.

%description -l pl -n libstdc++-devel
Pakiet ten zawiera biblioteki będące inplementacją standardowych
bibliotek C++, znajdują się w nim biblioteki i pliki nagłówków 
wykorzystywane do programowaniaw języku C++.

%description -l de objc
Dieses Paket ergänzt den GNU-C-Compiler durch Objective-C-Support. Objective
C ist ein objektorientiertes Derivat von C, das zur Hauptsache auf Systemen mit
NeXTSTEP zum Einsatz kommt. Die Standard-Objective-C-Objekt-Library
ist nicht Teil des Pakets.

%description -l de c++
Dieses Paket enthält die C++-Unterstützung für den GNU-C-Compiler. Es
unterstützt die aktuelle C++-Spezifikation, inkl. Templates und
Ausnahmeverarbeitung. Eine C++-Standard-Library ist nicht enthalten - sie ist
getrennt erhältlich.

%description -l de -n libstdc++
Dies ist die GNU-Implementierung der Standard-C++-Libraries mit
weiteren GNU-Tools.
Dieses Paket enthält die zum Ausführen von C++-Anwendungen
erforderlichen gemeinsam genutzten Libraries.

%description -l fr objc
Ce package ajoute un support Objective C au compilateur C GNU.
L'Objective C est un langage orienté objetdérivé du langage C,
principalement utilisé sur les systčmes NeXTSTEP. Ce package n'inclue
pas la bibliothéque Objective C standard.

%description -l fr c++
Ce package ajoute un support C++ au compilateur c GNU. Il comprend un
support pour la plupart des spécifications actuelles de C++, dont les 
modéles et la gestion des exceptions. Il ne comprend pas une bibliothéque
C++ standard, qui est disponible séparément.

%description -l fr -n libstdc++
Ceci est l'implémentation GNU des librairies C++ standard, ainsi
que des outils GNU supplémentaires.
Ce package comprend les librairies partagées nécessaires ŕ
l'exécution d'application C++.

%description -l tr objc
Bu paket, GNU C derleyicisine Objective C desteđi ekler. Objective C,
C dilinin nesne yönelik bir türevidir ve NeXTSTEP altýnda çalýţan sistemlerde
yaygýn olarak kullanýlýr. Standart Objective C nesne kitaplýđý bu pakette yer
almaz.

%description -l tr c++
Bu paket, GNU C derleyicisine C++ desteđi ekler. 'Template'ler ve aykýrý durum
iţleme gibi çođu güncel C++ tanýmlarýna uyar. Standart C++ kitaplýđý bu
pakette yer almaz.

%description -l tr -n libstdc++
Bu paket, standart C++ kitaplýklarýnýn GNU gerçeklemesidir ve C++
uygulamalarýnýn koţturulmasý için gerekli kitaplýklarý içerir.

%prep
%setup -q -n %{name}-%{EGCS_VERSION}b

%build
rm -rf obj-$RPM_ARCH-linux
mkdir obj-$RPM_ARCH-linux
cd obj-$RPM_ARCH-linux
../configure  --prefix=/usr \
	--enable-shared --enable-threads \
	$RPM_ARCH-pld-linux

PATH=$PATH:/sbin:/usr/sbin
# gperf is most likely broken on alpha and sparc 
touch  ../gcc/c-gperf.h
make MAKEINFO="makeinfo --no-split"  bootstrap-lean

%install
rm -rf $RPM_BUILD_ROOT
cd obj-$RPM_ARCH-linux
PATH=$PATH:/sbin:/usr/sbin
make prefix=$RPM_BUILD_ROOT/usr MAKEINFO="makeinfo --no-split" install
# get rid of the texinfo crap
make prefix=$RPM_BUILD_ROOT/usr -C texinfo uninstall
FULLVER=`$RPM_BUILD_ROOT/usr/bin/$RPM_ARCH-pld-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
mv $RPM_BUILD_ROOT/usr/bin/$RPM_ARCH-pld-linux*-gcc $RPM_BUILD_ROOT/usr/bin/$RPM_ARCH-pld-linux-egcs
ln $RPM_BUILD_ROOT/usr/bin/$RPM_ARCH-pld-linux-egcs $RPM_BUILD_ROOT/usr/bin/egcs
ln -sf gcc $RPM_BUILD_ROOT/usr/bin/cc
ln $RPM_BUILD_ROOT/usr/man/man1/gcc.1 $RPM_BUILD_ROOT/usr/man/man1/egcs.1

rm -f $RPM_BUILD_ROOT/usr/info/dir
sed "s/ gcc.info,/ egcs.info,/g" < $RPM_BUILD_ROOT/usr/info/gcc.info > $RPM_BUILD_ROOT/usr/info/egcs.info
gzip -n -9f $RPM_BUILD_ROOT/usr/info/*.info* 

ln -sf g77.1 $RPM_BUILD_ROOT/usr/man/man1/f77.1
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

%ifarch ppc
ln -sf libstdc++.so.2.9.0 ${RPM_BUILD_ROOT}/usr/lib/nof/libstdc++.so.2.9
%endif

%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

%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
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

%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

%post -p /sbin/ldconfig -n libstdc++

%postun -p /sbin/ldconfig -n libstdc++

%files
%defattr(0644, root, root, 755)
%doc README* COPYING COPYING.LIB
%dir /usr/lib/gcc-lib
%dir /usr/lib/gcc-lib/%{buildarch}-pld-linux
%dir /usr/lib/gcc-lib/%{buildarch}-pld-linux*/egcs-*
%dir /usr/lib/gcc-lib/%{buildarch}-pld-linux*/egcs-*/include
%attr(0711, root, root) /usr/bin/%{buildarch}-pld-linux-egcs
%attr(0711, root, root) /usr/bin/egcs
%attr(0711, root, root) /usr/bin/gcov
%attr(0711, root, root) /usr/bin/protoize
%attr(0711, root, root) /usr/bin/unprotoize

%attr(0711, root, root) /usr/bin/gcc
%attr(0711, root, root) /usr/bin/cc
%attr(0644, root, man) /usr/man/man1/gcc.1
/usr/info/gcc*

/lib/cpp
%attr(0644, root, man) /usr/man/man1/cpp.1
%attr(0644, root, man) /usr/man/man1/cccp.1
/usr/info/cpp.info*.gz
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/SYSCALLS.c.X
%attr(0711, root, root) /usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/cc1
%attr(0711, root, root) /usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/cpp
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/libgcc.a
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/specs

%ifnarch alpha
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/*.o
%endif

/usr/%{buildarch}-pld-linux
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/collect2

%ifarch ppc
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/nof
%endif

/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/README
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/float.h
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/iso646.h
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/limits.h
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/proto.h
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/stdarg.h
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/stdbool.h
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/stddef.h
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/syslimits.h
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/va-*.h
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/varargs.h
%ifarch ppc
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/*-asm.h
%endif

%files c++
%attr(0644, root, man) /usr/man/man1/g++.1
%attr(0711, root, root) /usr/bin/g++
%attr(0711, root, root) /usr/bin/c++
%attr(0711, root, root) /usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/cc1plus
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/exception
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/new
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/typeinfo
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/new.h
%ifarch ppc
/usr/lib/nof
%endif

%files objc
%defattr(0644, root, root, 755)
%attr(0711, root, root) /usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/cc1obj
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/libobjc.a
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/include/objc

%files g77
%defattr(0644, root, root, 755)
%attr(0711, root, root) /usr/bin/g77
%attr(0711, root, root) /usr/bin/f77
/usr/info/g77*
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/f771
/usr/lib/gcc-lib/%{buildarch}-pld-linux/egcs-*/libg2c.a
%attr(0644, root, man) /usr/man/man1/g77.1
%attr(0644, root, man) /usr/man/man1/f77.1
/usr/lib/gcc-lib/*-pld-linux/egcs-*/include/g2c.h

%files -n libstdc++-devel
%defattr(0644, root, root, 755)
/usr/include/g++
/usr/lib/libstdc++.a
%attr(0755, root, root) /usr/lib/libstdc++.so
%ifarch ppc
/usr/lib/nof/libstdc++.a
%attr(0755, root, root) /usr/lib/nof/libstdc++.so
%endif

%files -n libstdc++
%attr(0755, root, root) /usr/lib/libstdc++.so.%{STDC_VERSION}
%ifarch ppc
%attr(0755, root, root) /usr/lib/nof/libstdc++.so.*
%endif

%changelog
* Sun Sep 05 1998 Wojtek Slusarczyk <wojtek w shadow.eu.org>
[1.1-1d]
- updated to 1.1b.
(based on Vu Hung Quan <binaire w binaire.ml.org> spec),
- fixed permissions of ELF binaries,
- build from non root's account.

* Thu Jul 16 1998 Wojtek Slusarczyk <wojtek w shadow.eu.org>
[1.0.3-2d]
- changed 1.0.3a to 1.0.3,
- translation modified for pl, 
- build against glibc-2.1,
- added egcs.patch,
- added -q parameter to %setup.

* Sun May 31 1998 Arne Coucheron <arneco w online.no>
- released 1.0.3a-1
- using %%{name} and %%{version} macros
- added -q parameter to %setup
- using %defattr in %files to allow non-root users to build
- libstdc++ is not being packaged, newer versions are available as
  separate packages, so use them instead
- lots of changes to the spec file




Wojciech Slusarczyk (091)4494148
Technical University of Szczecin
PGP KeyServer pgpkeys.mit.edu



Więcej informacji o liście dyskusyjnej pld-devel-pl