|
All binary packages should depend on `+mingw32-filesystem+` or `+mingw64-filesystem+` (depending on the files in the package). If the line mentioned above is used then it will be added automatically, so you don't have to add it yourself
|
|
|
All libraries must be built as DLLs.
|
|
|
All packages should have:
|
|
|
All specfiles should BuildRequire at least one of these (depending on the targets for which you want to build):
|
|
|
and any other BuildRequires that they need.
|
|
|
And the Win64 target is provided by the macro:
|
|
|
As of Fedora 17 a set of RPM macros and packages have been introduced which help packagers compile binaries for multiple targets. The targets Win32 and Win64 are supported.
|
|
|
Autoconf files (`+%{mingw32_datadir}/aclocal+` / `+%{mingw64_datadir}/aclocal+`)
|
|
|
Base packages
|
|
|
Because of the peculiarity of Windows, DLLs are stored in the `+%{mingw32_bindir}+` directory, along with a control file in the `+%{mingw32_libdir}+` directory. For example, for a library called `+foo+` there would be:
|
|
|
%{_bindir}/i686-w64-mingw32-gcc %{_bindir}/i686-w64-mingw32-g++ %{_bindir}/i686-w64-mingw32-ld %{_bindir}/i686-w64-mingw32-as %{_bindir}/i686-w64-mingw32-strip etc.
|
|
|
Build architecture
|
|
|
`+BuildArch: noarch+`
|
|
|
BuildArch: noarch
|
|
|
Build for multiple targets
|
|
|
%build %mingw_configure --enable-static --enable-shared --enable-foo %mingw_make_build
|
|
|
BuildRequires: mingw32-filesystem >= 113 BuildRequires: mingw32-gcc BuildRequires: mingw32-binutils BuildRequires: mingw32-gettext BuildRequires: mingw32-win-iconv BuildRequires: mingw32-zlib
|
|
|
`+BuildRequires: mingw32-filesystem >= minimum-version+` + `+BuildRequires: mingw64-filesystem >= minimum-version+`
|
|
|
BuildRequires: mingw64-filesystem >= 113 BuildRequires: mingw64-gcc BuildRequires: mingw64-binutils BuildRequires: mingw64-gettext BuildRequires: mingw64-win-iconv BuildRequires: mingw64-zlib
|
|
|
By default a MinGW package will be built for both the Win32 and Win64 targets.
|
|