Multiple fixes suggested by rpmlint.
[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:        7%{?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 BuildRequires:  mpfr-devel
23 BuildRequires:  libgomp
24
25 Requires:       mingw32-filesystem >= 26
26 Requires:       mingw32-binutils
27 Requires:       mingw32-runtime
28 Requires:       mingw32-w32api
29 Requires:       mingw32-cpp
30
31 Provides:       mingw-gcc = %{version}-%{release}
32 Obsoletes:      mingw-gcc < 4.3.2-7
33
34
35 %description
36 MinGW Windows cross-compiler (GCC) for C
37
38
39 %package -n mingw32-cpp
40 Summary: MinGW Windows cross-C Preprocessor.
41 Group: Development/Languages
42
43 %description -n mingw32-cpp
44 MinGW Windows cross-C Preprocessor
45
46
47 %package c++
48 Summary: MinGW Windows cross-compiler for C++
49 Group: Development/Languages
50
51 %description c++
52 MinGW Windows cross-compiler for C++
53
54
55 %prep
56 %setup -q -c
57 %setup -q -D -T -a1
58 %patch1 -p1
59
60 %build
61 cd gcc-%{version}
62
63 mkdir -p build
64 cd build
65
66 languages="c,c++"
67
68 CC="%{__cc} ${RPM_OPT_FLAGS}" \
69 ../configure \
70   --prefix=%{_prefix} \
71   --bindir=%{_bindir} \
72   --includedir=%{_includedir} \
73   --libdir=%{_libdir} \
74   --mandir=%{_mandir} \
75   --infodir=%{_infodir} \
76   --datadir=%{_datadir} \
77   --build=%_build --host=%_host \
78   --target=%{_mingw32_target} \
79   --with-gnu-as --with-gnu-ld --verbose \
80   --without-newlib \
81   --disable-multilib \
82   --with-system-zlib \
83   --disable-nls --without-included-gettext \
84   --disable-win32-registry \
85   --enable-version-specific-runtime-libs \
86   --with-sysroot=%{_mingw32_sysroot} \
87   --enable-languages="$languages" $optargs
88
89 make all
90
91
92 %install
93 rm -rf $RPM_BUILD_ROOT
94
95 cd gcc-%{version}
96 cd build
97 make DESTDIR=$RPM_BUILD_ROOT install
98
99 # These files conflict with existing installed files.
100 rm -rf $RPM_BUILD_ROOT%{_infodir}
101 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty*
102 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/*
103
104 mkdir -p $RPM_BUILD_ROOT/lib
105 ln -sf ..%{_prefix}/bin/i686-pc-mingw32-cpp \
106   $RPM_BUILD_ROOT/lib/i686-pc-mingw32-cpp
107
108 %clean
109 rm -rf $RPM_BUILD_ROOT
110
111
112 %files
113 %defattr(-,root,root)
114 %{_bindir}/i686-pc-mingw32-gcc
115 %{_bindir}/i686-pc-mingw32-gcc-%{version}
116 %{_bindir}/i686-pc-mingw32-gccbug
117 %{_bindir}/i686-pc-mingw32-gcov
118 %{_prefix}/i686-pc-mingw32/lib/libiberty.a
119 %dir %{_libdir}/gcc/i686-pc-mingw32
120 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}
121 %{_libdir}/gcc/i686-pc-mingw32/%{version}/crtbegin.o
122 %{_libdir}/gcc/i686-pc-mingw32/%{version}/crtend.o
123 %{_libdir}/gcc/i686-pc-mingw32/%{version}/crtfastmath.o
124 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libgcc.a
125 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libgcov.a
126 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp.a
127 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp.la
128 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp_nonshared.a
129 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libssp_nonshared.la
130 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/include
131 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/include-fixed
132 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/include/ssp
133 %{_libdir}/gcc/i686-pc-mingw32/%{version}/include-fixed/README
134 %{_libdir}/gcc/i686-pc-mingw32/%{version}/include-fixed/*.h
135 %{_libdir}/gcc/i686-pc-mingw32/%{version}/include/*.h
136 %{_libdir}/gcc/i686-pc-mingw32/%{version}/include/ssp/*.h
137 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}/install-tools
138 %{_libdir}/gcc/i686-pc-mingw32/%{version}/install-tools/*
139 %dir %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/install-tools
140 %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/install-tools/*
141 %{_mandir}/man1/i686-pc-mingw32-gcc.1*
142 %{_mandir}/man1/i686-pc-mingw32-gcov.1*
143
144
145 %files -n mingw32-cpp
146 %defattr(-,root,root)
147 /lib/i686-pc-mingw32-cpp
148 %{_bindir}/i686-pc-mingw32-cpp
149 %{_mandir}/man1/i686-pc-mingw32-cpp.1*
150 %dir %{_libdir}/gcc/i686-pc-mingw32
151 %dir %{_libdir}/gcc/i686-pc-mingw32/%{version}
152 %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/cc1
153
154
155 %files c++
156 %defattr(-,root,root)
157 %{_bindir}/i686-pc-mingw32-g++
158 %{_bindir}/i686-pc-mingw32-c++
159 %{_mandir}/man1/i686-pc-mingw32-g++.1*
160 %{_libdir}/gcc/i686-pc-mingw32/%{version}/include/c++/
161 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libstdc++.a
162 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libstdc++.la
163 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libsupc++.a
164 %{_libdir}/gcc/i686-pc-mingw32/%{version}/libsupc++.la
165 %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/cc1plus
166 %{_libexecdir}/gcc/i686-pc-mingw32/%{version}/collect2
167
168
169 %changelog
170 * Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-7
171 - Rename mingw -> mingw32.
172
173 * Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-6
174 - Use RPM macros from mingw-filesystem.
175
176 * Mon Jul  7 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-3
177 - Initial RPM release, largely based on earlier work from several sources.