]> git.pld-linux.org Git - packages/crossdjgpp-gcc.git/blame - crossdjgpp-gcc.spec
- tabs in preamble
[packages/crossdjgpp-gcc.git] / crossdjgpp-gcc.spec
CommitLineData
700e54f8 1Summary: DJGPP GNU binary utility development utilities - gcc
a51aef27
ER
2Summary(es.UTF-8): Utilitarios para desarrollo de binarios de la GNU - DJGPP gcc
3Summary(fr.UTF-8): Utilitaires de développement binaire de GNU - DJGPP gcc
4Summary(pl.UTF-8): Skrośne narzędzia programistyczne GNU dla DJGPP - gcc
5Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - DJGPP gcc
6Summary(tr.UTF-8): GNU geliştirme araçları - DJGPP gcc
193f5d1d 7Name: crossdjgpp-gcc
ce4c8eb6 8Version: 3.3.2
ffeb68f4 9Release: 2
193f5d1d
MM
10Epoch: 1
11License: GPL
12Group: Development/Languages
0a2860ff 13Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
67ea34fb 14# Source0-md5: 65999f654102f5438ac8562d13a6eced
193f5d1d
MM
15BuildRequires: crossdjgpp-platform
16BuildRequires: crossdjgpp-binutils
17BuildRequires: flex
18BuildRequires: bison
19BuildRequires: autoconf
20BuildRequires: /bin/bash
21Requires: crossdjgpp-binutils
22Requires: crossdjgpp-platform
ffeb68f4 23Requires: gcc-dirs
193f5d1d
MM
24BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25
26%define cxx 0
27%define target i386-pc-msdosdjgpp
193f5d1d 28%define arch %{_prefix}/%{target}
e88f47e4
JB
29%define gccarch %{_libdir}/gcc-lib/%{target}
30%define gcclib %{_libdir}/gcc-lib/%{target}/%{version}
d852c597 31%define no_install_post_strip 1
32
193f5d1d 33%description
846c0d7b
JB
34DJGPP is a port of GNU GCC to the DOS environment. (It stands for DJ's
35Gnu Programming Platform, if it has to stand for something, but it's
36best left ambiguous.)
193f5d1d
MM
37
38This package contains cross targeted gcc.
39
4472e128 40%description -l de.UTF-8
41Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
42anderem Rechner Code für DOS zu generieren.
700e54f8 43
4472e128 44%description -l pl.UTF-8
45DJGPP to port GNU GCC dla środowiska DOS (skrót oznacza DJ's Gnu
46Programming Platform, jeśli już koniecznie ma coś oznaczać).
846c0d7b 47
4472e128 48Ten pakiet zawiera gcc generujące skrośnie kod dla DOS.
846c0d7b 49
193f5d1d
MM
50%package c++
51Summary: DJGPP GNU Binary Utility Development Utilities - g++
a51aef27 52Summary(pl.UTF-8): Narzędzia programistyczne GNU DJGPP - g++
193f5d1d 53Group: Development/Languages
e88f47e4 54Requires: %{name} = %{epoch}:%{version}-%{release}
193f5d1d
MM
55
56%description c++
846c0d7b
JB
57DJGPP is a port of GNU GCC to the DOS environment. (It stands for DJ's
58Gnu Programming Platform, if it has to stand for something, but it's
59best left ambiguous.)
193f5d1d
MM
60
61This package contains cross targeted g++ and (static) libstdc++.
846c0d7b 62
4472e128 63%description c++ -l pl.UTF-8
64DJGPP to port GNU GCC dla środowiska DOS (skrót oznacza DJ's Gnu
65Programming Platform, jeśli już koniecznie ma coś oznaczać).
846c0d7b 66
4472e128 67Ten pakiet zawiera g++ skompilowane jako kompilator skrośny oraz
846c0d7b 68(statyczne) libstdc++.
193f5d1d
MM
69
70# does this even work?
71%package g77
72Summary: DJGPP GNU Binary Utility Development Utilities - g77
a51aef27 73Summary(pl.UTF-8): Narzędzia programistyczne GNU DJGPP - g77
193f5d1d 74Group: Development/Languages
e88f47e4 75Requires: %{name} = %{epoch}:%{version}-%{release}
193f5d1d
MM
76
77%description g77
846c0d7b
JB
78DJGPP is a port of GNU GCC to the DOS environment. (It stands for DJ's
79Gnu Programming Platform, if it has to stand for something, but it's
80best left ambiguous.)
193f5d1d
MM
81
82This package contains cross targeted g77.
83
4472e128 84%description g77 -l pl.UTF-8
85DJGPP to port GNU GCC dla środowiska DOS (skrót oznacza DJ's Gnu
86Programming Platform, jeśli już koniecznie ma coś oznaczać).
846c0d7b 87
4472e128 88Ten pakiet zawiera g77 skompilowane jako kompilator skrośny.
846c0d7b 89
193f5d1d 90%prep
04e3452f 91%setup -q -n gcc-%{version}
193f5d1d
MM
92
93%build
366e0a60 94rm -rf obj-%{target}
193f5d1d 95install -d obj-%{target}
366e0a60 96cd obj-%{target}
193f5d1d
MM
97
98CFLAGS="%{rpmcflags}" \
99CXXFLAGS="%{rpmcflags}" \
100TEXCONFIG=false ../configure \
101 --prefix=%{_prefix} \
102 --infodir=%{_infodir} \
103 --mandir=%{_mandir} \
e88f47e4
JB
104 --bindir=%{_bindir} \
105 --libdir=%{_libdir} \
106 --libexecdir=%{_libdir} \
193f5d1d
MM
107 --disable-shared \
108 --enable-haifa \
dd68ed85 109 --enable-languages="c,f77" \
193f5d1d
MM
110 --enable-long-long \
111 --enable-namespaces \
112 --with-gnu-as \
113 --with-gnu-ld \
114 --with-system-zlib \
115 --with-multilib \
116 --without-x \
117 --target=%{target}
118
119# kluge, we already have full system headers and libraries ready,
120# needed to get right limits.h
121cd gcc
846c0d7b
JB
122cp -f Makefile Makefile.new
123sed -e "s|^SYSTEM_HEADER_DIR.*|SYSTEM_HEADER_DIR := %{_prefix}/%{target}/include|" \
193f5d1d
MM
124 Makefile.new > Makefile
125rm -f Makefile.new
126cd ..
127
128# YAK (Yet Another Kluge) :<
129cd ../libstdc++-v3
846c0d7b 130cp -f configure configure.tmp
193f5d1d
MM
131# don't use newlib, we want djgpp
132sed -e 's|os_include_dir="config/os/newlib"|#&|' configure.tmp > configure
133cd ../obj-%{target}
04e3452f 134# sigh... it still doesn't work, produces sth<char> in assembly
193f5d1d
MM
135
136PATH=$PATH:/sbin:%{_sbindir}
137
138cd ..
139#LDFLAGS_FOR_TARGET="%{rpmldflags}"
140
141%{__make} -C obj-%{target}
366e0a60 142
193f5d1d
MM
143%install
144rm -rf $RPM_BUILD_ROOT
e88f47e4 145install -d $RPM_BUILD_ROOT{%{_datadir},%{_bindir}}
193f5d1d
MM
146
147cd obj-%{target}
148PATH=$PATH:/sbin:%{_sbindir}
149
150%{__make} -C gcc install \
d852c597 151 prefix=%{_prefix} \
152 mandir=%{_mandir} \
153 infodir=%{_infodir} \
154 gxx_include_dir=%{arch}/include/g++ \
193f5d1d
MM
155 DESTDIR=$RPM_BUILD_ROOT
156
157# c++filt is provided by binutils
158#rm -f $RPM_BUILD_ROOT%{_bindir}/i386-djgpp-c++filt
159
160# what is this there for???
161rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
162
163# the same... make hardlink
164#ln -f $RPM_BUILD_ROOT%{arch}/bin/gcc $RPM_BUILD_ROOT%{_bindir}/%{target}-gcc
165
846c0d7b 166%{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcc.a
193f5d1d
MM
167
168%clean
169rm -rf $RPM_BUILD_ROOT
170
171%files
172%defattr(644,root,root,755)
173%attr(755,root,root) %{_bindir}/%{target}-gcc
174%attr(755,root,root) %{_bindir}/%{target}-cpp
175#%dir %{arch}/bin
176#%attr(755,root,root) %{arch}/bin/cpp
177#%attr(755,root,root) %{arch}/bin/gcc
178#%attr(755,root,root) %{arch}/bin/gcov
3043e2d7 179#%%{arch}/include/_G_config.h
193f5d1d
MM
180%dir %{gccarch}
181%dir %{gcclib}
182%attr(755,root,root) %{gcclib}/cc1
d852c597 183#%attr(755,root,root) %{gcclib}/tradcpp0
184#%attr(755,root,root) %{gcclib}/cpp0
193f5d1d 185%attr(755,root,root) %{gcclib}/collect2
3043e2d7 186#%%{gcclib}/SYSCALLS.c.X
193f5d1d
MM
187%{gcclib}/libgcc.a
188%{gcclib}/specs*
189%dir %{gcclib}/include
190%{gcclib}/include/*.h
3043e2d7 191#%%{gcclib}/include/iso646.h
192#%%{gcclib}/include/limits.h
193#%%{gcclib}/include/proto.h
194#%%{gcclib}/include/stdarg.h
195#%%{gcclib}/include/stdbool.h
196#%%{gcclib}/include/stddef.h
197#%%{gcclib}/include/syslimits.h
198#%%{gcclib}/include/varargs.h
199#%%{gcclib}/include/va-*.h
193f5d1d
MM
200%{_mandir}/man1/%{target}-gcc.1*
201
202%if %{cxx}
203%files c++
204%defattr(644,root,root,755)
205%attr(755,root,root) %{_bindir}/%{target}-[cg]++
206%{arch}/include/g++
207%{arch}/lib/libstdc++.a
208%attr(755,root,root) %{gcclib}/cc1plus
209%{gcclib}/libstdc++*
210%{gcclib}/include/new.h
211%{gcclib}/include/exception
212%{gcclib}/include/new
213%{gcclib}/include/typeinfo
214%{_mandir}/man1/%{target}-g++.1*
215%endif
216
217%files g77
218%defattr(644,root,root,755)
219%attr(755,root,root) %{_bindir}/%{target}-g77
220%attr(755,root,root) %{gcclib}/f771
221%{_mandir}/man1/%{target}-g77.1*
This page took 0.137865 seconds and 4 git commands to generate.