Rename implibs as lib*.dll.a for compatibility with libtool
[fedora-mingw.git] / gcc / mingw32-gcc.spec
1 %define __os_install_post /usr/lib/rpm/brp-compress %{nil}
2
3 Name:           mingw32-gcc
4 Version:        4.3.2
5 Release:        11%{?dist}
6 Summary:        MinGW Windows cross-compiler (GCC) for C
7
8 License:        GPLv2+
9 Group:          Development/Languages
10 URL:            http://www.mingw.org/
11 Source0:        ftp://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-core-%{version}.tar.bz2
12 Source1:        ftp://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-g++-%{version}.tar.bz2
13 Patch1:         %{name}-build.patch
14 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
15
16 BuildRequires:  texinfo
17 BuildRequires:  mingw32-filesystem >= 26
18 BuildRequires:  mingw32-binutils
19 BuildRequires:  mingw32-runtime
20 BuildRequires:  mingw32-w32api
21 BuildRequires:  gmp-devel
22 %if 0%{?fedora} >= 9
23 BuildRequires:  mpfr-devel
24 %endif
25 BuildRequires:  libgomp
26
27 Requires:       mingw32-filesystem >= 26
28 Requires:       mingw32-binutils
29 Requires:       mingw32-runtime
30 Requires:       mingw32-w32api
31 Requires:       mingw32-cpp
32
33
34 %description
35 MinGW Windows cross-compiler (GCC) for C
36
37
38 %package -n mingw32-cpp
39 Summary: MinGW Windows cross-C Preprocessor.
40 Group: Development/Languages
41
42 %description -n mingw32-cpp
43 MinGW Windows cross-C Preprocessor
44
45
46 %package c++
47 Summary: MinGW Windows cross-compiler for C++
48 Group: Development/Languages
49
50 %description c++
51 MinGW Windows cross-compiler for C++
52
53
54 %prep
55 %setup -q -c
56 %setup -q -D -T -a1
57 %patch1 -p1
58
59 %build
60 cd gcc-%{version}
61
62 mkdir -p build
63 cd build
64
65 languages="c,c++"
66
67 CC="%{__cc} ${RPM_OPT_FLAGS}" \
68 ../configure \
69   --prefix=%{_prefix} \
70   --bindir=%{_bindir} \
71   --includedir=%{_includedir} \
72   --libdir=%{_libdir} \
73   --mandir=%{_mandir} \
74   --infodir=%{_infodir} \
75   --datadir=%{_datadir} \
76   --build=%_build --host=%_host \
77   --target=%{_mingw32_target} \
78   --with-gnu-as --with-gnu-ld --verbose \
79   --without-newlib \
80   --disable-multilib \
81   --with-system-zlib \
82   --disable-nls --without-included-gettext \
83   --disable-win32-registry \
84   --enable-version-specific-runtime-libs \
85   --with-sysroot=%{_mingw32_sysroot} \
86   --enable-languages="$languages" $optargs
87
88 make all
89
90
91 %install
92 rm -rf $RPM_BUILD_ROOT
93
94 cd gcc-%{version}
95 cd build
96 make DESTDIR=$RPM_BUILD_ROOT install
97
98 # These files conflict with existing installed files.
99 rm -rf $RPM_BUILD_ROOT%{_infodir}
100 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty*
101 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/*
102
103 mkdir -p $RPM_BUILD_ROOT/lib
104 ln -sf ..%{_prefix}/bin/i686-pc-mingw32-cpp \
105   $RPM_BUILD_ROOT/lib/i686-pc-mingw32-cpp
106
107 %clean
108 rm -rf $RPM_BUILD_ROOT
109
110
111 %files
112 %defattr(-,root,root)
113 %{_bindir}/i686-pc-mingw32-gcc
114 %{_bindir}/i686-pc-mingw32-gcc-%{version}
115 %{_bindir}/i686-pc-mingw32-gccbug
116 %{_bindir}/i686-pc-mingw32-gcov
117 %{_prefix}/i686-pc-mingw32/lib/libiberty.a
118 %dir %{_libdir}/gcc/i686-pc-mingw32
119 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}
120 %{_libdir}/gcc/i686-pc-mingw32/%{version}/crtbegin.o
121 %{_libdir}/gcc/i686-pc-mingw32/%{version}/crtend.o
122 %{_libdir}/gcc/i686-pc-mingw32/%{version}/crtfastmath.o
123 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libgcc.a
124 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libgcov.a
125 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp.a
126 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp.la
127 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp_nonshared.a
128 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp_nonshared.la
129 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/include
130 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/include-fixed
131 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/include/ssp
132 %{_libdir}/gcc/i686-pc-mingw32/%{version}/include-fixed/README
133 %{_libdir}/gcc/i686-pc-mingw32/%{version}/include-fixed/*.h
134 %{_libdir}/gcc/i686-pc-mingw32/%{version}/include/*.h
135 %{_libdir}/gcc/i686-pc-mingw32/%{version}/include/ssp/*.h
136 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/install-tools
137 %{_libdir}/gcc/i686-pc-mingw32/%{version}/install-tools/*
138 %dir %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/install-tools
139 %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/install-tools/*
140 %{_mandir}/man1/i686-pc-mingw32-gcc.1*
141 %{_mandir}/man1/i686-pc-mingw32-gcov.1*
142
143
144 %files -n mingw32-cpp
145 %defattr(-,root,root)
146 /lib/i686-pc-mingw32-cpp
147 %{_bindir}/i686-pc-mingw32-cpp
148 %{_mandir}/man1/i686-pc-mingw32-cpp.1*
149 %dir %{_libdir}/gcc/i686-pc-mingw32
150 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}
151 %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/cc1
152
153
154 %files c++
155 %defattr(-,root,root)
156 %{_bindir}/i686-pc-mingw32-g++
157 %{_bindir}/i686-pc-mingw32-c++
158 %{_mandir}/man1/i686-pc-mingw32-g++.1*
159 %{_libdir}/gcc/i686-pc-mingw32/%{version}/include/c++/
160 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libstdc++.a
161 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libstdc++.la
162 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libsupc++.a
163 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libsupc++.la
164 %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/cc1plus
165 %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/collect2
166
167
168 %changelog
169 * Fri Nov 21 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-11
170 - Remove obsoletes for a long dead package.
171
172 * Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-10
173 - Rebuild against mingw32-filesystem 37
174
175 * Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-9
176 - Rebuild against mingw32-filesystem 36
177
178 * Thu Oct 30 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-8
179 - Don't BR mpfr-devel for RHEL/EPEL-5 (Levente Farkas).
180
181 * Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-7
182 - Rename mingw -> mingw32.
183
184 * Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-6
185 - Use RPM macros from mingw-filesystem.
186
187 * Mon Jul  7 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-3
188 - Initial RPM release, largely based on earlier work from several sources.