]> git.pld-linux.org Git - packages/crossdjgpp-gcc.git/blob - crossdjgpp-gcc.spec
- tabs in preamble
[packages/crossdjgpp-gcc.git] / crossdjgpp-gcc.spec
1 Summary:        DJGPP GNU binary utility development utilities - gcc
2 Summary(es.UTF-8):      Utilitarios para desarrollo de binarios de la GNU - DJGPP gcc
3 Summary(fr.UTF-8):      Utilitaires de développement binaire de GNU - DJGPP gcc
4 Summary(pl.UTF-8):      Skrośne narzędzia programistyczne GNU dla DJGPP - gcc
5 Summary(pt_BR.UTF-8):   Utilitários para desenvolvimento de binários da GNU - DJGPP gcc
6 Summary(tr.UTF-8):      GNU geliştirme araçları - DJGPP gcc
7 Name:           crossdjgpp-gcc
8 Version:        3.3.2
9 Release:        2
10 Epoch:          1
11 License:        GPL
12 Group:          Development/Languages
13 Source0:        ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
14 # Source0-md5:  65999f654102f5438ac8562d13a6eced
15 BuildRequires:  crossdjgpp-platform
16 BuildRequires:  crossdjgpp-binutils
17 BuildRequires:  flex
18 BuildRequires:  bison
19 BuildRequires:  autoconf
20 BuildRequires:  /bin/bash
21 Requires:       crossdjgpp-binutils
22 Requires:       crossdjgpp-platform
23 Requires:       gcc-dirs
24 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25
26 %define         cxx             0
27 %define         target          i386-pc-msdosdjgpp
28 %define         arch            %{_prefix}/%{target}
29 %define         gccarch         %{_libdir}/gcc-lib/%{target}
30 %define         gcclib          %{_libdir}/gcc-lib/%{target}/%{version}
31 %define         no_install_post_strip   1
32
33 %description
34 DJGPP is a port of GNU GCC to the DOS environment. (It stands for DJ's
35 Gnu Programming Platform, if it has to stand for something, but it's
36 best left ambiguous.)
37
38 This package contains cross targeted gcc.
39
40 %description -l de.UTF-8
41 Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
42 anderem Rechner Code für DOS zu generieren.
43
44 %description -l pl.UTF-8
45 DJGPP to port GNU GCC dla środowiska DOS (skrót oznacza DJ's Gnu
46 Programming Platform, jeśli już koniecznie ma coś oznaczać).
47
48 Ten pakiet zawiera gcc generujące skrośnie kod dla DOS.
49
50 %package c++
51 Summary:        DJGPP GNU Binary Utility Development Utilities - g++
52 Summary(pl.UTF-8):      Narzędzia programistyczne GNU DJGPP - g++
53 Group:          Development/Languages
54 Requires:       %{name} = %{epoch}:%{version}-%{release}
55
56 %description c++
57 DJGPP is a port of GNU GCC to the DOS environment. (It stands for DJ's
58 Gnu Programming Platform, if it has to stand for something, but it's
59 best left ambiguous.)
60
61 This package contains cross targeted g++ and (static) libstdc++.
62
63 %description c++ -l pl.UTF-8
64 DJGPP to port GNU GCC dla środowiska DOS (skrót oznacza DJ's Gnu
65 Programming Platform, jeśli już koniecznie ma coś oznaczać).
66
67 Ten pakiet zawiera g++ skompilowane jako kompilator skrośny oraz
68 (statyczne) libstdc++.
69
70 # does this even work?
71 %package g77
72 Summary:        DJGPP GNU Binary Utility Development Utilities - g77
73 Summary(pl.UTF-8):      Narzędzia programistyczne GNU DJGPP - g77
74 Group:          Development/Languages
75 Requires:       %{name} = %{epoch}:%{version}-%{release}
76
77 %description g77
78 DJGPP is a port of GNU GCC to the DOS environment. (It stands for DJ's
79 Gnu Programming Platform, if it has to stand for something, but it's
80 best left ambiguous.)
81
82 This package contains cross targeted g77.
83
84 %description g77 -l pl.UTF-8
85 DJGPP to port GNU GCC dla środowiska DOS (skrót oznacza DJ's Gnu
86 Programming Platform, jeśli już koniecznie ma coś oznaczać).
87
88 Ten pakiet zawiera g77 skompilowane jako kompilator skrośny.
89
90 %prep
91 %setup -q -n gcc-%{version}
92
93 %build
94 rm -rf obj-%{target}
95 install -d obj-%{target}
96 cd obj-%{target}
97
98 CFLAGS="%{rpmcflags}" \
99 CXXFLAGS="%{rpmcflags}" \
100 TEXCONFIG=false ../configure \
101         --prefix=%{_prefix} \
102         --infodir=%{_infodir} \
103         --mandir=%{_mandir} \
104         --bindir=%{_bindir} \
105         --libdir=%{_libdir} \
106         --libexecdir=%{_libdir} \
107         --disable-shared \
108         --enable-haifa \
109         --enable-languages="c,f77" \
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
121 cd gcc
122 cp -f Makefile Makefile.new
123 sed -e "s|^SYSTEM_HEADER_DIR.*|SYSTEM_HEADER_DIR := %{_prefix}/%{target}/include|" \
124         Makefile.new > Makefile
125 rm -f Makefile.new
126 cd ..
127
128 # YAK (Yet Another Kluge) :<
129 cd ../libstdc++-v3
130 cp -f configure configure.tmp
131 # don't use newlib, we want djgpp
132 sed -e 's|os_include_dir="config/os/newlib"|#&|' configure.tmp > configure
133 cd ../obj-%{target}
134 # sigh... it still doesn't work, produces sth<char> in assembly
135
136 PATH=$PATH:/sbin:%{_sbindir}
137
138 cd ..
139 #LDFLAGS_FOR_TARGET="%{rpmldflags}"
140
141 %{__make} -C obj-%{target}
142
143 %install
144 rm -rf $RPM_BUILD_ROOT
145 install -d $RPM_BUILD_ROOT{%{_datadir},%{_bindir}}
146
147 cd obj-%{target}
148 PATH=$PATH:/sbin:%{_sbindir}
149
150 %{__make} -C gcc install \
151         prefix=%{_prefix} \
152         mandir=%{_mandir} \
153         infodir=%{_infodir} \
154         gxx_include_dir=%{arch}/include/g++ \
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???
161 rm -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
166 %{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcc.a
167
168 %clean
169 rm -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
179 #%%{arch}/include/_G_config.h
180 %dir %{gccarch}
181 %dir %{gcclib}
182 %attr(755,root,root) %{gcclib}/cc1
183 #%attr(755,root,root) %{gcclib}/tradcpp0
184 #%attr(755,root,root) %{gcclib}/cpp0
185 %attr(755,root,root) %{gcclib}/collect2
186 #%%{gcclib}/SYSCALLS.c.X
187 %{gcclib}/libgcc.a
188 %{gcclib}/specs*
189 %dir %{gcclib}/include
190 %{gcclib}/include/*.h
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
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.191791 seconds and 3 git commands to generate.