Added support for both win32 and win64 targets
- Fixed rpmlint issues - Fixed permissions of the scripts (775 -> 755) - Fixed description of the various subpackages - Make the various macros compliant with the new packaging guidelines: https://fedorahosted.org/fpc/ticket/71 - Suppress arch-independent-package-contains-binary-or-object rpmlint errors for static libraries - Improved the mingw_configure, mingw_make, mingw_make_install, mingw_cmake and mingw_cmake_kde4 RPM macros so packagers don't need to use quotes anymore when using arguments. Thanks to Kalev Lember for the initial proof of concept - Dropped the -mms-bitfields argument from the default CFLAGS as it is enabled by default as of gcc 4.7 - Replaced the CMake defines QT_HEADERS_DIR and QT_LIBRARY_DIR with QT_BINARY_DIR which is a more proper method to make CMake aware of the location of Qt. Thx to Dominik Schmidt for the hint - Make sure CMake can detect the qmake-qt4 binary in /usr/$target/bin - Make sure CMake can also detect the (native) Qt tools qdbuscpp2xml and qdbusxml2cpp - Added new RPM macros mingw_cmake_kde4, mingw32_cmake_kde4 and mingw64_cmake_kde4 - Added three new environment variables which can be set to influence the behaviour of the cmake macros: MINGW_CMAKE_ARGS, MINGW32_CMAKE_ARGS and MINGW64_CMAKE_ARGS - Dropped the mingw32-qmake-qt4 and mingw64-qmake-qt4 wrapper scripts as they're now provided by the mingw{32,64}-qt-qmake packages - Added a new RPM macro: %%{?mingw_package_header} Packagers can use this macro instead of the original boilerplate code which is needed for all mingw packages - Made argument passing using the backwards compatibility macro %%{_mingw32_cmake} work - Fixed an issue in the mingw_cmake macro where it could point to a non-existant CMakeLists.txt file - Fixed a bug in the find-requires script which causes all packages to depend on both the mingw32 and the mingw64 toolchains - Split out the RPM macros which require both the mingw{32,64}-filesystem packages in a new file and put it in the mingw-filesystem-base package - Generate seperate debuginfo packages for mingw32 and mingw64 - Set the minimum version of R: mingw{32,64}-filesystem to 70 - Use the correct FSF-address in some scripts - Thanks to all the contributors: Erik van Pienbroek, Kalev Lember, Levente Farkas, Marc-Andre Lureau.
This commit is contained in:
parent
76112273c5
commit
0c1e1f998c
42
COPYING
42
COPYING
@ -1,12 +1,12 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
675 Mass Ave, Cambridge, MA 02139, USA
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
Preamble
|
Preamble
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
The licenses for most software are designed to take away your
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
|
|||||||
General Public License applies to most of the Free Software
|
General Public License applies to most of the Free Software
|
||||||
Foundation's software and to any other program whose authors commit to
|
Foundation's software and to any other program whose authors commit to
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
the GNU Library General Public License instead.) You can apply it to
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
your programs, too.
|
your programs, too.
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
When we speak of free software, we are referring to freedom, not
|
||||||
@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
|
|||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
The precise terms and conditions for copying, distribution and
|
||||||
modification follow.
|
modification follow.
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
0. This License applies to any program or other work which contains
|
||||||
@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
|
|||||||
License. (Exception: if the Program itself is interactive but
|
License. (Exception: if the Program itself is interactive but
|
||||||
does not normally print such an announcement, your work based on
|
does not normally print such an announcement, your work based on
|
||||||
the Program is not required to print an announcement.)
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
These requirements apply to the modified work as a whole. If
|
||||||
identifiable sections of that work are not derived from the Program,
|
identifiable sections of that work are not derived from the Program,
|
||||||
and can be reasonably considered independent and separate works in
|
and can be reasonably considered independent and separate works in
|
||||||
@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
|
|||||||
access to copy the source code from the same place counts as
|
access to copy the source code from the same place counts as
|
||||||
distribution of the source code, even though third parties are not
|
distribution of the source code, even though third parties are not
|
||||||
compelled to copy the source along with the object code.
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
except as expressly provided under this License. Any attempt
|
except as expressly provided under this License. Any attempt
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
@ -225,7 +225,7 @@ impose that choice.
|
|||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
This section is intended to make thoroughly clear what is believed to
|
||||||
be a consequence of the rest of this License.
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
original copyright holder who places the Program under this License
|
original copyright holder who places the Program under this License
|
||||||
@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
|
|||||||
of preserving the free status of all derivatives of our free software and
|
of preserving the free status of all derivatives of our free software and
|
||||||
of promoting the sharing and reuse of software generally.
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
NO WARRANTY
|
NO WARRANTY
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
If you develop a new program, and you want it to be of the greatest
|
||||||
possible use to the public, the best way to achieve this is to make it
|
possible use to the public, the best way to achieve this is to make it
|
||||||
@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
|
|||||||
the "copyright" line and a pointer to where the full notice is found.
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
Copyright (C) 19yy <name of author>
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -303,16 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License along
|
||||||
along with this program; if not, write to the Free Software
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
If the program is interactive, make it output a short notice like this
|
If the program is interactive, make it output a short notice like this
|
||||||
when it starts in an interactive mode:
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
This is free software, and you are welcome to redistribute it
|
This is free software, and you are welcome to redistribute it
|
||||||
under certain conditions; type `show c' for details.
|
under certain conditions; type `show c' for details.
|
||||||
@ -335,5 +335,5 @@ necessary. Here is a sample; alter the names:
|
|||||||
This General Public License does not permit incorporating your program into
|
This General Public License does not permit incorporating your program into
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
consider it more useful to permit linking proprietary applications with the
|
consider it more useful to permit linking proprietary applications with the
|
||||||
library. If this is what you want to do, use the GNU Library General
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
Public License instead of this License.
|
Public License instead of this License.
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
SET(CMAKE_SYSTEM_NAME Windows)
|
SET(CMAKE_SYSTEM_NAME Windows)
|
||||||
|
|
||||||
# specify the cross compiler
|
# specify the cross compiler
|
||||||
SET(CMAKE_C_COMPILER /usr/bin/i686-pc-mingw32-gcc)
|
SET(CMAKE_C_COMPILER /usr/bin/i686-w64-mingw32-gcc)
|
||||||
SET(CMAKE_CXX_COMPILER /usr/bin/i686-pc-mingw32-g++)
|
SET(CMAKE_CXX_COMPILER /usr/bin/i686-w64-mingw32-g++)
|
||||||
|
|
||||||
# where is the target environment
|
# where is the target environment
|
||||||
SET(CMAKE_FIND_ROOT_PATH /usr/i686-pc-mingw32/sys-root/mingw)
|
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32/sys-root/mingw)
|
||||||
|
|
||||||
# search for programs in the build host directories
|
# search for programs in the build host directories
|
||||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
@ -13,19 +13,17 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|||||||
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
|
||||||
# FindQt4.cmake queries qmake to get information,
|
# Make sure Qt can be detected by CMake
|
||||||
# which doesn't work when crosscompiling
|
SET(QT_BINARY_DIR /usr/i686-w64-mingw32/bin /usr/bin)
|
||||||
SET(QT_HEADERS_DIR ${CMAKE_FIND_ROOT_PATH}/include)
|
|
||||||
SET(QT_LIBRARY_DIR ${CMAKE_FIND_ROOT_PATH}/lib)
|
|
||||||
|
|
||||||
# set the resource compiler (RHBZ #652435)
|
# set the resource compiler (RHBZ #652435)
|
||||||
SET(CMAKE_RC_COMPILER /usr/bin/i686-pc-mingw32-windres)
|
SET(CMAKE_RC_COMPILER /usr/bin/i686-w64-mingw32-windres)
|
||||||
|
|
||||||
# override boost library suffix which defaults to -mgw
|
# override boost library suffix which defaults to -mgw
|
||||||
SET(Boost_COMPILER -gcc47)
|
SET(Boost_COMPILER -gcc47)
|
||||||
|
|
||||||
# These are needed for compiling lapack (RHBZ #753906)
|
# These are needed for compiling lapack (RHBZ #753906)
|
||||||
SET(CMAKE_Fortran_COMPILER /usr/bin/i686-pc-mingw32-gfortran)
|
SET(CMAKE_Fortran_COMPILER /usr/bin/i686-w64-mingw32-gfortran)
|
||||||
SET(CMAKE_AR:FILEPATH /usr/bin/i686-pc-mingw32-ar)
|
SET(CMAKE_AR:FILEPATH /usr/bin/i686-w64-mingw32-ar)
|
||||||
SET(CMAKE_RANLIB:FILEPATH /usr/bin/i686-pc-mingw32-ranlib)
|
SET(CMAKE_RANLIB:FILEPATH /usr/bin/i686-w64-mingw32-ranlib)
|
||||||
|
|
||||||
|
29
Toolchain-mingw64.cmake
Normal file
29
Toolchain-mingw64.cmake
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
SET(CMAKE_SYSTEM_NAME Windows)
|
||||||
|
|
||||||
|
# specify the cross compiler
|
||||||
|
SET(CMAKE_C_COMPILER /usr/bin/x86_64-w64-mingw32-gcc)
|
||||||
|
SET(CMAKE_CXX_COMPILER /usr/bin/x86_64-w64-mingw32-g++)
|
||||||
|
|
||||||
|
# where is the target environment
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32/sys-root/mingw)
|
||||||
|
|
||||||
|
# search for programs in the build host directories
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
# for libraries and headers in the target directories
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
|
||||||
|
# Make sure Qt can be detected by CMake
|
||||||
|
SET(QT_BINARY_DIR /usr/x86_64-w64-mingw32/bin /usr/bin)
|
||||||
|
|
||||||
|
# set the resource compiler (RHBZ #652435)
|
||||||
|
SET(CMAKE_RC_COMPILER /usr/bin/x86_64-w64-mingw32-windres)
|
||||||
|
|
||||||
|
# override boost library suffix which defaults to -mgw
|
||||||
|
SET(Boost_COMPILER -gcc47)
|
||||||
|
|
||||||
|
# These are needed for compiling lapack (RHBZ #753906)
|
||||||
|
SET(CMAKE_Fortran_COMPILER /usr/bin/x86_64-w64-mingw32-gfortran)
|
||||||
|
SET(CMAKE_AR:FILEPATH /usr/bin/x86_64-w64-mingw32-ar)
|
||||||
|
SET(CMAKE_RANLIB:FILEPATH /usr/bin/x86_64-w64-mingw32-ranlib)
|
||||||
|
|
95
macros.mingw
Normal file
95
macros.mingw
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
# RPM macros for the Fedora MinGW Cross Compiler collection
|
||||||
|
|
||||||
|
%mingw_build_targets mingw32 mingw64
|
||||||
|
|
||||||
|
%mingw_strip mingw-strip
|
||||||
|
%mingw_objdump mingw-objdump
|
||||||
|
%mingw_objcopy mingw-objcopy
|
||||||
|
|
||||||
|
%mingw_findprovides %{_rpmconfigdir}/mingw-find-provides.sh %{mingw_build_targets}
|
||||||
|
%mingw_findrequires %{_rpmconfigdir}/mingw-find-requires.sh %{mingw_build_targets}
|
||||||
|
%mingw_finddebuginfo %{_rpmconfigdir}/mingw-find-debuginfo.sh
|
||||||
|
|
||||||
|
%mingw_find_lang %{_rpmconfigdir}/mingw-find-lang.sh %{buildroot}
|
||||||
|
|
||||||
|
%mingw_debug_install_post %{mingw_finddebuginfo} %{_builddir}/%{?buildsubdir} %{mingw_build_targets}
|
||||||
|
|
||||||
|
%mingw_debug_package \
|
||||||
|
%{?mingw_build_win32: %{?mingw32_debug_package}} \
|
||||||
|
%{?mingw_build_win64: %{?mingw64_debug_package}} \
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
%mingw_package_header \
|
||||||
|
%global __strip %{mingw_strip} \
|
||||||
|
%global __objdump %{mingw_objdump} \
|
||||||
|
%global __debug_install_post %%{mingw_debug_install_post} \
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
%mingw_configure \
|
||||||
|
run_mingw_configure() \
|
||||||
|
{ \
|
||||||
|
%{?mingw_build_win32: \
|
||||||
|
mkdir build_win32$MINGW_BUILDDIR_SUFFIX \
|
||||||
|
pushd build_win32$MINGW_BUILDDIR_SUFFIX \
|
||||||
|
%{?mingw32_configure} $@ \
|
||||||
|
popd } \
|
||||||
|
%{?mingw_build_win64: \
|
||||||
|
mkdir build_win64$MINGW_BUILDDIR_SUFFIX \
|
||||||
|
pushd build_win64$MINGW_BUILDDIR_SUFFIX \
|
||||||
|
%{?mingw64_configure} $@ \
|
||||||
|
popd } \
|
||||||
|
} \
|
||||||
|
run_mingw_configure
|
||||||
|
|
||||||
|
%mingw_make \
|
||||||
|
run_mingw_make() \
|
||||||
|
{ \
|
||||||
|
%{?mingw_build_win32: \
|
||||||
|
make -C build_win32$MINGW_BUILDDIR_SUFFIX $@} \
|
||||||
|
%{?mingw_build_win64: \
|
||||||
|
make -C build_win64$MINGW_BUILDDIR_SUFFIX $@} \
|
||||||
|
} \
|
||||||
|
run_mingw_make
|
||||||
|
|
||||||
|
%mingw_make_install \
|
||||||
|
run_mingw_make_install() \
|
||||||
|
{ \
|
||||||
|
%{?mingw_build_win32: \
|
||||||
|
make -C build_win32$MINGW_BUILDDIR_SUFFIX install $@} \
|
||||||
|
%{?mingw_build_win64: \
|
||||||
|
make -C build_win64$MINGW_BUILDDIR_SUFFIX install $@} \
|
||||||
|
} \
|
||||||
|
run_mingw_make_install
|
||||||
|
|
||||||
|
%mingw_cmake \
|
||||||
|
run_mingw_cmake() \
|
||||||
|
{ \
|
||||||
|
%{?mingw_build_win32: \
|
||||||
|
mkdir build_win32$suffix \
|
||||||
|
pushd build_win32$suffix \
|
||||||
|
%{?mingw32_cmake $@} \
|
||||||
|
popd } \
|
||||||
|
%{?mingw_build_win64: \
|
||||||
|
mkdir build_win64$suffix \
|
||||||
|
pushd build_win64$suffix \
|
||||||
|
%{?mingw64_cmake $@} \
|
||||||
|
popd } \
|
||||||
|
} \
|
||||||
|
run_mingw_cmake
|
||||||
|
|
||||||
|
%mingw_cmake_kde4 \
|
||||||
|
run_mingw_cmake_kde4() \
|
||||||
|
{ \
|
||||||
|
%{?mingw_build_win32: \
|
||||||
|
mkdir build_win32$suffix \
|
||||||
|
pushd build_win32$suffix \
|
||||||
|
%{?mingw32_cmake_kde4 $@} \
|
||||||
|
popd } \
|
||||||
|
%{?mingw_build_win64: \
|
||||||
|
mkdir build_win64$suffix \
|
||||||
|
pushd build_win64$suffix \
|
||||||
|
%{?mingw64_cmake_kde4 $@} \
|
||||||
|
popd } \
|
||||||
|
} \
|
||||||
|
run_mingw_cmake_kde4
|
||||||
|
|
394
macros.mingw32
394
macros.mingw32
@ -1,66 +1,249 @@
|
|||||||
# RPM macros for Fedora MinGW.
|
# RPM macros for Fedora MinGW.
|
||||||
|
|
||||||
%_mingw32_pkg_name %(echo %{name} | sed 's/^mingw-/mingw32-/')
|
%mingw32_pkg_name %(echo %{name} | sed 's/^mingw-/mingw32-/')
|
||||||
|
%mingw32_target i686-w64-mingw32
|
||||||
%_mingw32_target i686-pc-mingw32
|
|
||||||
|
|
||||||
# Paths.
|
# Paths.
|
||||||
%_mingw32_sysroot %{_prefix}/%{_mingw32_target}/sys-root
|
%mingw32_sysroot %{_prefix}/%{mingw32_target}/sys-root
|
||||||
%_mingw32_prefix %{_mingw32_sysroot}/mingw
|
%mingw32_prefix %{mingw32_sysroot}/mingw
|
||||||
%_mingw32_exec_prefix %{_mingw32_prefix}
|
%mingw32_exec_prefix %{mingw32_prefix}
|
||||||
%_mingw32_bindir %{_mingw32_exec_prefix}/bin
|
%mingw32_bindir %{mingw32_exec_prefix}/bin
|
||||||
%_mingw32_sbindir %{_mingw32_exec_prefix}/sbin
|
%mingw32_sbindir %{mingw32_exec_prefix}/sbin
|
||||||
%_mingw32_libexecdir %{_mingw32_exec_prefix}/libexec
|
%mingw32_libexecdir %{mingw32_exec_prefix}/libexec
|
||||||
%_mingw32_libdir %{_mingw32_exec_prefix}/lib
|
%mingw32_libdir %{mingw32_exec_prefix}/lib
|
||||||
%_mingw32_datadir %{_mingw32_prefix}/share
|
%mingw32_datadir %{mingw32_prefix}/share
|
||||||
%_mingw32_docdir %{_mingw32_prefix}/share/doc
|
%mingw32_docdir %{mingw32_prefix}/share/doc
|
||||||
%_mingw32_infodir %{_mingw32_prefix}/share/info
|
%mingw32_infodir %{mingw32_prefix}/share/info
|
||||||
%_mingw32_mandir %{_mingw32_prefix}/share/man
|
%mingw32_mandir %{mingw32_prefix}/share/man
|
||||||
%_mingw32_sysconfdir %{_mingw32_prefix}/etc
|
%mingw32_sysconfdir %{mingw32_prefix}/etc
|
||||||
%_mingw32_sharedstatedir %{_mingw32_prefix}/com
|
%mingw32_sharedstatedir %{mingw32_prefix}/com
|
||||||
%_mingw32_localstatedir %{_mingw32_prefix}/var
|
%mingw32_localstatedir %{mingw32_prefix}/var
|
||||||
%_mingw32_includedir %{_mingw32_prefix}/include
|
%mingw32_includedir %{mingw32_prefix}/include
|
||||||
|
|
||||||
# Build macros.
|
# Build macros.
|
||||||
%_mingw32_host %{_mingw32_target}
|
%mingw32_host %{mingw32_target}
|
||||||
|
|
||||||
%_mingw32_cflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
|
%mingw32_cflags %{mingw32_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
|
||||||
|
%mingw32_cppflags %{nil}
|
||||||
|
%mingw32_ldflags %{nil}
|
||||||
|
|
||||||
%_mingw32_cc %{_mingw32_target}-gcc
|
%mingw32_cc %{mingw32_target}-gcc
|
||||||
%_mingw32_cxx %{_mingw32_target}-g++
|
%mingw32_cxx %{mingw32_target}-g++
|
||||||
%_mingw32_cpp %{_mingw32_target}-gcc -E
|
%mingw32_cpp %{mingw32_target}-gcc -E
|
||||||
%_mingw32_addr2line %{_mingw32_target}-addr2line
|
%mingw32_addr2line %{mingw32_target}-addr2line
|
||||||
%_mingw32_ar %{_mingw32_target}-ar
|
%mingw32_ar %{mingw32_target}-ar
|
||||||
%_mingw32_as %{_mingw32_target}-as
|
%mingw32_as %{mingw32_target}-as
|
||||||
%_mingw32_c++ %{_mingw32_target}-c++
|
%mingw32_c++ %{mingw32_target}-c++
|
||||||
%_mingw32_c++filt %{_mingw32_target}-c++filt
|
%mingw32_c++filt %{mingw32_target}-c++filt
|
||||||
%_mingw32_dlltool %{_mingw32_target}-dlltool
|
%mingw32_dlltool %{mingw32_target}-dlltool
|
||||||
%_mingw32_dllwrap %{_mingw32_target}-dllwrap
|
%mingw32_dllwrap %{mingw32_target}-dllwrap
|
||||||
%_mingw32_gcov %{_mingw32_target}-gcov
|
%mingw32_gcov %{mingw32_target}-gcov
|
||||||
%_mingw32_gprof %{_mingw32_target}-gprof
|
%mingw32_gprof %{mingw32_target}-gprof
|
||||||
%_mingw32_ld %{_mingw32_target}-ld
|
%mingw32_ld %{mingw32_target}-ld
|
||||||
%_mingw32_nm %{_mingw32_target}-nm
|
%mingw32_nm %{mingw32_target}-nm
|
||||||
%_mingw32_objcopy %{_mingw32_target}-objcopy
|
%mingw32_objcopy %{mingw32_target}-objcopy
|
||||||
%_mingw32_objdump %{_mingw32_target}-objdump
|
%mingw32_objdump %{mingw32_target}-objdump
|
||||||
%_mingw32_ranlib %{_mingw32_target}-ranlib
|
%mingw32_ranlib %{mingw32_target}-ranlib
|
||||||
%_mingw32_readelf %{_mingw32_target}-readelf
|
%mingw32_readelf %{mingw32_target}-readelf
|
||||||
%_mingw32_size %{_mingw32_target}-size
|
%mingw32_size %{mingw32_target}-size
|
||||||
%_mingw32_strings %{_mingw32_target}-strings
|
%mingw32_strings %{mingw32_target}-strings
|
||||||
%_mingw32_strip %{_mingw32_target}-strip
|
%mingw32_strip %{mingw32_target}-strip
|
||||||
%_mingw32_windmc %{_mingw32_target}-windmc
|
%mingw32_windmc %{mingw32_target}-windmc
|
||||||
%_mingw32_windres %{_mingw32_target}-windres
|
%mingw32_windres %{mingw32_target}-windres
|
||||||
|
|
||||||
%_mingw32_cache mingw32-config.cache
|
%mingw32_env unset $(/usr/bin/env | egrep '^(\w+)=(.*)$' | egrep -vw 'PWD|USER|LANG' | /usr/bin/cut -d= -f1); \
|
||||||
|
if test -z "$PATH_ORIG" ; then \
|
||||||
|
PATH_ORIG="$PATH"; export PATH_ORIG; \
|
||||||
|
fi; \
|
||||||
|
PATH="%{mingw32_bindir}:$PATH_ORIG"; export PATH; \
|
||||||
|
HOST_CC=gcc; export HOST_CC; \
|
||||||
|
PKG_CONFIG_LIBDIR="%{mingw32_libdir}/pkgconfig:%{_mingw32_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \
|
||||||
|
unset PKG_CONFIG_PATH; \
|
||||||
|
_PREFIX="%{_bindir}/%{mingw32_target}-"; \
|
||||||
|
for i in `ls -1 ${_PREFIX}* | grep -v 'gcc-'`; do \
|
||||||
|
x=`echo $i|sed "s,${_PREFIX},,"|tr "a-z+-." "A-ZX__"`; \
|
||||||
|
declare -x $x="$i" ; export $x; \
|
||||||
|
done; \
|
||||||
|
unset _PREFIX; \
|
||||||
|
CC="${MINGW32_CC:-%mingw32_cc}"; export CC; \
|
||||||
|
CFLAGS="${MINGW32_CFLAGS:-%mingw32_cflags}"; export CFLAGS; \
|
||||||
|
CPPFLAGS="${MINGW32_CPPFLAGS:-%mingw32_cppflags}"; export CPPFLAGS; \
|
||||||
|
if [ -x "%{_bindir}/%{mingw32_cxx}" ]; then \
|
||||||
|
CXX="${MINGW32_CXX:-%mingw32_cxx}"; export CXX; \
|
||||||
|
CXXFLAGS="${MINGW32_CXXFLAGS:-%mingw32_cflags}"; export CXXFLAGS; \
|
||||||
|
else \
|
||||||
|
CXX=; export CXX; \
|
||||||
|
ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \
|
||||||
|
CXXFLAGS=; export CXXFLAGS; \
|
||||||
|
fi; \
|
||||||
|
LDFLAGS="${MINGW32_LDFLAGS:-%mingw32_ldflags}"; export LDFLAGS; \
|
||||||
|
for i in `ls %{mingw32_bindir}/*|grep -- "-config\$"` ; do \
|
||||||
|
x=`basename $i|tr "a-z+-" "A-ZX_"`; \
|
||||||
|
declare -x $x="$i" ; export $x; \
|
||||||
|
done; \
|
||||||
|
unset x i
|
||||||
|
|
||||||
%_mingw32_findprovides /usr/lib/rpm/mingw32-find-provides.sh
|
%mingw32_pkg_config %{mingw32_target}-pkg-config
|
||||||
%_mingw32_findrequires /usr/lib/rpm/mingw32-find-requires.sh
|
|
||||||
%_mingw32_finddebuginfo /usr/lib/rpm/mingw32-find-debuginfo.sh
|
|
||||||
|
|
||||||
%_mingw32_debug_install_post \
|
%mingw32_configure %{mingw32_env} ; \
|
||||||
/usr/lib/rpm/mingw32-find-debuginfo.sh %{_builddir}/%{?buildsubdir}\
|
__mingw32_topdir=.; if ! test -x configure; then __mingw32_topdir=..; fi; \\\
|
||||||
|
$__mingw32_topdir/configure \\\
|
||||||
|
--host=%{mingw32_host} \\\
|
||||||
|
--build=%_build \\\
|
||||||
|
--target=%{mingw32_target} \\\
|
||||||
|
--prefix=%{mingw32_prefix} \\\
|
||||||
|
--exec-prefix=%{mingw32_exec_prefix} \\\
|
||||||
|
--bindir=%{mingw32_bindir} \\\
|
||||||
|
--sbindir=%{mingw32_sbindir} \\\
|
||||||
|
--sysconfdir=%{mingw32_sysconfdir} \\\
|
||||||
|
--datadir=%{mingw32_datadir} \\\
|
||||||
|
--includedir=%{mingw32_includedir} \\\
|
||||||
|
--libdir=%{mingw32_libdir} \\\
|
||||||
|
--libexecdir=%{mingw32_libexecdir} \\\
|
||||||
|
--localstatedir=%{mingw32_localstatedir} \\\
|
||||||
|
--sharedstatedir=%{mingw32_sharedstatedir} \\\
|
||||||
|
--mandir=%{mingw32_mandir} \\\
|
||||||
|
--infodir=%{mingw32_infodir} \\\
|
||||||
|
${MINGW_CONFIGURE_ARGS} \\\
|
||||||
|
${MINGW32_CONFIGURE_ARGS}
|
||||||
|
|
||||||
|
%mingw32_make %{mingw32_env} ; \
|
||||||
|
make \\\
|
||||||
|
prefix=%{mingw32_prefix} \\\
|
||||||
|
exec_prefix=%{mingw32_exec_prefix} \\\
|
||||||
|
bindir=%{mingw32_bindir} \\\
|
||||||
|
sbindir=%{mingw32_sbindir} \\\
|
||||||
|
sysconfdir=%{mingw32_sysconfdir} \\\
|
||||||
|
datadir=%{mingw32_datadir} \\\
|
||||||
|
includedir=%{mingw32_includedir} \\\
|
||||||
|
libdir=%{mingw32_libdir} \\\
|
||||||
|
libexecdir=%{mingw32_libexecdir} \\\
|
||||||
|
localstatedir=%{mingw32_localstatedir} \\\
|
||||||
|
sharedstatedir=%{mingw32_sharedstatedir} \\\
|
||||||
|
mandir=%{mingw32_mandir} \\\
|
||||||
|
infodir=%{mingw32_infodir}
|
||||||
|
|
||||||
|
%mingw32_cmake %{mingw32_env} ; \
|
||||||
|
if test -f CMakeLists.txt; then __mingw32_topdir=.; \\\
|
||||||
|
elif test -f ../CMakeLists.txt; then __mingw32_topdir=..; \\\
|
||||||
|
else __mingw32_topdir=""; fi; \\\
|
||||||
|
PATH=%{_prefix}/%{mingw32_target}/bin:$PATH %__cmake \\\
|
||||||
|
-DCMAKE_VERBOSE_MAKEFILE=ON \\\
|
||||||
|
-DCMAKE_INSTALL_PREFIX:PATH=%{mingw32_prefix} \\\
|
||||||
|
-DCMAKE_INSTALL_LIBDIR:PATH=%{mingw32_libdir} \\\
|
||||||
|
-DINCLUDE_INSTALL_DIR:PATH=%{mingw32_includedir} \\\
|
||||||
|
-DLIB_INSTALL_DIR:PATH=%{mingw32_libdir} \\\
|
||||||
|
-DSYSCONF_INSTALL_DIR:PATH=%{mingw32_sysconfdir} \\\
|
||||||
|
-DSHARE_INSTALL_PREFIX:PATH=%{mingw32_datadir} \\\
|
||||||
|
%{?_cmake_skip_rpath} \\\
|
||||||
|
-DBUILD_SHARED_LIBS:BOOL=ON \\\
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/Toolchain-mingw32.cmake \\\
|
||||||
|
${MINGW_CMAKE_ARGS} \\\
|
||||||
|
${MINGW32_CMAKE_ARGS} \\\
|
||||||
|
$@ $__mingw32_topdir
|
||||||
|
|
||||||
|
%mingw32_cmake_kde4 %{mingw32_env} ; \
|
||||||
|
if test -f CMakeLists.txt; then __mingw32_topdir=.; \\\
|
||||||
|
elif test -f ../CMakeLists.txt; then __mingw32_topdir=..; \\\
|
||||||
|
else __mingw32_topdir=""; fi; \\\
|
||||||
|
%__cmake \\\
|
||||||
|
-DCMAKE_VERBOSE_MAKEFILE=ON \\\
|
||||||
|
-DCMAKE_INSTALL_PREFIX:PATH=%{mingw32_prefix} \\\
|
||||||
|
-DCMAKE_INSTALL_LIBDIR:PATH=%{mingw32_libdir} \\\
|
||||||
|
-DINCLUDE_INSTALL_DIR:PATH=%{mingw32_includedir}/kde4 \\\
|
||||||
|
-DLIB_INSTALL_DIR:PATH=%{mingw32_libdir} \\\
|
||||||
|
-DSYSCONF_INSTALL_DIR:PATH=%{mingw32_sysconfdir} \\\
|
||||||
|
-DSHARE_INSTALL_PREFIX:PATH=%{mingw32_datadir} \\\
|
||||||
|
%{?_cmake_skip_rpath} \\\
|
||||||
|
-DBUILD_SHARED_LIBS:BOOL=ON \\\
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/Toolchain-mingw32.cmake \\\
|
||||||
|
${MINGW_CMAKE_ARGS} \\\
|
||||||
|
${MINGW32_CMAKE_ARGS} \\\
|
||||||
|
$@ $__mingw32_topdir
|
||||||
|
|
||||||
|
%mingw32_qmake_qt4 %{mingw32_env} ; \
|
||||||
|
/usr/bin/mingw32-qmake-qt4
|
||||||
|
|
||||||
|
%mingw32_description This is the cross-compiled version of this library / tool.\
|
||||||
|
You should only install this package if you want to cross-compile programs for \
|
||||||
|
Win32 (32 bit Windows).
|
||||||
|
|
||||||
|
%mingw32_debug_package \
|
||||||
|
%package -n %{mingw32_pkg_name}-debuginfo \
|
||||||
|
Summary: Debug information for package %{mingw32_pkg_name} \
|
||||||
|
Group: Development/Debug \
|
||||||
|
BuildArch: noarch \
|
||||||
|
%description -n %{mingw32_pkg_name}-debuginfo \
|
||||||
|
This package provides debug information for package %{mingw32_pkg_name}. \
|
||||||
|
Debug information is useful when developing applications that use this \
|
||||||
|
package or when debugging this package. \
|
||||||
|
%files -n %{mingw32_pkg_name}-debuginfo -f mingw32-debugfiles.list \
|
||||||
|
%defattr(-,root,root,-) \
|
||||||
|
%{nil}
|
||||||
|
|
||||||
|
|
||||||
|
# Maintain backwards compatibility with the original MinGW packaging guidelines
|
||||||
|
# These can be dropped as soon as all packages are ported to the new packaging guidelines
|
||||||
|
%_mingw32_pkg_name %{mingw32_pkg_name}
|
||||||
|
%_mingw32_target %{mingw32_target}
|
||||||
|
%_mingw32_sysroot %{mingw32_sysroot}
|
||||||
|
%_mingw32_prefix %{mingw32_prefix}
|
||||||
|
%_mingw32_exec_prefix %{mingw32_exec_prefix}
|
||||||
|
%_mingw32_bindir %{mingw32_bindir}
|
||||||
|
%_mingw32_sbindir %{mingw32_sbindir}
|
||||||
|
%_mingw32_libexecdir %{mingw32_libexecdir}
|
||||||
|
%_mingw32_libdir %{mingw32_libdir}
|
||||||
|
%_mingw32_datadir %{mingw32_datadir}
|
||||||
|
%_mingw32_docdir %{mingw32_docdir}
|
||||||
|
%_mingw32_infodir %{mingw32_infodir}
|
||||||
|
%_mingw32_mandir %{mingw32_mandir}
|
||||||
|
%_mingw32_sysconfdir %{mingw32_sysconfdir}
|
||||||
|
%_mingw32_sharedstatedir %{mingw32_sharedstatedir}
|
||||||
|
%_mingw32_localstatedir %{mingw32_localstatedir}
|
||||||
|
%_mingw32_includedir %{mingw32_includedir}
|
||||||
|
%_mingw32_host %{mingw32_host}
|
||||||
|
%_mingw32_cflags %{mingw32_cflags}
|
||||||
|
%_mingw32_cppflags %{mingw32_cppflags}
|
||||||
|
%_mingw32_ldflags %{mingw32_ldflags}
|
||||||
|
%_mingw32_findprovides %{mingw_findprovides}
|
||||||
|
%_mingw32_findrequires %{mingw_findrequires}
|
||||||
|
%_mingw32_cc %{mingw32_cc}
|
||||||
|
%_mingw32_cxx %{mingw32_cxx}
|
||||||
|
%_mingw32_cpp %{mingw32_cpp}
|
||||||
|
%_mingw32_addr2line %{mingw32_addr2line}
|
||||||
|
%_mingw32_ar %{mingw32_ar}
|
||||||
|
%_mingw32_as %{mingw32_as}
|
||||||
|
%_mingw32_c++ %{mingw32_c++}
|
||||||
|
%_mingw32_c++filt %{mingw32_c++filt}
|
||||||
|
%_mingw32_dlltool %{mingw32_dlltool}
|
||||||
|
%_mingw32_dllwrap %{mingw32_dllwrap}
|
||||||
|
%_mingw32_gcov %{mingw32_gcov}
|
||||||
|
%_mingw32_gprof %{mingw32_gprof}
|
||||||
|
%_mingw32_ld %{mingw32_ld}
|
||||||
|
%_mingw32_nm %{mingw32_nm}
|
||||||
|
%_mingw32_objcopy %{mingw32_objcopy}
|
||||||
|
%_mingw32_objdump %{mingw32_objdump}
|
||||||
|
%_mingw32_ranlib %{mingw32_ranlib}
|
||||||
|
%_mingw32_readelf %{mingw32_readelf}
|
||||||
|
%_mingw32_size %{mingw32_size}
|
||||||
|
%_mingw32_strings %{mingw32_strings}
|
||||||
|
%_mingw32_strip %{mingw32_strip}
|
||||||
|
%_mingw32_windmc %{mingw32_windmc}
|
||||||
|
%_mingw32_windres %{mingw32_windres}
|
||||||
|
%_mingw32_env %{mingw32_env}
|
||||||
|
%_mingw32_pkg_config %{mingw32_pkg_config}
|
||||||
|
%_mingw32_configure %{mingw32_configure}
|
||||||
|
%_mingw32_make %{mingw32_make}
|
||||||
|
%_mingw32_cmake %{mingw32_cmake}
|
||||||
|
%_mingw32_description %{mingw32_description}
|
||||||
|
|
||||||
|
# The old implementation of the _mingw32_debug_package macro isn't
|
||||||
|
# forward-compatible with the new implementation using mingw_debug_package
|
||||||
|
# so keep the old implementation here for backwards compatibility
|
||||||
|
%_mingw32_debug_install_post \
|
||||||
|
%{mingw_finddebuginfo} %{_builddir}/%{?buildsubdir} old\
|
||||||
%{nil}
|
%{nil}
|
||||||
|
|
||||||
# Template for debug sub-package.
|
|
||||||
%_mingw32_debug_package(n:) \
|
%_mingw32_debug_package(n:) \
|
||||||
%define __mingw32_debug_pkg_name %{-n*}%{!-n:%{_mingw32_pkg_name}}-debuginfo \
|
%define __mingw32_debug_pkg_name %{-n*}%{!-n:%{_mingw32_pkg_name}}-debuginfo \
|
||||||
%package -n %{__mingw32_debug_pkg_name} \
|
%package -n %{__mingw32_debug_pkg_name} \
|
||||||
@ -74,100 +257,21 @@ package or when debugging this package.\
|
|||||||
%defattr(-,root,root,-)\
|
%defattr(-,root,root,-)\
|
||||||
%{nil}
|
%{nil}
|
||||||
|
|
||||||
%_mingw32_env HOST_CC=gcc; export HOST_CC; \
|
# This macro has been dropped from the new guidelines, keep
|
||||||
PKG_CONFIG_LIBDIR="%{_mingw32_libdir}/pkgconfig:%{_mingw32_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \
|
# it here around for backwards compatibility
|
||||||
unset PKG_CONFIG_PATH; \
|
%_mingw32_makeinstall %{mingw32_env} ; \
|
||||||
_PREFIX="%{_bindir}/%{_mingw32_target}-"; \
|
|
||||||
for i in `ls -1 ${_PREFIX}* | grep -v 'gcc-'`; do \
|
|
||||||
x=`echo $i|sed "s,${_PREFIX},,"|tr "a-z+-." "A-ZX__"`; \
|
|
||||||
declare -x $x="$i" ; export $x; \
|
|
||||||
done; \
|
|
||||||
unset _PREFIX; \
|
|
||||||
CC="${MINGW32_CC:-%_mingw32_cc}"; export CC; \
|
|
||||||
CFLAGS="${MINGW32_CFLAGS:-%_mingw32_cflags}"; export CFLAGS; \
|
|
||||||
if [ -x "%{_bindir}/%{_mingw32_cxx}" ]; then \
|
|
||||||
CXX="${MINGW32_CXX:-%_mingw32_cxx}"; export CXX; \
|
|
||||||
CXXFLAGS="${MINGW32_CXXFLAGS:-%_mingw32_cflags}"; export CXXFLAGS; \
|
|
||||||
else \
|
|
||||||
CXX=; export CXX; \
|
|
||||||
ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \
|
|
||||||
CXXFLAGS=; export CXXFLAGS; \
|
|
||||||
fi; \
|
|
||||||
for i in `ls %{_mingw32_bindir}/*|grep -- "-config\$"` ; do \
|
|
||||||
x=`basename $i|tr "a-z+-" "A-ZX_"`; \
|
|
||||||
declare -x $x="$i" ; export $x; \
|
|
||||||
done; \
|
|
||||||
unset x i
|
|
||||||
|
|
||||||
%_mingw32_configure %{_mingw32_env} ; \
|
|
||||||
__mingw32_topdir=.; if ! test -x configure; then __mingw32_topdir=..; fi; \\\
|
|
||||||
$__mingw32_topdir/configure --cache-file=%{_mingw32_cache} \\\
|
|
||||||
--host=%{_mingw32_host} \\\
|
|
||||||
--build=%_build \\\
|
|
||||||
--target=%{_mingw32_target} \\\
|
|
||||||
--prefix=%{_mingw32_prefix} \\\
|
|
||||||
--exec-prefix=%{_mingw32_exec_prefix} \\\
|
|
||||||
--bindir=%{_mingw32_bindir} \\\
|
|
||||||
--sbindir=%{_mingw32_sbindir} \\\
|
|
||||||
--sysconfdir=%{_mingw32_sysconfdir} \\\
|
|
||||||
--datadir=%{_mingw32_datadir} \\\
|
|
||||||
--includedir=%{_mingw32_includedir} \\\
|
|
||||||
--libdir=%{_mingw32_libdir} \\\
|
|
||||||
--libexecdir=%{_mingw32_libexecdir} \\\
|
|
||||||
--localstatedir=%{_mingw32_localstatedir} \\\
|
|
||||||
--sharedstatedir=%{_mingw32_sharedstatedir} \\\
|
|
||||||
--mandir=%{_mingw32_mandir} \\\
|
|
||||||
--infodir=%{_mingw32_infodir}
|
|
||||||
|
|
||||||
%_mingw32_make %{_mingw32_env} ; \
|
|
||||||
make \\\
|
make \\\
|
||||||
prefix=%{_mingw32_prefix} \\\
|
prefix=%{?buildroot:%{buildroot}}%{mingw32_prefix} \\\
|
||||||
exec_prefix=%{_mingw32_exec_prefix} \\\
|
exec_prefix=%{?buildroot:%{buildroot}}%{mingw32_exec_prefix} \\\
|
||||||
bindir=%{_mingw32_bindir} \\\
|
bindir=%{?buildroot:%{buildroot}}%{mingw32_bindir} \\\
|
||||||
sbindir=%{_mingw32_sbindir} \\\
|
sbindir=%{?buildroot:%{buildroot}}%{mingw32_sbindir} \\\
|
||||||
sysconfdir=%{_mingw32_sysconfdir} \\\
|
sysconfdir=%{?buildroot:%{buildroot}}%{mingw32_sysconfdir} \\\
|
||||||
datadir=%{_mingw32_datadir} \\\
|
datadir=%{?buildroot:%{buildroot}}%{mingw32_datadir} \\\
|
||||||
includedir=%{_mingw32_includedir} \\\
|
includedir=%{?buildroot:%{buildroot}}%{mingw32_includedir} \\\
|
||||||
libdir=%{_mingw32_libdir} \\\
|
libdir=%{?buildroot:%{buildroot}}%{mingw32_libdir} \\\
|
||||||
libexecdir=%{_mingw32_libexecdir} \\\
|
libexecdir=%{?buildroot:%{buildroot}}%{mingw32_libexecdir} \\\
|
||||||
localstatedir=%{_mingw32_localstatedir} \\\
|
localstatedir=%{?buildroot:%{buildroot}}%{mingw32_localstatedir} \\\
|
||||||
sharedstatedir=%{_mingw32_sharedstatedir} \\\
|
sharedstatedir=%{?buildroot:%{buildroot}}%{mingw32_sharedstatedir} \\\
|
||||||
mandir=%{_mingw32_mandir} \\\
|
mandir=%{?buildroot:%{buildroot}}%{mingw32_mandir} \\\
|
||||||
infodir=%{_mingw32_infodir}
|
infodir=%{?buildroot:%{buildroot}}%{mingw32_infodir} \\\
|
||||||
|
|
||||||
%_mingw32_makeinstall %{_mingw32_env} ; \
|
|
||||||
make \\\
|
|
||||||
prefix=%{?buildroot:%{buildroot}}%{_mingw32_prefix} \\\
|
|
||||||
exec_prefix=%{?buildroot:%{buildroot}}%{_mingw32_exec_prefix} \\\
|
|
||||||
bindir=%{?buildroot:%{buildroot}}%{_mingw32_bindir} \\\
|
|
||||||
sbindir=%{?buildroot:%{buildroot}}%{_mingw32_sbindir} \\\
|
|
||||||
sysconfdir=%{?buildroot:%{buildroot}}%{_mingw32_sysconfdir} \\\
|
|
||||||
datadir=%{?buildroot:%{buildroot}}%{_mingw32_datadir} \\\
|
|
||||||
includedir=%{?buildroot:%{buildroot}}%{_mingw32_includedir} \\\
|
|
||||||
libdir=%{?buildroot:%{buildroot}}%{_mingw32_libdir} \\\
|
|
||||||
libexecdir=%{?buildroot:%{buildroot}}%{_mingw32_libexecdir} \\\
|
|
||||||
localstatedir=%{?buildroot:%{buildroot}}%{_mingw32_localstatedir} \\\
|
|
||||||
sharedstatedir=%{?buildroot:%{buildroot}}%{_mingw32_sharedstatedir} \\\
|
|
||||||
mandir=%{?buildroot:%{buildroot}}%{_mingw32_mandir} \\\
|
|
||||||
infodir=%{?buildroot:%{buildroot}}%{_mingw32_infodir} \\\
|
|
||||||
install
|
install
|
||||||
|
|
||||||
%_mingw32_cmake %{_mingw32_env} ; \
|
|
||||||
%__cmake \\\
|
|
||||||
-DCMAKE_VERBOSE_MAKEFILE=ON \\\
|
|
||||||
-DCMAKE_INSTALL_PREFIX:PATH=%{_mingw32_prefix} \\\
|
|
||||||
-DCMAKE_INSTALL_LIBDIR:PATH=%{_mingw32_libdir} \\\
|
|
||||||
-DINCLUDE_INSTALL_DIR:PATH=%{_mingw32_includedir} \\\
|
|
||||||
-DLIB_INSTALL_DIR:PATH=%{_mingw32_libdir} \\\
|
|
||||||
-DSYSCONF_INSTALL_DIR:PATH=%{_mingw32_sysconfdir} \\\
|
|
||||||
-DSHARE_INSTALL_PREFIX:PATH=%{_mingw32_datadir} \\\
|
|
||||||
%{?_cmake_skip_rpath} \\\
|
|
||||||
-DBUILD_SHARED_LIBS:BOOL=ON \\\
|
|
||||||
-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw32/Toolchain-mingw32.cmake
|
|
||||||
|
|
||||||
%_mingw32_qmake_qt4 %{_mingw32_env} ; \
|
|
||||||
%_qt4_qmake -spec win32-g++-cross
|
|
||||||
|
|
||||||
%_mingw32_description This is the cross-compiled version of this library / tool.\
|
|
||||||
You should only install this package if you want to cross-compile programs for \
|
|
||||||
Win32 (32 bit Windows).
|
|
||||||
|
183
macros.mingw64
Normal file
183
macros.mingw64
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
# RPM macros for Fedora MinGW.
|
||||||
|
|
||||||
|
%mingw64_pkg_name %(echo %{name} | sed 's/^mingw-/mingw64-/')
|
||||||
|
%mingw64_target x86_64-w64-mingw32
|
||||||
|
|
||||||
|
# Paths.
|
||||||
|
%mingw64_sysroot %{_prefix}/%{mingw64_target}/sys-root
|
||||||
|
%mingw64_prefix %{mingw64_sysroot}/mingw
|
||||||
|
%mingw64_exec_prefix %{mingw64_prefix}
|
||||||
|
%mingw64_bindir %{mingw64_exec_prefix}/bin
|
||||||
|
%mingw64_sbindir %{mingw64_exec_prefix}/sbin
|
||||||
|
%mingw64_libexecdir %{mingw64_exec_prefix}/libexec
|
||||||
|
%mingw64_libdir %{mingw64_exec_prefix}/lib
|
||||||
|
%mingw64_datadir %{mingw64_prefix}/share
|
||||||
|
%mingw64_docdir %{mingw64_prefix}/share/doc
|
||||||
|
%mingw64_infodir %{mingw64_prefix}/share/info
|
||||||
|
%mingw64_mandir %{mingw64_prefix}/share/man
|
||||||
|
%mingw64_sysconfdir %{mingw64_prefix}/etc
|
||||||
|
%mingw64_sharedstatedir %{mingw64_prefix}/com
|
||||||
|
%mingw64_localstatedir %{mingw64_prefix}/var
|
||||||
|
%mingw64_includedir %{mingw64_prefix}/include
|
||||||
|
|
||||||
|
# Build macros.
|
||||||
|
%mingw64_host %{mingw64_target}
|
||||||
|
|
||||||
|
%mingw64_cflags %{mingw64_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
|
||||||
|
%mingw64_cppflags %{nil}
|
||||||
|
%mingw64_ldflags %{nil}
|
||||||
|
|
||||||
|
%mingw64_cc %{mingw64_target}-gcc
|
||||||
|
%mingw64_cxx %{mingw64_target}-g++
|
||||||
|
%mingw64_cpp %{mingw64_target}-gcc -E
|
||||||
|
%mingw64_addr2line %{mingw64_target}-addr2line
|
||||||
|
%mingw64_ar %{mingw64_target}-ar
|
||||||
|
%mingw64_as %{mingw64_target}-as
|
||||||
|
%mingw64_c++ %{mingw64_target}-c++
|
||||||
|
%mingw64_c++filt %{mingw64_target}-c++filt
|
||||||
|
%mingw64_dlltool %{mingw64_target}-dlltool
|
||||||
|
%mingw64_dllwrap %{mingw64_target}-dllwrap
|
||||||
|
%mingw64_gcov %{mingw64_target}-gcov
|
||||||
|
%mingw64_gprof %{mingw64_target}-gprof
|
||||||
|
%mingw64_ld %{mingw64_target}-ld
|
||||||
|
%mingw64_nm %{mingw64_target}-nm
|
||||||
|
%mingw64_objcopy %{mingw64_target}-objcopy
|
||||||
|
%mingw64_objdump %{mingw64_target}-objdump
|
||||||
|
%mingw64_ranlib %{mingw64_target}-ranlib
|
||||||
|
%mingw64_readelf %{mingw64_target}-readelf
|
||||||
|
%mingw64_size %{mingw64_target}-size
|
||||||
|
%mingw64_strings %{mingw64_target}-strings
|
||||||
|
%mingw64_strip %{mingw64_target}-strip
|
||||||
|
%mingw64_windmc %{mingw64_target}-windmc
|
||||||
|
%mingw64_windres %{mingw64_target}-windres
|
||||||
|
|
||||||
|
%mingw64_env unset $(/usr/bin/env | egrep '^(\w+)=(.*)$' | egrep -vw 'PWD|USER|LANG' | /usr/bin/cut -d= -f1); \
|
||||||
|
if test -z "$PATH_ORIG" ; then \
|
||||||
|
PATH_ORIG="$PATH"; export PATH_ORIG; \
|
||||||
|
fi; \
|
||||||
|
PATH="%{mingw64_bindir}:$PATH_ORIG"; export PATH; \
|
||||||
|
HOST_CC=gcc; export HOST_CC; \
|
||||||
|
PKG_CONFIG_LIBDIR="%{mingw64_libdir}/pkgconfig:%{mingw64_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \
|
||||||
|
unset PKG_CONFIG_PATH; \
|
||||||
|
_PREFIX="%{_bindir}/%{mingw64_target}-"; \
|
||||||
|
for i in `ls -1 ${_PREFIX}* | grep -v 'gcc-'`; do \
|
||||||
|
x=`echo $i|sed "s,${_PREFIX},,"|tr "a-z+-." "A-ZX__"`; \
|
||||||
|
declare -x $x="$i" ; export $x; \
|
||||||
|
done; \
|
||||||
|
unset _PREFIX; \
|
||||||
|
CC="${MINGW64_CC:-%mingw64_cc}"; export CC; \
|
||||||
|
CFLAGS="${MINGW64_CFLAGS:-%mingw64_cflags}"; export CFLAGS; \
|
||||||
|
CPPFLAGS="${MINGW64_CPPFLAGS:-%mingw64_cppflags}"; export CPPFLAGS \
|
||||||
|
if [ -x "%{_bindir}/%{mingw64_cxx}" ]; then \
|
||||||
|
CXX="${MINGW64_CXX:-%mingw64_cxx}"; export CXX; \
|
||||||
|
CXXFLAGS="${MINGW64_CXXFLAGS:-%mingw64_cflags}"; export CXXFLAGS; \
|
||||||
|
else \
|
||||||
|
CXX=; export CXX; \
|
||||||
|
ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \
|
||||||
|
CXXFLAGS=; export CXXFLAGS; \
|
||||||
|
fi; \
|
||||||
|
LDFLAGS="${MINGW64_LDFLAGS:-%mingw64_ldflags}"; export LDFLAGS; \
|
||||||
|
for i in `ls %{mingw64_bindir}/*|grep -- "-config\$"` ; do \
|
||||||
|
x=`basename $i|tr "a-z+-" "A-ZX_"`; \
|
||||||
|
declare -x $x="$i" ; export $x; \
|
||||||
|
done; \
|
||||||
|
unset x i
|
||||||
|
|
||||||
|
%mingw64_pkg_config %{mingw64_target}-pkg-config
|
||||||
|
|
||||||
|
%mingw64_configure %{mingw64_env} ; \
|
||||||
|
__mingw64_topdir=.; if ! test -x configure; then __mingw64_topdir=..; fi; \\\
|
||||||
|
$__mingw64_topdir/configure \\\
|
||||||
|
--host=%{mingw64_host} \\\
|
||||||
|
--build=%_build \\\
|
||||||
|
--target=%{mingw64_target} \\\
|
||||||
|
--prefix=%{mingw64_prefix} \\\
|
||||||
|
--exec-prefix=%{mingw64_exec_prefix} \\\
|
||||||
|
--bindir=%{mingw64_bindir} \\\
|
||||||
|
--sbindir=%{mingw64_sbindir} \\\
|
||||||
|
--sysconfdir=%{mingw64_sysconfdir} \\\
|
||||||
|
--datadir=%{mingw64_datadir} \\\
|
||||||
|
--includedir=%{mingw64_includedir} \\\
|
||||||
|
--libdir=%{mingw64_libdir} \\\
|
||||||
|
--libexecdir=%{mingw64_libexecdir} \\\
|
||||||
|
--localstatedir=%{mingw64_localstatedir} \\\
|
||||||
|
--sharedstatedir=%{mingw64_sharedstatedir} \\\
|
||||||
|
--mandir=%{mingw64_mandir} \\\
|
||||||
|
--infodir=%{mingw64_infodir} \\\
|
||||||
|
${MINGW_CONFIGURE_ARGS} \\\
|
||||||
|
${MINGW64_CONFIGURE_ARGS}
|
||||||
|
|
||||||
|
%mingw64_make %{mingw64_env} ; \
|
||||||
|
make \\\
|
||||||
|
prefix=%{mingw64_prefix} \\\
|
||||||
|
exec_prefix=%{mingw64_exec_prefix} \\\
|
||||||
|
bindir=%{mingw64_bindir} \\\
|
||||||
|
sbindir=%{mingw64_sbindir} \\\
|
||||||
|
sysconfdir=%{mingw64_sysconfdir} \\\
|
||||||
|
datadir=%{mingw64_datadir} \\\
|
||||||
|
includedir=%{mingw64_includedir} \\\
|
||||||
|
libdir=%{mingw64_libdir} \\\
|
||||||
|
libexecdir=%{mingw64_libexecdir} \\\
|
||||||
|
localstatedir=%{mingw64_localstatedir} \\\
|
||||||
|
sharedstatedir=%{mingw64_sharedstatedir} \\\
|
||||||
|
mandir=%{mingw64_mandir} \\\
|
||||||
|
infodir=%{mingw64_infodir}
|
||||||
|
|
||||||
|
%mingw64_cmake %{mingw64_env} ; \
|
||||||
|
if test -f CMakeLists.txt; then __mingw64_topdir=.; \\\
|
||||||
|
elif test -f ../CMakeLists.txt; then __mingw64_topdir=..; \\\
|
||||||
|
else __mingw64_topdir=""; fi; \\\
|
||||||
|
PATH=%{_prefix}/%{mingw64_target}/bin:$PATH %__cmake \\\
|
||||||
|
-DCMAKE_VERBOSE_MAKEFILE=ON \\\
|
||||||
|
-DCMAKE_INSTALL_PREFIX:PATH=%{mingw64_prefix} \\\
|
||||||
|
-DCMAKE_INSTALL_LIBDIR:PATH=%{mingw64_libdir} \\\
|
||||||
|
-DINCLUDE_INSTALL_DIR:PATH=%{mingw64_includedir} \\\
|
||||||
|
-DLIB_INSTALL_DIR:PATH=%{mingw64_libdir} \\\
|
||||||
|
-DSYSCONF_INSTALL_DIR:PATH=%{mingw64_sysconfdir} \\\
|
||||||
|
-DSHARE_INSTALL_PREFIX:PATH=%{mingw64_datadir} \\\
|
||||||
|
%{?_cmake_skip_rpath} \\\
|
||||||
|
-DBUILD_SHARED_LIBS:BOOL=ON \\\
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/Toolchain-mingw64.cmake \\\
|
||||||
|
${MINGW_CMAKE_ARGS} \\\
|
||||||
|
${MINGW64_CMAKE_ARGS} \\\
|
||||||
|
$@ $__mingw64_topdir
|
||||||
|
|
||||||
|
%mingw64_cmake_kde4 %{mingw64_env} ; \
|
||||||
|
if test -f CMakeLists.txt; then __mingw64_topdir=.; \\\
|
||||||
|
elif test -f ../CMakeLists.txt; then __mingw64_topdir=..; \\\
|
||||||
|
else __mingw64_topdir=""; fi; \\\
|
||||||
|
%__cmake \\\
|
||||||
|
-DCMAKE_VERBOSE_MAKEFILE=ON \\\
|
||||||
|
-DCMAKE_INSTALL_PREFIX:PATH=%{mingw64_prefix} \\\
|
||||||
|
-DCMAKE_INSTALL_LIBDIR:PATH=%{mingw64_libdir} \\\
|
||||||
|
-DINCLUDE_INSTALL_DIR:PATH=%{mingw64_includedir}/kde4 \\\
|
||||||
|
-DLIB_INSTALL_DIR:PATH=%{mingw64_libdir} \\\
|
||||||
|
-DSYSCONF_INSTALL_DIR:PATH=%{mingw64_sysconfdir} \\\
|
||||||
|
-DSHARE_INSTALL_PREFIX:PATH=%{mingw64_datadir} \\\
|
||||||
|
%{?_cmake_skip_rpath} \\\
|
||||||
|
-DBUILD_SHARED_LIBS:BOOL=ON \\\
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/Toolchain-mingw64.cmake \\\
|
||||||
|
${MINGW_CMAKE_ARGS} \\\
|
||||||
|
${MINGW64_CMAKE_ARGS} \\\
|
||||||
|
$@ $__mingw64_topdir
|
||||||
|
|
||||||
|
%mingw64_qmake_qt4 %{mingw64_env} ; \
|
||||||
|
/usr/bin/mingw64-qmake-qt4
|
||||||
|
|
||||||
|
%mingw64_description This is the cross-compiled version of this library / tool.\
|
||||||
|
You should only install this package if you want to cross-compile programs for \
|
||||||
|
Win64 (64 bit Windows).
|
||||||
|
|
||||||
|
%mingw64_debug_package \
|
||||||
|
%package -n %{mingw64_pkg_name}-debuginfo \
|
||||||
|
Summary: Debug information for package %{mingw64_pkg_name} \
|
||||||
|
Group: Development/Debug \
|
||||||
|
BuildArch: noarch \
|
||||||
|
%description -n %{mingw64_pkg_name}-debuginfo \
|
||||||
|
This package provides debug information for package %{mingw64_pkg_name}. \
|
||||||
|
Debug information is useful when developing applications that use this \
|
||||||
|
package or when debugging this package. \
|
||||||
|
%files -n %{mingw64_pkg_name}-debuginfo -f mingw64-debugfiles.list \
|
||||||
|
%defattr(-,root,root,-) \
|
||||||
|
%{nil}
|
||||||
|
|
@ -1,29 +1,34 @@
|
|||||||
%define debug_package %{nil}
|
%global debug_package %{nil}
|
||||||
|
|
||||||
Name: mingw-filesystem
|
Name: mingw-filesystem
|
||||||
Version: 69
|
Version: 95
|
||||||
Release: 15%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: MinGW base filesystem and environment
|
Summary: MinGW cross compiler base filesystem and environment
|
||||||
|
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://hg.et.redhat.com/misc/fedora-mingw--devel/
|
URL: http://fedoraproject.org/wiki/MinGW
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
Source0: COPYING
|
Source0: COPYING
|
||||||
Source1: macros.mingw32
|
Source1: macros.mingw
|
||||||
Source2: mingw32.sh
|
Source2: macros.mingw32
|
||||||
#Source3: mingw32.csh
|
Source3: macros.mingw64
|
||||||
Source4: mingw32-find-requires.sh
|
Source4: mingw32.sh
|
||||||
Source5: mingw32-find-provides.sh
|
Source5: mingw64.sh
|
||||||
Source6: mingw32-scripts.sh
|
Source6: mingw-find-debuginfo.sh
|
||||||
Source7: mingw32-rpmlint.config
|
Source7: mingw-find-requires.sh
|
||||||
Source8: Toolchain-mingw32.cmake
|
Source8: mingw-find-provides.sh
|
||||||
Source9: mingw32-find-debuginfo.sh
|
Source9: mingw-scripts.sh
|
||||||
Source10: mingw32.attr
|
Source10: mingw-rpmlint.config
|
||||||
|
Source11: Toolchain-mingw32.cmake
|
||||||
|
Source12: Toolchain-mingw64.cmake
|
||||||
|
Source13: mingw-find-lang.sh
|
||||||
|
Source14: mingw32.attr
|
||||||
|
Source15: mingw64.attr
|
||||||
# generated with:
|
# generated with:
|
||||||
# ls -1 /usr/lib64/wine/fakedlls | grep "\.dll$" >standard-dlls
|
# ls -1 /usr/lib64/wine/fakedlls | grep "\.dll$" >standard-dlls
|
||||||
Source11: standard-dlls
|
Source16: standard-dlls
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -35,9 +40,27 @@ This environment is maintained by the Fedora MinGW SIG at:
|
|||||||
http://fedoraproject.org/wiki/SIGs/MinGW
|
http://fedoraproject.org/wiki/SIGs/MinGW
|
||||||
|
|
||||||
|
|
||||||
|
%package base
|
||||||
|
Summary: %{summary}
|
||||||
|
|
||||||
|
# Obsolete the packages from the test repo
|
||||||
|
Obsoletes: cross-filesystem < 67-2
|
||||||
|
Obsoletes: cross-filesystem-scripts < 67-2
|
||||||
|
Obsoletes: mingw-filesystem < 75-2
|
||||||
|
Obsoletes: mingw-filesystem-scripts < 75-2
|
||||||
|
|
||||||
|
%description base
|
||||||
|
This package contains the base filesystem layout, RPM macros and
|
||||||
|
environment for all Fedora MinGW packages.
|
||||||
|
|
||||||
|
This environment is maintained by the Fedora MinGW SIG at:
|
||||||
|
|
||||||
|
http://fedoraproject.org/wiki/SIGs/MinGW
|
||||||
|
|
||||||
|
|
||||||
%package -n mingw32-filesystem
|
%package -n mingw32-filesystem
|
||||||
Summary: MinGW base filesystem and environment
|
Summary: %{summary}
|
||||||
Requires: pkgconfig
|
Requires: %{name}-base = %{version}-%{release}
|
||||||
|
|
||||||
# Note about 'Provides: mingw32(foo.dll)'
|
# Note about 'Provides: mingw32(foo.dll)'
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
@ -53,7 +76,7 @@ Requires: pkgconfig
|
|||||||
# proprietary DLLs in our find-requires checking script - essentially
|
# proprietary DLLs in our find-requires checking script - essentially
|
||||||
# it comes out the same either way.
|
# it comes out the same either way.
|
||||||
#
|
#
|
||||||
Provides: %(sed "s/\(.*\)/mingw32(\1) /g" %{SOURCE11} | tr "\n" " ")
|
Provides: %(sed "s/\(.*\)/mingw32(\1) /g" %{SOURCE16} | tr "\n" " ")
|
||||||
|
|
||||||
%description -n mingw32-filesystem
|
%description -n mingw32-filesystem
|
||||||
This package contains the base filesystem layout, RPM macros and
|
This package contains the base filesystem layout, RPM macros and
|
||||||
@ -64,6 +87,21 @@ This environment is maintained by the Fedora MinGW SIG at:
|
|||||||
http://fedoraproject.org/wiki/SIGs/MinGW
|
http://fedoraproject.org/wiki/SIGs/MinGW
|
||||||
|
|
||||||
|
|
||||||
|
%package -n mingw64-filesystem
|
||||||
|
Summary: %{summary}
|
||||||
|
Requires: %{name}-base = %{version}-%{release}
|
||||||
|
|
||||||
|
Provides: %(sed "s/\(.*\)/mingw64(\1) /g" %{SOURCE16} | tr "\n" " ")
|
||||||
|
|
||||||
|
%description -n mingw64-filesystem
|
||||||
|
This package contains the base filesystem layout, RPM macros and
|
||||||
|
environment for all Fedora MinGW packages.
|
||||||
|
|
||||||
|
This environment is maintained by the Fedora MinGW SIG at:
|
||||||
|
|
||||||
|
http://fedoraproject.org/wiki/SIGs/MinGW
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -c -T
|
%setup -q -c -T
|
||||||
cp %{SOURCE0} COPYING
|
cp %{SOURCE0} COPYING
|
||||||
@ -77,96 +115,178 @@ cp %{SOURCE0} COPYING
|
|||||||
mkdir -p $RPM_BUILD_ROOT
|
mkdir -p $RPM_BUILD_ROOT
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
|
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
|
||||||
install -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_libexecdir}/mingw32-scripts
|
install -m 755 %{SOURCE9} $RPM_BUILD_ROOT%{_libexecdir}/mingw-scripts
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
||||||
pushd $RPM_BUILD_ROOT%{_bindir}
|
pushd $RPM_BUILD_ROOT%{_bindir}
|
||||||
for i in mingw32-configure mingw32-make mingw32-cmake mingw32-qmake-qt4; do
|
for i in mingw32-configure mingw32-cmake mingw32-make mingw32-pkg-config \
|
||||||
ln -s %{_libexecdir}/mingw32-scripts $i
|
mingw64-configure mingw64-cmake mingw64-make mingw64-pkg-config ; do
|
||||||
|
ln -s %{_libexecdir}/mingw-scripts $i
|
||||||
done
|
done
|
||||||
popd
|
popd
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
|
||||||
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
|
install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
|
||||||
#install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
|
install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
|
||||||
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.mingw32
|
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.mingw
|
||||||
|
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.mingw32
|
||||||
|
install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.mingw64
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint
|
||||||
install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint/
|
install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint/
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32
|
# Create the folders required for gcc and binutils
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32
|
||||||
# GCC requires these directories, even though they contain links
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/bin
|
||||||
# to binaries which are also installed in /usr/bin etc. These
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/lib
|
||||||
# contain Fedora native binaries.
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/lib
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/lib
|
||||||
|
|
||||||
# The MinGW system root which will contain Windows native binaries
|
# The MinGW system root which will contain Windows native binaries
|
||||||
# and Windows-specific header files, pkgconfig, etc.
|
# and Windows-specific header files, pkgconfig, etc.
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/bin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/etc
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/etc
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/include
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/include
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/include/sys
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/include/sys
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/lib
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/lib/pkgconfig
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/sbin
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/sbin
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/aclocal
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/cmake
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/bin
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/pkgconfig
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/etc
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/xml
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/include
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/include
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/sbin
|
||||||
|
|
||||||
# We don't normally package manual pages and info files, except
|
# We don't normally package manual pages and info files, except
|
||||||
# where those are not supplied by a Fedora native package. So we
|
# where those are not supplied by a Fedora native package. So we
|
||||||
# need to create the directories.
|
# need to create the directories.
|
||||||
#
|
#
|
||||||
# Note that some packages try to install stuff in
|
# Note that some packages try to install stuff in
|
||||||
# /usr/i686-pc-mingw32/sys-root/mingw/man and
|
# /usr/x86_64-pc-mingw32/sys-root/man and
|
||||||
# /usr/i686-pc-mingw32/sys-root/mingw/doc
|
# /usr/x86_64-pc-mingw32/sys-root/doc
|
||||||
# but those are both packaging bugs.
|
# but those are both packaging bugs.
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/doc
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/doc
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/info
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/info
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/man
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/man
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n}
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n}
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-pc-mingw32/sys-root/mingw/share/themes
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/aclocal
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/themes
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/cmake
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/pkgconfig
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/xml
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/doc
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/info
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/man
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n}
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/aclocal
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/themes
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/cmake
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/xml
|
||||||
|
|
||||||
# NB. NOT _libdir
|
# NB. NOT _libdir
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm
|
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm
|
||||||
install -m 0755 %{SOURCE4} $RPM_BUILD_ROOT/usr/lib/rpm
|
install -m 0755 %{SOURCE6} $RPM_BUILD_ROOT%{_rpmconfigdir}
|
||||||
install -m 0755 %{SOURCE5} $RPM_BUILD_ROOT/usr/lib/rpm
|
install -m 0755 %{SOURCE7} $RPM_BUILD_ROOT%{_rpmconfigdir}
|
||||||
install -m 0755 %{SOURCE9} $RPM_BUILD_ROOT/usr/lib/rpm
|
install -m 0755 %{SOURCE8} $RPM_BUILD_ROOT%{_rpmconfigdir}
|
||||||
|
install -m 0755 %{SOURCE13} $RPM_BUILD_ROOT%{_rpmconfigdir}
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/fileattrs
|
mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/fileattrs
|
||||||
install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT/usr/lib/rpm/fileattrs/
|
install -m 0644 %{SOURCE14} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/
|
||||||
|
install -m 0644 %{SOURCE15} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mingw32
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mingw
|
||||||
install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/mingw32
|
install -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{_datadir}/mingw/
|
||||||
|
install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_datadir}/mingw/
|
||||||
|
|
||||||
|
|
||||||
|
%files base
|
||||||
|
%doc COPYING
|
||||||
|
%dir %{_sysconfdir}/rpmlint/
|
||||||
|
%config(noreplace) %{_sysconfdir}/rpmlint/mingw-rpmlint.config
|
||||||
|
%config(noreplace) %{_sysconfdir}/rpm/macros.mingw
|
||||||
|
%{_libexecdir}/mingw-scripts
|
||||||
|
%{_rpmconfigdir}/mingw*
|
||||||
|
%dir %{_datadir}/mingw/
|
||||||
|
|
||||||
%files -n mingw32-filesystem
|
%files -n mingw32-filesystem
|
||||||
%doc COPYING
|
|
||||||
%config(noreplace) %{_sysconfdir}/rpm/macros.mingw32
|
%config(noreplace) %{_sysconfdir}/rpm/macros.mingw32
|
||||||
%config(noreplace) %{_sysconfdir}/profile.d/mingw32.sh
|
%config(noreplace) %{_sysconfdir}/profile.d/mingw32.sh
|
||||||
#%config(noreplace) %{_sysconfdir}/profile.d/mingw32.csh
|
|
||||||
%dir %{_sysconfdir}/rpmlint
|
|
||||||
%config(noreplace) %{_sysconfdir}/rpmlint/mingw32-rpmlint.config
|
|
||||||
%{_bindir}/mingw32-configure
|
%{_bindir}/mingw32-configure
|
||||||
%{_bindir}/mingw32-make
|
|
||||||
%{_bindir}/mingw32-cmake
|
%{_bindir}/mingw32-cmake
|
||||||
%{_bindir}/mingw32-qmake-qt4
|
%{_bindir}/mingw32-make
|
||||||
%{_libexecdir}/mingw32-scripts
|
%{_bindir}/mingw32-pkg-config
|
||||||
%{_prefix}/i686-pc-mingw32/
|
%{_prefix}/i686-w64-mingw32
|
||||||
%{_datadir}/mingw32
|
%{_rpmconfigdir}/fileattrs/mingw32.attr
|
||||||
/usr/lib/rpm/mingw32-*
|
%{_datadir}/mingw/Toolchain-mingw32.cmake
|
||||||
/usr/lib/rpm/fileattrs/mingw32.attr
|
|
||||||
|
%files -n mingw64-filesystem
|
||||||
|
%config(noreplace) %{_sysconfdir}/rpm/macros.mingw64
|
||||||
|
%config(noreplace) %{_sysconfdir}/profile.d/mingw64.sh
|
||||||
|
%{_bindir}/mingw64-configure
|
||||||
|
%{_bindir}/mingw64-cmake
|
||||||
|
%{_bindir}/mingw64-make
|
||||||
|
%{_bindir}/mingw64-pkg-config
|
||||||
|
%{_prefix}/x86_64-w64-mingw32
|
||||||
|
%{_rpmconfigdir}/fileattrs/mingw64.attr
|
||||||
|
%{_datadir}/mingw/Toolchain-mingw64.cmake
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Feb 25 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 95-1
|
||||||
|
- Added support for both win32 and win64 targets
|
||||||
|
- Fixed rpmlint issues
|
||||||
|
- Fixed permissions of the scripts (775 -> 755)
|
||||||
|
- Fixed description of the various subpackages
|
||||||
|
- Make the various macros compliant with the new packaging guidelines:
|
||||||
|
https://fedorahosted.org/fpc/ticket/71
|
||||||
|
- Suppress arch-independent-package-contains-binary-or-object rpmlint
|
||||||
|
errors for static libraries
|
||||||
|
- Improved the mingw_configure, mingw_make, mingw_make_install,
|
||||||
|
mingw_cmake and mingw_cmake_kde4 RPM macros so packagers don't need
|
||||||
|
to use quotes anymore when using arguments. Thanks to Kalev Lember
|
||||||
|
for the initial proof of concept
|
||||||
|
- Dropped the -mms-bitfields argument from the default CFLAGS as
|
||||||
|
it is enabled by default as of gcc 4.7
|
||||||
|
- Replaced the CMake defines QT_HEADERS_DIR and QT_LIBRARY_DIR
|
||||||
|
with QT_BINARY_DIR which is a more proper method to make CMake
|
||||||
|
aware of the location of Qt. Thx to Dominik Schmidt for the hint
|
||||||
|
- Make sure CMake can detect the qmake-qt4 binary in /usr/$target/bin
|
||||||
|
- Make sure CMake can also detect the (native) Qt tools
|
||||||
|
qdbuscpp2xml and qdbusxml2cpp
|
||||||
|
- Added new RPM macros mingw_cmake_kde4, mingw32_cmake_kde4 and mingw64_cmake_kde4
|
||||||
|
- Added three new environment variables which can be set to
|
||||||
|
influence the behaviour of the cmake macros:
|
||||||
|
MINGW_CMAKE_ARGS, MINGW32_CMAKE_ARGS and MINGW64_CMAKE_ARGS
|
||||||
|
- Dropped the mingw32-qmake-qt4 and mingw64-qmake-qt4 wrapper scripts
|
||||||
|
as they're now provided by the mingw{32,64}-qt-qmake packages
|
||||||
|
- Added a new RPM macro: %%{?mingw_package_header}
|
||||||
|
Packagers can use this macro instead of the original boilerplate
|
||||||
|
code which is needed for all mingw packages
|
||||||
|
- Made argument passing using the backwards compatibility macro %%{_mingw32_cmake} work
|
||||||
|
- Fixed an issue in the mingw_cmake macro where it could point to
|
||||||
|
a non-existant CMakeLists.txt file
|
||||||
|
- Fixed a bug in the find-requires script which causes all packages to depend
|
||||||
|
on both the mingw32 and the mingw64 toolchains
|
||||||
|
- Split out the RPM macros which require both the mingw{32,64}-filesystem
|
||||||
|
packages in a new file and put it in the mingw-filesystem-base package
|
||||||
|
- Generate seperate debuginfo packages for mingw32 and mingw64
|
||||||
|
- Set the minimum version of R: mingw{32,64}-filesystem to 70
|
||||||
|
- Use the correct FSF-address in some scripts
|
||||||
|
- Thanks to all the contributors: Erik van Pienbroek, Kalev Lember, Levente
|
||||||
|
Farkas, Marc-Andre Lureau.
|
||||||
|
|
||||||
* Thu Feb 23 2012 Kalev Lember <kalevlember@gmail.com> - 69-15
|
* Thu Feb 23 2012 Kalev Lember <kalevlember@gmail.com> - 69-15
|
||||||
- Rename the source package to mingw-filesystem (#673784)
|
- Rename the source package to mingw-filesystem (#673784)
|
||||||
|
|
||||||
|
40
mingw-find-debuginfo.sh
Executable file
40
mingw-find-debuginfo.sh
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# mingw-find-debuginfo.sh - automagically generate debug info and file list
|
||||||
|
# for inclusion in an rpm spec file for mingw-* packages.
|
||||||
|
|
||||||
|
if [ -z "$1" ] ; then BUILDDIR="."
|
||||||
|
else BUILDDIR=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$2" = "old" ] ; then USE_OLD_METHOD=true; else USE_OLD_METHOD=false; fi
|
||||||
|
|
||||||
|
for f in `find $RPM_BUILD_ROOT -type f -name "*.exe" -or -name "*.dll"`
|
||||||
|
do
|
||||||
|
case $(mingw-objdump -h $f 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in
|
||||||
|
*debuglink*) continue ;;
|
||||||
|
*debug*) ;;
|
||||||
|
*gnu.version*)
|
||||||
|
echo "WARNING: "`echo $f | sed -e "s,^$RPM_BUILD_ROOT/*,/,"`" is already stripped!"
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
*) continue ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo extracting debug info from $f
|
||||||
|
mingw-objcopy --only-keep-debug $f $f.debug || :
|
||||||
|
pushd `dirname $f`
|
||||||
|
mingw-objcopy --add-gnu-debuglink=`basename $f.debug` --strip-unneeded `basename $f` || :
|
||||||
|
popd
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$USE_OLD_METHOD" = "true" ] ; then
|
||||||
|
find $RPM_BUILD_ROOT -type f -name "*.exe.debug" -or -name "*.dll.debug" |
|
||||||
|
sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/debugfiles.list
|
||||||
|
else
|
||||||
|
shift
|
||||||
|
for target in $@; do
|
||||||
|
prefix=`rpm --eval "%{${target}_prefix}"`
|
||||||
|
find $RPM_BUILD_ROOT$prefix -type f -name "*.exe.debug" -or -name "*.dll.debug" |
|
||||||
|
sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/${target}-debugfiles.list
|
||||||
|
done
|
||||||
|
fi
|
17
mingw-find-lang.sh
Executable file
17
mingw-find-lang.sh
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Wrapper for the %find_lang macro which splits out the various translations in per-target lists
|
||||||
|
|
||||||
|
/usr/lib/rpm/find-lang.sh $*
|
||||||
|
if test $? != 0 ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
PACKAGE_NAME=$2
|
||||||
|
targets=`rpm --eval '%{mingw_build_targets}'`
|
||||||
|
for target in $targets; do
|
||||||
|
prefix=`rpm --eval "%{${target}_prefix}"`
|
||||||
|
cat $2.lang | grep "$prefix" > ${target}-$PACKAGE_NAME.lang
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 0
|
@ -3,18 +3,22 @@
|
|||||||
# This script reads filenames from STDIN and outputs any relevant provides
|
# This script reads filenames from STDIN and outputs any relevant provides
|
||||||
# information that needs to be included in the package.
|
# information that needs to be included in the package.
|
||||||
|
|
||||||
if [ "$1" ]
|
targets=$@
|
||||||
then
|
if [ -z "$targets" ] ; then
|
||||||
package_name="$1"
|
echo "Usage: $0 [ mingw32 ] [ mingw64 ]"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -z "$OBJDUMP" ] && OBJDUMP=i686-pc-mingw32-objdump
|
|
||||||
|
|
||||||
filelist=`sed "s/['\"]/\\\&/g"`
|
filelist=`sed "s/['\"]/\\\&/g"`
|
||||||
|
|
||||||
dlls=$(echo $filelist | tr [:blank:] '\n' | grep '\.dll$')
|
dlls=$(echo $filelist | tr [:blank:] '\n' | grep '\.dll$')
|
||||||
|
|
||||||
for f in $dlls; do
|
for f in $dlls; do
|
||||||
basename=`basename $f | tr [:upper:] [:lower:]`
|
basename=`basename $f | tr [:upper:] [:lower:]`
|
||||||
echo "mingw32($basename)"
|
for target in $targets; do
|
||||||
|
host_triplet=`rpm --eval "%{${target}_target}"`
|
||||||
|
[[ $f =~ .*$host_triplet.* ]] && echo "$target($basename)"
|
||||||
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
|
exit 0
|
36
mingw-find-requires.sh
Executable file
36
mingw-find-requires.sh
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This script reads filenames from STDIN and outputs any relevant provides
|
||||||
|
# information that needs to be included in the package.
|
||||||
|
|
||||||
|
[ -z "$OBJDUMP" ] && OBJDUMP=mingw-objdump
|
||||||
|
|
||||||
|
targets=$@
|
||||||
|
if [ -z "$targets" ] ; then
|
||||||
|
echo "Usage: $0 [ mingw32 ] [ mingw64 ]"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get the list of files.
|
||||||
|
|
||||||
|
filelist=`sed "s/['\"]/\\\&/g"`
|
||||||
|
|
||||||
|
dlls=$(echo $filelist | tr [:blank:] '\n' | grep -Ei '\.(dll|exe)$')
|
||||||
|
|
||||||
|
for target in $targets; do
|
||||||
|
dll_found=false
|
||||||
|
host_triplet=`rpm --eval "%{${target}_target}"`
|
||||||
|
for f in $dlls; do
|
||||||
|
if [[ $f =~ .*$host_triplet.* ]]; then
|
||||||
|
$OBJDUMP -p $f | grep 'DLL Name' | grep -Eio '[-._\+[:alnum:]]+\.dll' |
|
||||||
|
tr [:upper:] [:lower:] |
|
||||||
|
sed "s/\(.*\)/$target(\1)/"
|
||||||
|
dll_found=true
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# Add a dependency on filesystem and crt if necessary
|
||||||
|
if [ $dll_found = true ]; then
|
||||||
|
echo "${target}-filesystem >= 83"
|
||||||
|
echo "${target}-crt"
|
||||||
|
fi
|
||||||
|
done | sort -u
|
@ -4,16 +4,21 @@
|
|||||||
|
|
||||||
# Unconditionally remove devel-file-in-non-devel rpmlint warning.
|
# Unconditionally remove devel-file-in-non-devel rpmlint warning.
|
||||||
addFilter ("^mingw32-.*devel-file-in-non-devel")
|
addFilter ("^mingw32-.*devel-file-in-non-devel")
|
||||||
|
addFilter ("^mingw64-.*devel-file-in-non-devel")
|
||||||
|
|
||||||
# /usr/i686-pc-mingw32 is permitted by MinGW packaging guidelines.
|
# /usr/x86_64-pc-mingw32 is permitted by MinGW packaging guidelines.
|
||||||
addFilter ("^mingw32-.*non-standard-dir-in-usr i686-pc-mingw32")
|
addFilter ("^mingw32-.*non-standard-dir-in-usr i686-w64-mingw32")
|
||||||
|
addFilter ("^mingw64-.*non-standard-dir-in-usr x86_64-w64-mingw32")
|
||||||
|
|
||||||
# Permit *.la files (error is a bit odd, but it's what rpmlint prints).
|
# Permit *.la files (error is a bit odd, but it's what rpmlint prints).
|
||||||
addFilter ("^mingw32-.*script-without-shebang.*\.la$")
|
addFilter ("^mingw32-.*script-without-shebang.*\.la$")
|
||||||
|
addFilter ("^mingw64-.*script-without-shebang.*\.la$")
|
||||||
|
|
||||||
# GCC and libtool create executable archive files. It's not clear
|
# GCC and libtool create executable archive files. It's not clear
|
||||||
# why, but we permit this for now.
|
# why, but we permit this for now.
|
||||||
addFilter ("^mingw32-.*spurious-executable-perm.*\.dll\.a$")
|
addFilter ("^mingw32-.*spurious-executable-perm.*\.dll\.a$")
|
||||||
|
addFilter ("^mingw64-.*spurious-executable-perm.*\.dll\.a$")
|
||||||
|
|
||||||
# *.dll.a files are permitted arch-independent objects.
|
# *.a and *.dll.a files are permitted arch-independent objects.
|
||||||
addFilter ("^mingw32-.*arch-independent-package-contains-binary-or-object.*\.dll\.a$")
|
addFilter ("^mingw32-.*arch-independent-package-contains-binary-or-object.*\.a$")
|
||||||
|
addFilter ("^mingw64-.*arch-independent-package-contains-binary-or-object.*\.a$")
|
@ -1,13 +1,13 @@
|
|||||||
#!/bin/sh -
|
#!/bin/sh -
|
||||||
|
|
||||||
# mingw32-scripts
|
# mingw-scripts
|
||||||
# Copyright (C) 2008 Red Hat Inc., Richard W.M. Jones.
|
# Copyright (C) 2008 Red Hat Inc., Richard W.M. Jones.
|
||||||
# Copyright (C) 2008 Levente Farkas
|
# Copyright (C) 2008 Levente Farkas
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation; either version 2 of the License, or
|
# the Free Software Foundation; either version 2, or (at your option)
|
||||||
# (at your option) any later version.
|
# any later version.
|
||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
@ -16,12 +16,19 @@
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
# 02111-1307, USA.
|
||||||
|
|
||||||
# This is a useful command-line script through which one can use the
|
# This is a useful command-line script through which one can use the
|
||||||
# macros from mingw32-macros.mingw32 cross-compilation.
|
# macros from /etc/rpm/macros.cross, macros.mingw32 and macros.mingw64
|
||||||
|
|
||||||
NAME="_`basename $0|tr -- - _`"
|
if [ "`basename $0`" = "i686-w64-mingw32-pkg-config" ] ; then
|
||||||
|
NAME="mingw32_pkg_config"
|
||||||
|
elif [ "`basename $0`" = "x86_64-w64-mingw32-pkg-config" ] ; then
|
||||||
|
NAME="mingw64_pkg_config"
|
||||||
|
else
|
||||||
|
NAME="`basename $0|tr -- - _`"
|
||||||
|
fi
|
||||||
|
|
||||||
# NOTE: The use of 'eval' in combination with '$@' is a potential security risk
|
# NOTE: The use of 'eval' in combination with '$@' is a potential security risk
|
||||||
# We should find a more safe replacement for this command
|
# We should find a more safe replacement for this command
|
@ -1,31 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#mingw32_find-debuginfo.sh - automagically generate debug info and file list
|
|
||||||
#for inclusion in an rpm spec file for mingw32-* packages.
|
|
||||||
|
|
||||||
if [ -z "$1" ] ; then BUILDDIR="."
|
|
||||||
else BUILDDIR=$1
|
|
||||||
fi
|
|
||||||
|
|
||||||
for f in `find $RPM_BUILD_ROOT -type f -name "*.exe" -or -name "*.dll"`
|
|
||||||
do
|
|
||||||
case $(i686-pc-mingw32-objdump -h $f 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in
|
|
||||||
*debuglink*) continue ;;
|
|
||||||
*debug*) ;;
|
|
||||||
*gnu.version*)
|
|
||||||
echo "WARNING: "`echo $f | sed -e "s,^$RPM_BUILD_ROOT/*,/,"`" is already stripped!"
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
*) continue ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo extracting debug info from $f
|
|
||||||
i686-pc-mingw32-objcopy --only-keep-debug $f $f.debug || :
|
|
||||||
pushd `dirname $f`
|
|
||||||
i686-pc-mingw32-objcopy --add-gnu-debuglink=`basename $f.debug` --strip-unneeded `basename $f` || :
|
|
||||||
popd
|
|
||||||
done
|
|
||||||
|
|
||||||
find $RPM_BUILD_ROOT -type f -name "*.exe.debug" -or -name "*.dll.debug" |
|
|
||||||
sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/debugfiles.list
|
|
||||||
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# This script reads filenames from STDIN and outputs any relevant provides
|
|
||||||
# information that needs to be included in the package.
|
|
||||||
|
|
||||||
if [ "$1" ]
|
|
||||||
then
|
|
||||||
package_name="$1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ -z "$OBJDUMP" ] && OBJDUMP=i686-pc-mingw32-objdump
|
|
||||||
|
|
||||||
# Get the list of files.
|
|
||||||
|
|
||||||
filelist=`sed "s/['\"]/\\\&/g"`
|
|
||||||
|
|
||||||
# Everything requires mingw32-filesystem and mingw32-runtime.
|
|
||||||
echo 'mingw32-filesystem'
|
|
||||||
echo 'mingw32-runtime'
|
|
||||||
|
|
||||||
dlls=$(echo $filelist | tr [:blank:] '\n' | grep -Ei '\.(dll|exe)$')
|
|
||||||
|
|
||||||
for f in $dlls; do
|
|
||||||
$OBJDUMP -p $f | grep 'DLL Name' | grep -Eio '[-._\+[:alnum:]]+\.dll' |
|
|
||||||
tr [:upper:] [:lower:] |
|
|
||||||
sed 's/\(.*\)/mingw32(\1)/'
|
|
||||||
done | sort -u
|
|
@ -1,3 +1,3 @@
|
|||||||
%__mingw32_provides %{_rpmconfigdir}/mingw32-find-provides.sh
|
%__mingw32_provides %{_rpmconfigdir}/mingw-find-provides.sh mingw32
|
||||||
%__mingw32_requires %{_rpmconfigdir}/mingw32-find-requires.sh
|
%__mingw32_requires %{_rpmconfigdir}/mingw-find-requires.sh mingw32
|
||||||
%__mingw32_path ^%{_mingw32_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee])$
|
%__mingw32_path ^%{mingw32_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee])$
|
||||||
|
@ -1 +0,0 @@
|
|||||||
# Environment variables for MinGW.
|
|
@ -1,3 +1,3 @@
|
|||||||
# Environment variables for MinGW.
|
# Environment variables for cross compilers.
|
||||||
|
|
||||||
alias mingw32-env='eval `rpm --eval %{_mingw32_env}`'
|
alias mingw32-env='eval `rpm --eval %{mingw32_env}`'
|
||||||
|
3
mingw64.attr
Normal file
3
mingw64.attr
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
%__mingw64_provides %{_rpmconfigdir}/mingw-find-provides.sh mingw64
|
||||||
|
%__mingw64_requires %{_rpmconfigdir}/mingw-find-requires.sh mingw64
|
||||||
|
%__mingw64_path ^%{mingw64_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee])$
|
3
mingw64.sh
Normal file
3
mingw64.sh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Environment variables for cross compilers.
|
||||||
|
|
||||||
|
alias mingw64-env='eval `rpm --eval %{mingw64_env}`'
|
Loading…
Reference in New Issue
Block a user