Skip to content
Snippets Groups Projects
Commit 474dde97 authored by Rocky Automation's avatar Rocky Automation :tv:
Browse files

import mingw-filesystem-139-1.el9

parent f76519e2
No related branches found
No related tags found
No related merge requests found
Showing
with 480 additions and 81 deletions
# RPM macros for the Fedora MinGW Cross Compiler collection # RPM macros for the Fedora MinGW Cross Compiler collection
%mingw_build_targets mingw32 mingw64 %mingw_build_targets mingw32 mingw64 ucrt64
%mingw_build_win32 1 %mingw_build_win32 1
%mingw_build_win64 1 %mingw_build_win64 1
%mingw_build_ucrt64 0
%mingw_strip mingw-strip %mingw_strip mingw-strip
%mingw_objdump mingw-objdump %mingw_objdump mingw-objdump
%mingw_objcopy mingw-objcopy %mingw_objcopy mingw-objcopy
%mingw_nm mingw-nm %mingw_nm mingw-nm
%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_finddebuginfo %{_rpmconfigdir}/mingw-find-debuginfo.sh
%mingw_find_lang %{_rpmconfigdir}/mingw-find-lang.sh %{buildroot} %mingw_find_lang %{_rpmconfigdir}/mingw-find-lang.sh %{buildroot}
...@@ -24,16 +23,14 @@ ...@@ -24,16 +23,14 @@
%if 0%{?mingw_build_win64} == 1 \ %if 0%{?mingw_build_win64} == 1 \
%{?mingw64_debug_package} \ %{?mingw64_debug_package} \
%endif \ %endif \
%if 0%{?mingw_build_ucrt64} == 1 \
%{?ucrt64_debug_package} \
%endif \
%{nil} %{nil}
%mingw_package_header \ %mingw_package_header \
%global __strip %{mingw_strip} \ %global __strip %{mingw_strip} \
%global __objdump %{mingw_objdump} \ %global __objdump %{mingw_objdump} \
%if 0%{?rhel} == 6 \
%global _use_internal_dependency_generator 0 \
%global __find_requires %{mingw_findrequires} \
%global __find_provides %{mingw_findprovides} \
%endif \
%global __debug_install_post %%{mingw_debug_install_post} \ %global __debug_install_post %%{mingw_debug_install_post} \
%{nil} %{nil}
...@@ -44,17 +41,23 @@ run_mingw_configure() \ ...@@ -44,17 +41,23 @@ run_mingw_configure() \
[ -f /usr/lib/rpm/redhat/$(basename $i) ] && %{__rm} -f $i && %{__cp} -fv /usr/lib/rpm/redhat/$(basename $i) $i ; \ [ -f /usr/lib/rpm/redhat/$(basename $i) ] && %{__rm} -f $i && %{__cp} -fv /usr/lib/rpm/redhat/$(basename $i) $i ; \
done ; \ done ; \
%if 0%{?mingw_build_win32} == 1 \ %if 0%{?mingw_build_win32} == 1 \
mkdir build_win32$MINGW_BUILDDIR_SUFFIX \ mkdir -p build_win32$MINGW_BUILDDIR_SUFFIX \
pushd build_win32$MINGW_BUILDDIR_SUFFIX \ pushd build_win32$MINGW_BUILDDIR_SUFFIX \
%{?mingw32_configure} "$@" \ %{?mingw32_configure} "$@" \
popd \ popd \
%endif \ %endif \
%if 0%{?mingw_build_win64} == 1 \ %if 0%{?mingw_build_win64} == 1 \
mkdir build_win64$MINGW_BUILDDIR_SUFFIX \ mkdir -p build_win64$MINGW_BUILDDIR_SUFFIX \
pushd build_win64$MINGW_BUILDDIR_SUFFIX \ pushd build_win64$MINGW_BUILDDIR_SUFFIX \
%{?mingw64_configure} "$@" \ %{?mingw64_configure} "$@" \
popd \ popd \
%endif \ %endif \
%if 0%{?mingw_build_ucrt64} == 1 \
mkdir -p build_ucrt64$MINGW_BUILDDIR_SUFFIX \
pushd build_ucrt64$MINGW_BUILDDIR_SUFFIX \
%{?ucrt64_configure} "$@" \
popd \
%endif \
} \ } \
run_mingw_configure run_mingw_configure
...@@ -67,6 +70,9 @@ run_mingw_make() \ ...@@ -67,6 +70,9 @@ run_mingw_make() \
%if 0%{?mingw_build_win64} == 1 \ %if 0%{?mingw_build_win64} == 1 \
%{__make} -C build_win64$MINGW_BUILDDIR_SUFFIX "$@" $MINGW64_MAKE_ARGS \ %{__make} -C build_win64$MINGW_BUILDDIR_SUFFIX "$@" $MINGW64_MAKE_ARGS \
%endif \ %endif \
%if 0%{?mingw_build_ucrt64} == 1 \
%{__make} -C build_ucrt64$MINGW_BUILDDIR_SUFFIX "$@" $UCRT64_MAKE_ARGS \
%endif \
} \ } \
run_mingw_make run_mingw_make
...@@ -74,17 +80,23 @@ run_mingw_make ...@@ -74,17 +80,23 @@ run_mingw_make
run_mingw_cmake() \ run_mingw_cmake() \
{ \ { \
%if 0%{?mingw_build_win32} == 1 \ %if 0%{?mingw_build_win32} == 1 \
mkdir build_win32$MINGW_BUILDDIR_SUFFIX \ mkdir -p build_win32$MINGW_BUILDDIR_SUFFIX \
pushd build_win32$MINGW_BUILDDIR_SUFFIX \ pushd build_win32$MINGW_BUILDDIR_SUFFIX \
%{?mingw32_cmake "$@"} \ %{?mingw32_cmake "$@"} \
popd \ popd \
%endif \ %endif \
%if 0%{?mingw_build_win64} == 1 \ %if 0%{?mingw_build_win64} == 1 \
mkdir build_win64$MINGW_BUILDDIR_SUFFIX \ mkdir -p build_win64$MINGW_BUILDDIR_SUFFIX \
pushd build_win64$MINGW_BUILDDIR_SUFFIX \ pushd build_win64$MINGW_BUILDDIR_SUFFIX \
%{?mingw64_cmake "$@"} \ %{?mingw64_cmake "$@"} \
popd \ popd \
%endif \ %endif \
%if 0%{?mingw_build_ucrt64} == 1 \
mkdir -p build_ucrt64$MINGW_BUILDDIR_SUFFIX \
pushd build_ucrt64$MINGW_BUILDDIR_SUFFIX \
%{?ucrt64_cmake "$@"} \
popd \
%endif \
} \ } \
run_mingw_cmake run_mingw_cmake
...@@ -92,53 +104,47 @@ run_mingw_cmake ...@@ -92,53 +104,47 @@ run_mingw_cmake
run_mingw_cmake_kde4() \ run_mingw_cmake_kde4() \
{ \ { \
%if 0%{?mingw_build_win32} == 1 \ %if 0%{?mingw_build_win32} == 1 \
mkdir build_win32$MINGW_BUILDDIR_SUFFIX \ mkdir -p build_win32$MINGW_BUILDDIR_SUFFIX \
pushd build_win32$MINGW_BUILDDIR_SUFFIX \ pushd build_win32$MINGW_BUILDDIR_SUFFIX \
%{?mingw32_cmake_kde4 "$@"} \ %{?mingw32_cmake_kde4 "$@"} \
popd \ popd \
%endif \ %endif \
%if 0%{?mingw_build_win64} == 1 \ %if 0%{?mingw_build_win64} == 1 \
mkdir build_win64$MINGW_BUILDDIR_SUFFIX \ mkdir -p build_win64$MINGW_BUILDDIR_SUFFIX \
pushd build_win64$MINGW_BUILDDIR_SUFFIX \ pushd build_win64$MINGW_BUILDDIR_SUFFIX \
%{?mingw64_cmake_kde4 "$@"} \ %{?mingw64_cmake_kde4 "$@"} \
popd \ popd \
%endif \ %endif \
} \ %if 0%{?mingw_build_ucrt64} == 1 \
run_mingw_cmake_kde4 mkdir -p build_ucrt64$MINGW_BUILDDIR_SUFFIX \
pushd build_ucrt64$MINGW_BUILDDIR_SUFFIX \
%mingw_qmake_qt4 \ %{?ucrt64_cmake_kde4 "$@"} \
run_mingw_qmake_qt4() \
{ \
%if 0%{?mingw_build_win32} == 1 \
mkdir build_win32$MINGW_BUILDDIR_SUFFIX \
pushd build_win32$MINGW_BUILDDIR_SUFFIX \
%{?mingw32_qmake_qt4} "$@" \
popd \
%endif \
%if 0%{?mingw_build_win64} == 1 \
mkdir build_win64$MINGW_BUILDDIR_SUFFIX \
pushd build_win64$MINGW_BUILDDIR_SUFFIX \
%{?mingw64_qmake_qt4} "$@" \
popd \ popd \
%endif \ %endif \
} \ } \
run_mingw_qmake_qt4 run_mingw_cmake_kde4
%mingw_qmake_qt5 \ %mingw_qmake_qt5 \
run_mingw_qmake_qt5() \ run_mingw_qmake_qt5() \
{ \ { \
%if 0%{?mingw_build_win32} == 1 \ %if 0%{?mingw_build_win32} == 1 \
mkdir build_win32$MINGW_BUILDDIR_SUFFIX \ mkdir -p build_win32$MINGW_BUILDDIR_SUFFIX \
pushd build_win32$MINGW_BUILDDIR_SUFFIX \ pushd build_win32$MINGW_BUILDDIR_SUFFIX \
%{?mingw32_qmake_qt5} "$@" \ %{?mingw32_qmake_qt5} "$@" \
popd \ popd \
%endif \ %endif \
%if 0%{?mingw_build_win64} == 1 \ %if 0%{?mingw_build_win64} == 1 \
mkdir build_win64$MINGW_BUILDDIR_SUFFIX \ mkdir -p build_win64$MINGW_BUILDDIR_SUFFIX \
pushd build_win64$MINGW_BUILDDIR_SUFFIX \ pushd build_win64$MINGW_BUILDDIR_SUFFIX \
%{?mingw64_qmake_qt5} "$@" \ %{?mingw64_qmake_qt5} "$@" \
popd \ popd \
%endif \ %endif \
%if 0%{?mingw_build_ucrt64} == 1 \
mkdir -p build_ucrt64$MINGW_BUILDDIR_SUFFIX \
pushd build_ucrt64$MINGW_BUILDDIR_SUFFIX \
%{?ucrt64_qmake_qt5} "$@" \
popd \
%endif \
} \ } \
run_mingw_qmake_qt5 run_mingw_qmake_qt5
...@@ -146,17 +152,23 @@ run_mingw_qmake_qt5 ...@@ -146,17 +152,23 @@ run_mingw_qmake_qt5
run_mingw_meson() \ run_mingw_meson() \
{ \ { \
%if 0%{?mingw_build_win32} == 1 \ %if 0%{?mingw_build_win32} == 1 \
mkdir build_win32$MINGW_BUILDDIR_SUFFIX \ mkdir -p build_win32$MINGW_BUILDDIR_SUFFIX \
pushd build_win32$MINGW_BUILDDIR_SUFFIX \ pushd build_win32$MINGW_BUILDDIR_SUFFIX \
%{?mingw32_meson "$@"} \ %{?mingw32_meson "$@"} \
popd \ popd \
%endif \ %endif \
%if 0%{?mingw_build_win64} == 1 \ %if 0%{?mingw_build_win64} == 1 \
mkdir build_win64$MINGW_BUILDDIR_SUFFIX \ mkdir -p build_win64$MINGW_BUILDDIR_SUFFIX \
pushd build_win64$MINGW_BUILDDIR_SUFFIX \ pushd build_win64$MINGW_BUILDDIR_SUFFIX \
%{?mingw64_meson "$@"} \ %{?mingw64_meson "$@"} \
popd \ popd \
%endif \ %endif \
%if 0%{?mingw_build_ucrt64} == 1 \
mkdir -p build_ucrt64$MINGW_BUILDDIR_SUFFIX \
pushd build_ucrt64$MINGW_BUILDDIR_SUFFIX \
%{?ucrt64_meson "$@"} \
popd \
%endif \
} \ } \
run_mingw_meson run_mingw_meson
...@@ -169,6 +181,9 @@ ninja -C build_win32$MINGW_BUILDDIR_SUFFIX "$@" $MINGW32_NINJA_ARGS \ ...@@ -169,6 +181,9 @@ ninja -C build_win32$MINGW_BUILDDIR_SUFFIX "$@" $MINGW32_NINJA_ARGS \
%if 0%{?mingw_build_win64} == 1 \ %if 0%{?mingw_build_win64} == 1 \
ninja -C build_win64$MINGW_BUILDDIR_SUFFIX "$@" $MINGW64_NINJA_ARGS \ ninja -C build_win64$MINGW_BUILDDIR_SUFFIX "$@" $MINGW64_NINJA_ARGS \
%endif \ %endif \
%if 0%{?mingw_build_ucrt64} == 1 \
ninja -C build_ucrt64$MINGW_BUILDDIR_SUFFIX "$@" $UCRT64_NINJA_ARGS \
%endif \
} \ } \
run_mingw_ninja run_mingw_ninja
...@@ -181,6 +196,9 @@ DESTDIR=%{buildroot} ninja -C build_win32$MINGW_BUILDDIR_SUFFIX install \ ...@@ -181,6 +196,9 @@ DESTDIR=%{buildroot} ninja -C build_win32$MINGW_BUILDDIR_SUFFIX install \
%if 0%{?mingw_build_win64} == 1 \ %if 0%{?mingw_build_win64} == 1 \
DESTDIR=%{buildroot} ninja -C build_win64$MINGW_BUILDDIR_SUFFIX install \ DESTDIR=%{buildroot} ninja -C build_win64$MINGW_BUILDDIR_SUFFIX install \
%endif \ %endif \
%if 0%{?mingw_build_ucrt64} == 1 \
DESTDIR=%{buildroot} ninja -C build_ucrt64$MINGW_BUILDDIR_SUFFIX install \
%endif \
} \ } \
run_mingw_ninja_install run_mingw_ninja_install
......
# 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 -E 's/^(mingw-|)/mingw32-/')
%mingw32_target i686-w64-mingw32 %mingw32_target i686-w64-mingw32
# Paths. # Paths.
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
%mingw32_cflags %{mingw32_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 %mingw32_cflags %{mingw32_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
%mingw32_cppflags %{nil} %mingw32_cppflags %{nil}
%mingw32_fflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
%mingw32_ldflags -fstack-protector -lssp %mingw32_ldflags -fstack-protector -lssp
%mingw32_cc %{mingw32_target}-gcc %mingw32_cc %{mingw32_target}-gcc
...@@ -73,6 +74,8 @@ ...@@ -73,6 +74,8 @@
ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \ ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \
CXXFLAGS=; export CXXFLAGS; \ CXXFLAGS=; export CXXFLAGS; \
fi; \ fi; \
FFLAGS="${MINGW32_FFLAGS-%mingw32_fflags}"; export FFLAGS; \
FCFLAGS="${MINGW32_FCFLAGS-%mingw32_fflags}"; export FCFLAGS; \
LDFLAGS="${MINGW32_LDFLAGS:-%mingw32_ldflags}"; export LDFLAGS; \ LDFLAGS="${MINGW32_LDFLAGS:-%mingw32_ldflags}"; export LDFLAGS; \
for i in `ls %{mingw32_bindir}/*|grep -- "-config\$"` ; do \ for i in `ls %{mingw32_bindir}/*|grep -- "-config\$"` ; do \
x=`basename $i|tr "a-z+-." "A-ZX_"`; \ x=`basename $i|tr "a-z+-." "A-ZX_"`; \
...@@ -80,7 +83,7 @@ ...@@ -80,7 +83,7 @@
done; \ done; \
unset x i unset x i
%mingw32_pkg_config %{mingw32_target}-pkg-config %mingw32_pkg_config %{mingw32_target}-pkg-config "$@"
%mingw32_pkgconfig_personalitydir %{mingw32_datadir}/pkgconfig/personality.d %mingw32_pkgconfig_personalitydir %{mingw32_datadir}/pkgconfig/personality.d
%mingw32_configure %{mingw32_env} ; \ %mingw32_configure %{mingw32_env} ; \
...@@ -103,7 +106,7 @@ ...@@ -103,7 +106,7 @@
--mandir=%{mingw32_mandir} \\\ --mandir=%{mingw32_mandir} \\\
--infodir=%{mingw32_infodir} \\\ --infodir=%{mingw32_infodir} \\\
${MINGW_CONFIGURE_ARGS} \\\ ${MINGW_CONFIGURE_ARGS} \\\
${MINGW32_CONFIGURE_ARGS} ${MINGW32_CONFIGURE_ARGS} "$@"
%mingw32_make %{mingw32_env} ; \ %mingw32_make %{mingw32_env} ; \
make \\\ make \\\
...@@ -119,7 +122,7 @@ ...@@ -119,7 +122,7 @@
localstatedir=%{mingw32_localstatedir} \\\ localstatedir=%{mingw32_localstatedir} \\\
sharedstatedir=%{mingw32_sharedstatedir} \\\ sharedstatedir=%{mingw32_sharedstatedir} \\\
mandir=%{mingw32_mandir} \\\ mandir=%{mingw32_mandir} \\\
infodir=%{mingw32_infodir} infodir=%{mingw32_infodir} "$@"
%mingw32_cmake_generic %{mingw32_env} ; \ %mingw32_cmake_generic %{mingw32_env} ; \
PKG_CONFIG_LIBDIR="%{mingw32_libdir}/pkgconfig:%{mingw32_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \ PKG_CONFIG_LIBDIR="%{mingw32_libdir}/pkgconfig:%{mingw32_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \
...@@ -135,26 +138,26 @@ ...@@ -135,26 +138,26 @@
-DSYSCONF_INSTALL_DIR:PATH=%{mingw32_sysconfdir} \\\ -DSYSCONF_INSTALL_DIR:PATH=%{mingw32_sysconfdir} \\\
-DSHARE_INSTALL_PREFIX:PATH=%{mingw32_datadir} \\\ -DSHARE_INSTALL_PREFIX:PATH=%{mingw32_datadir} \\\
-DCMAKE_INSTALL_PREFIX:PATH=%{mingw32_prefix} \\\ -DCMAKE_INSTALL_PREFIX:PATH=%{mingw32_prefix} \\\
-DCMAKE_INSTALL_LIBDIR:PATH=%{mingw32_libdir} \\\
${MINGW_CMAKE_ARGS} \\\ ${MINGW_CMAKE_ARGS} \\\
${MINGW32_CMAKE_ARGS} \\\ ${MINGW32_CMAKE_ARGS} \\\
"$@" $__mingw32_topdir "$@" $__mingw32_topdir
%mingw32_cmake \ %mingw32_cmake \
MINGW32_CMAKE_ARGS="${MINGW32_CMAKE_ARGS} -DINCLUDE_INSTALL_DIR:PATH=%{mingw32_includedir}" \ MINGW32_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR:PATH=%{mingw32_includedir} ${MINGW32_CMAKE_ARGS}" \
%mingw32_cmake_generic %mingw32_cmake_generic
%mingw32_cmake_kde4 \ %mingw32_cmake_kde4 \
MINGW32_CMAKE_ARGS="${MINGW32_CMAKE_ARGS} -DINCLUDE_INSTALL_DIR:PATH=%{mingw32_includedir}/kde4" \ MINGW32_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR:PATH=%{mingw32_includedir}/kde4 ${MINGW32_CMAKE_ARGS}" \
%mingw32_cmake_generic %mingw32_cmake_generic
%mingw32_qmake_qt4 /usr/bin/mingw32-qmake-qt4
%mingw32_qmake_qt5 /usr/bin/mingw32-qmake-qt5 %mingw32_qmake_qt5 /usr/bin/mingw32-qmake-qt5
%mingw32_meson %{mingw32_env} ; \ %mingw32_meson %{mingw32_env} ; \
unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\ unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\
CFLAGS="${MINGW32_CFLAGS-%mingw32_cflags}"; export CFLAGS; \\\ CFLAGS="${MINGW32_CFLAGS-%mingw32_cflags}"; export CFLAGS; \\\
CPPFLAGS="${MINGW32_CPPFLAGS-%mingw32_cppflags}"; export CPPFLAGS; \\\ CPPFLAGS="${MINGW32_CPPFLAGS-%mingw32_cppflags}"; export CPPFLAGS; \\\
FFLAGS="${MINGW32_FFLAGS-%mingw32_fflags}"; export FFLAGS; \
FCFLAGS="${MINGW32_FCFLAGS-%mingw32_fflags}"; export FCFLAGS; \
LDFLAGS="${MINGW32_LDFLAGS:-%mingw32_ldflags}"; export LDFLAGS; \\\ LDFLAGS="${MINGW32_LDFLAGS:-%mingw32_ldflags}"; export LDFLAGS; \\\
if test -f meson.build; then __mingw32_topdir=.; \\\ if test -f meson.build; then __mingw32_topdir=.; \\\
elif test -f ../meson.build; then __mingw32_topdir=..; \\\ elif test -f ../meson.build; then __mingw32_topdir=..; \\\
......
# RPM macros for Fedora MinGW. # RPM macros for Fedora MinGW.
%mingw64_pkg_name %(echo %{name} | sed 's/^mingw-/mingw64-/') %mingw64_pkg_name %(echo %{name} | sed -E 's/^(mingw-|)/mingw64-/')
%mingw64_target x86_64-w64-mingw32 %mingw64_target x86_64-w64-mingw32
# Paths. # Paths.
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
%mingw64_cflags %{mingw64_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 %mingw64_cflags %{mingw64_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
%mingw64_cppflags %{nil} %mingw64_cppflags %{nil}
%mingw64_fflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
%mingw64_ldflags -fstack-protector -lssp %mingw64_ldflags -fstack-protector -lssp
%mingw64_cc %{mingw64_target}-gcc %mingw64_cc %{mingw64_target}-gcc
...@@ -73,6 +74,8 @@ ...@@ -73,6 +74,8 @@
ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \ ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \
CXXFLAGS=; export CXXFLAGS; \ CXXFLAGS=; export CXXFLAGS; \
fi; \ fi; \
FFLAGS="${MINGW64_FFLAGS-%mingw64_fflags}"; export FFLAGS; \
FCFLAGS="${MINGW64_FCFLAGS-%mingw64_fflags}"; export FCFLAGS; \
LDFLAGS="${MINGW64_LDFLAGS:-%mingw64_ldflags}"; export LDFLAGS; \ LDFLAGS="${MINGW64_LDFLAGS:-%mingw64_ldflags}"; export LDFLAGS; \
for i in `ls %{mingw64_bindir}/*|grep -- "-config\$"` ; do \ for i in `ls %{mingw64_bindir}/*|grep -- "-config\$"` ; do \
x=`basename $i|tr "a-z+-." "A-ZX_"`; \ x=`basename $i|tr "a-z+-." "A-ZX_"`; \
...@@ -80,7 +83,7 @@ ...@@ -80,7 +83,7 @@
done; \ done; \
unset x i unset x i
%mingw64_pkg_config %{mingw64_target}-pkg-config %mingw64_pkg_config %{mingw64_target}-pkg-config "$@"
%mingw64_pkgconfig_personalitydir %{mingw32_datadir}/pkgconfig/personality.d %mingw64_pkgconfig_personalitydir %{mingw32_datadir}/pkgconfig/personality.d
%mingw64_configure %{mingw64_env} ; \ %mingw64_configure %{mingw64_env} ; \
...@@ -103,7 +106,7 @@ ...@@ -103,7 +106,7 @@
--mandir=%{mingw64_mandir} \\\ --mandir=%{mingw64_mandir} \\\
--infodir=%{mingw64_infodir} \\\ --infodir=%{mingw64_infodir} \\\
${MINGW_CONFIGURE_ARGS} \\\ ${MINGW_CONFIGURE_ARGS} \\\
${MINGW64_CONFIGURE_ARGS} ${MINGW64_CONFIGURE_ARGS} "$@"
%mingw64_make %{mingw64_env} ; \ %mingw64_make %{mingw64_env} ; \
make \\\ make \\\
...@@ -119,7 +122,7 @@ ...@@ -119,7 +122,7 @@
localstatedir=%{mingw64_localstatedir} \\\ localstatedir=%{mingw64_localstatedir} \\\
sharedstatedir=%{mingw64_sharedstatedir} \\\ sharedstatedir=%{mingw64_sharedstatedir} \\\
mandir=%{mingw64_mandir} \\\ mandir=%{mingw64_mandir} \\\
infodir=%{mingw64_infodir} infodir=%{mingw64_infodir} "$@"
%mingw64_cmake_generic %{mingw64_env} ; \ %mingw64_cmake_generic %{mingw64_env} ; \
PKG_CONFIG_LIBDIR="%{mingw64_libdir}/pkgconfig:%{mingw64_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \ PKG_CONFIG_LIBDIR="%{mingw64_libdir}/pkgconfig:%{mingw64_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \
...@@ -135,26 +138,26 @@ ...@@ -135,26 +138,26 @@
-DSYSCONF_INSTALL_DIR:PATH=%{mingw64_sysconfdir} \\\ -DSYSCONF_INSTALL_DIR:PATH=%{mingw64_sysconfdir} \\\
-DSHARE_INSTALL_PREFIX:PATH=%{mingw64_datadir} \\\ -DSHARE_INSTALL_PREFIX:PATH=%{mingw64_datadir} \\\
-DCMAKE_INSTALL_PREFIX:PATH=%{mingw64_prefix} \\\ -DCMAKE_INSTALL_PREFIX:PATH=%{mingw64_prefix} \\\
-DCMAKE_INSTALL_LIBDIR:PATH=%{mingw64_libdir} \\\
${MINGW_CMAKE_ARGS} \\\ ${MINGW_CMAKE_ARGS} \\\
${MINGW64_CMAKE_ARGS} \\\ ${MINGW64_CMAKE_ARGS} \\\
"$@" $__mingw64_topdir "$@" $__mingw64_topdir
%mingw64_cmake \ %mingw64_cmake \
MINGW64_CMAKE_ARGS="${MINGW64_CMAKE_ARGS} -DINCLUDE_INSTALL_DIR:PATH=%{mingw64_includedir}" \ MINGW64_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR:PATH=%{mingw64_includedir} ${MINGW64_CMAKE_ARGS}" \
%mingw64_cmake_generic %mingw64_cmake_generic
%mingw64_cmake_kde4 \ %mingw64_cmake_kde4 \
MINGW64_CMAKE_ARGS="${MINGW64_CMAKE_ARGS} -DINCLUDE_INSTALL_DIR:PATH=%{mingw64_includedir}/kde4" \ MINGW64_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR:PATH=%{mingw64_includedir}/kde4 ${MINGW64_CMAKE_ARGS}" \
%mingw64_cmake_generic %mingw64_cmake_generic
%mingw64_qmake_qt4 /usr/bin/mingw64-qmake-qt4
%mingw64_qmake_qt5 /usr/bin/mingw64-qmake-qt5 %mingw64_qmake_qt5 /usr/bin/mingw64-qmake-qt5
%mingw64_meson %{mingw64_env} ; \ %mingw64_meson %{mingw64_env} ; \
unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\ unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\
CFLAGS="${MINGW64_CFLAGS-%mingw64_cflags}"; export CFLAGS; \\\ CFLAGS="${MINGW64_CFLAGS-%mingw64_cflags}"; export CFLAGS; \\\
CPPFLAGS="${MINGW64_CPPFLAGS-%mingw64_cppflags}"; export CPPFLAGS; \\\ CPPFLAGS="${MINGW64_CPPFLAGS-%mingw64_cppflags}"; export CPPFLAGS; \\\
FFLAGS="${MINGW64_FFLAGS-%mingw64_fflags}"; export FFLAGS; \
FCFLAGS="${MINGW64_FCFLAGS-%mingw64_fflags}"; export FCFLAGS; \
LDFLAGS="${MINGW64_LDFLAGS:-%mingw64_ldflags}"; export LDFLAGS; \\\ LDFLAGS="${MINGW64_LDFLAGS:-%mingw64_ldflags}"; export LDFLAGS; \\\
if test -f meson.build; then __mingw64_topdir=.; \\\ if test -f meson.build; then __mingw64_topdir=.; \\\
elif test -f ../meson.build; then __mingw64_topdir=..; \\\ elif test -f ../meson.build; then __mingw64_topdir=..; \\\
......
# RPM macros for Fedora MinGW UCRT64.
%ucrt64_pkg_name %(echo %{name} | sed 's/^mingw-/ucrt64-/')
%ucrt64_target x86_64-w64-mingw32ucrt
# Paths.
%ucrt64_sysroot %{_prefix}/%{ucrt64_target}/sys-root
%ucrt64_prefix %{ucrt64_sysroot}/mingw
%ucrt64_exec_prefix %{ucrt64_prefix}
%ucrt64_bindir %{ucrt64_exec_prefix}/bin
%ucrt64_sbindir %{ucrt64_exec_prefix}/sbin
%ucrt64_libexecdir %{ucrt64_exec_prefix}/libexec
%ucrt64_libdir %{ucrt64_exec_prefix}/lib
%ucrt64_datadir %{ucrt64_prefix}/share
%ucrt64_docdir %{ucrt64_prefix}/share/doc
%ucrt64_infodir %{ucrt64_prefix}/share/info
%ucrt64_mandir %{ucrt64_prefix}/share/man
%ucrt64_sysconfdir %{ucrt64_prefix}/etc
%ucrt64_sharedstatedir %{ucrt64_prefix}/com
%ucrt64_localstatedir %{ucrt64_prefix}/var
%ucrt64_includedir %{ucrt64_prefix}/include
# Build macros.
%ucrt64_host %{ucrt64_target}
%ucrt64_cflags %{ucrt64_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4
%ucrt64_cppflags %{nil}
%ucrt64_ldflags -fstack-protector -lssp
%ucrt64_cc %{ucrt64_target}-gcc
%ucrt64_cxx %{ucrt64_target}-g++
%ucrt64_cpp %{ucrt64_target}-gcc -E
%ucrt64_addr2line %{ucrt64_target}-addr2line
%ucrt64_ar %{ucrt64_target}-ar
%ucrt64_as %{ucrt64_target}-as
%ucrt64_dlltool %{ucrt64_target}-dlltool
%ucrt64_dllwrap %{ucrt64_target}-dllwrap
%ucrt64_gcov %{ucrt64_target}-gcov
%ucrt64_gprof %{ucrt64_target}-gprof
%ucrt64_ld %{ucrt64_target}-ld
%ucrt64_nm %{ucrt64_target}-nm
%ucrt64_objcopy %{ucrt64_target}-objcopy
%ucrt64_objdump %{ucrt64_target}-objdump
%ucrt64_ranlib %{ucrt64_target}-ranlib
%ucrt64_readelf %{ucrt64_target}-readelf
%ucrt64_size %{ucrt64_target}-size
%ucrt64_strings %{ucrt64_target}-strings
%ucrt64_strip %{ucrt64_target}-strip
%ucrt64_windmc %{ucrt64_target}-windmc
%ucrt64_windres %{ucrt64_target}-windres
%ucrt64_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="%{ucrt64_bindir}:$PATH_ORIG"; export PATH; \
HOST_CC=gcc; export HOST_CC; \
unset PKG_CONFIG_PATH; \
_PREFIX="%{_bindir}/%{ucrt64_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="${UCRT64_CC:-%ucrt64_cc}"; export CC; \
CFLAGS="${UCRT64_CFLAGS-%ucrt64_cflags}"; export CFLAGS; \
CPPFLAGS="${UCRT64_CPPFLAGS-%ucrt64_cppflags}"; export CPPFLAGS; \
if [ -x "%{_bindir}/%{ucrt64_cxx}" ]; then \
CXX="${UCRT64_CXX:-%ucrt64_cxx}"; export CXX; \
CXXFLAGS="${UCRT64_CXXFLAGS-%ucrt64_cflags}"; export CXXFLAGS; \
else \
CXX=; export CXX; \
ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \
CXXFLAGS=; export CXXFLAGS; \
fi; \
LDFLAGS="${UCRT64_LDFLAGS:-%ucrt64_ldflags}"; export LDFLAGS; \
for i in `ls %{ucrt64_bindir}/*|grep -- "-config\$"` ; do \
x=`basename $i|tr "a-z+-." "A-ZX_"`; \
declare -x $x="$i" ; export $x; \
done; \
unset x i
%ucrt64_pkg_config %{ucrt64_target}-pkg-config "$@"
%ucrt64_pkgconfig_personalitydir %{mingw32_datadir}/pkgconfig/personality.d
%ucrt64_configure %{ucrt64_env} ; \
__ucrt64_topdir=.; if ! test -x configure; then __ucrt64_topdir=..; fi; \\\
$__ucrt64_topdir/configure \\\
--host=%{ucrt64_host} \\\
--build=%_build \\\
--target=%{ucrt64_target} \\\
--prefix=%{ucrt64_prefix} \\\
--exec-prefix=%{ucrt64_exec_prefix} \\\
--bindir=%{ucrt64_bindir} \\\
--sbindir=%{ucrt64_sbindir} \\\
--sysconfdir=%{ucrt64_sysconfdir} \\\
--datadir=%{ucrt64_datadir} \\\
--includedir=%{ucrt64_includedir} \\\
--libdir=%{ucrt64_libdir} \\\
--libexecdir=%{ucrt64_libexecdir} \\\
--localstatedir=%{ucrt64_localstatedir} \\\
--sharedstatedir=%{ucrt64_sharedstatedir} \\\
--mandir=%{ucrt64_mandir} \\\
--infodir=%{ucrt64_infodir} \\\
${MINGW_CONFIGURE_ARGS} \\\
${UCRT64_CONFIGURE_ARGS} "$@"
%ucrt64_make %{ucrt64_env} ; \
make \\\
prefix=%{ucrt64_prefix} \\\
exec_prefix=%{ucrt64_exec_prefix} \\\
bindir=%{ucrt64_bindir} \\\
sbindir=%{ucrt64_sbindir} \\\
sysconfdir=%{ucrt64_sysconfdir} \\\
datadir=%{ucrt64_datadir} \\\
includedir=%{ucrt64_includedir} \\\
libdir=%{ucrt64_libdir} \\\
libexecdir=%{ucrt64_libexecdir} \\\
localstatedir=%{ucrt64_localstatedir} \\\
sharedstatedir=%{ucrt64_sharedstatedir} \\\
mandir=%{ucrt64_mandir} \\\
infodir=%{ucrt64_infodir} "$@"
%ucrt64_cmake_generic %{ucrt64_env} ; \
PKG_CONFIG_LIBDIR="%{ucrt64_libdir}/pkgconfig:%{ucrt64_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \
if test -f CMakeLists.txt; then __ucrt64_topdir=.; \\\
elif test -f ../CMakeLists.txt; then __ucrt64_topdir=..; \\\
else __ucrt64_topdir=""; fi; \\\
if test "${MINGW_CMAKE_NO_VERBOSE}" == "" ; then \
UCRT64_CMAKE_ARGS="${UCRT64_CMAKE_ARGS} -DCMAKE_VERBOSE_MAKEFILE=ON" \
fi \
PATH=%{_prefix}/%{ucrt64_target}/bin:$PATH %__cmake \\\
-DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-ucrt64.cmake \\\
-DBUILD_SHARED_LIBS:BOOL=ON \\\
-DSYSCONF_INSTALL_DIR:PATH=%{ucrt64_sysconfdir} \\\
-DSHARE_INSTALL_PREFIX:PATH=%{ucrt64_datadir} \\\
-DCMAKE_INSTALL_PREFIX:PATH=%{ucrt64_prefix} \\\
-DCMAKE_INSTALL_LIBDIR:PATH=%{ucrt64_libdir} \\\
${MINGW_CMAKE_ARGS} \\\
${UCRT64_CMAKE_ARGS} \\\
"$@" $__ucrt64_topdir
%ucrt64_cmake \
UCRT64_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR:PATH=%{ucrt64_includedir} ${UCRT64_CMAKE_ARGS}" \
%ucrt64_cmake_generic
%ucrt64_cmake_kde4 \
UCRT64_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR:PATH=%{ucrt64_includedir}/kde4 ${UCRT64_CMAKE_ARGS}" \
%ucrt64_cmake_generic
%ucrt64_qmake_qt5 /usr/bin/ucrt64-qmake-qt5
%ucrt64_meson %{ucrt64_env} ; \
unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\
CFLAGS="${UCRT64_CFLAGS-%ucrt64_cflags}"; export CFLAGS; \\\
CPPFLAGS="${UCRT64_CPPFLAGS-%ucrt64_cppflags}"; export CPPFLAGS; \\\
LDFLAGS="${UCRT64_LDFLAGS:-%ucrt64_ldflags}"; export LDFLAGS; \\\
if test -f meson.build; then __ucrt64_topdir=.; \\\
elif test -f ../meson.build; then __ucrt64_topdir=..; \\\
else __ucrt64_topdir=""; fi; \\\
%__meson \\\
--cross-file /usr/share/mingw/toolchain-ucrt64.meson \\\
--default-library shared \\\
--prefix %{ucrt64_prefix} \\\
--bindir %{ucrt64_bindir} \\\
--sbindir %{ucrt64_sbindir} \\\
--sysconfdir %{ucrt64_sysconfdir} \\\
--datadir %{ucrt64_datadir} \\\
--includedir %{ucrt64_includedir} \\\
--libdir %{ucrt64_libdir} \\\
--libexecdir %{ucrt64_libexecdir} \\\
--localstatedir %{ucrt64_localstatedir} \\\
--sharedstatedir %{ucrt64_sharedstatedir} \\\
--mandir %{ucrt64_mandir} \\\
--infodir %{ucrt64_infodir} \\\
${MINGW_MESON_ARGS} \\\
${UCRT64_MESON_ARGS} \\\
"$@" $__ucrt64_topdir
%ucrt64_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).
%ucrt64_debug_package \
%package -n %{ucrt64_pkg_name}-debuginfo \
Summary: Debug information for package %{ucrt64_pkg_name} \
Group: Development/Debug \
BuildArch: noarch \
%description -n %{ucrt64_pkg_name}-debuginfo \
This package provides debug information for package %{ucrt64_pkg_name}. \
Debug information is useful when developing applications that use this \
package or when debugging this package. \
%files -n %{ucrt64_pkg_name}-debuginfo -f ucrt64-debugfiles.list \
%defattr(-,root,root,-) \
%{nil}
...@@ -23,20 +23,24 @@ do ...@@ -23,20 +23,24 @@ do
esac esac
echo extracting debug info from $f echo extracting debug info from $f
mingw-objcopy --only-keep-debug $f $f.debug || : dest=${RPM_BUILD_ROOT}/usr/lib/debug${f/$RPM_BUILD_ROOT/}.debug
pushd `dirname $f` mkdir -p `dirname $dest`
mingw-objcopy --only-keep-debug $f $dest || :
pushd `dirname $dest`
keep_symbols=`mktemp` keep_symbols=`mktemp`
mingw-nm $f.debug --format=sysv --defined-only | awk -F \| '{ if ($4 ~ "Function") print $1 }' | sort > "$keep_symbols" mingw-nm $dest --format=sysv --defined-only | awk -F \| '{ if ($4 ~ "Function") print $1 }' | sort > "$keep_symbols"
mingw-objcopy --add-gnu-debuglink=`basename $f.debug` --strip-unneeded `basename $f` --keep-symbols="$keep_symbols" || : mingw-objcopy --add-gnu-debuglink=`basename $dest` --strip-unneeded $f --keep-symbols="$keep_symbols" || :
rm -f "$keep_symbols" rm -f "$keep_symbols"
popd popd
done done
for target in $@; do for target in $@; do
prefix=`rpm --eval "%{_prefix}/%{${target}_target}"` prefix=`rpm --eval "%{_prefix}/%{${target}_target}"`
if [ ! -d $RPM_BUILD_ROOT$prefix ] ; then if [ ! -d ${RPM_BUILD_ROOT}/usr/lib/debug/$prefix ] ; then
continue continue
fi fi
find $RPM_BUILD_ROOT$prefix -type f -name "*.exe.debug" -or -name "*.dll.debug" -or -name "*.pyd.debug" | find ${RPM_BUILD_ROOT}/usr/lib/debug/$prefix -type f -name "*.exe.debug" -or -name "*.dll.debug" -or -name "*.pyd.debug" |
sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/${target}-debugfiles.list sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/${target}-debugfiles.list
find ${RPM_BUILD_ROOT}/usr/lib/debug/$prefix/* -type d |
sed -n -e "s#^$RPM_BUILD_ROOT#%dir #p" >> $BUILDDIR/${target}-debugfiles.list
done done
...@@ -26,6 +26,8 @@ if [ "`basename $0`" = "i686-w64-mingw32-pkg-config" ] ; then ...@@ -26,6 +26,8 @@ if [ "`basename $0`" = "i686-w64-mingw32-pkg-config" ] ; then
NAME="mingw32_pkg_config" NAME="mingw32_pkg_config"
elif [ "`basename $0`" = "x86_64-w64-mingw32-pkg-config" ] ; then elif [ "`basename $0`" = "x86_64-w64-mingw32-pkg-config" ] ; then
NAME="mingw64_pkg_config" NAME="mingw64_pkg_config"
elif [ "`basename $0`" = "x86_64-w64-mingw32ucrt-pkg-config" ] ; then
NAME="ucrt64_pkg_config"
else else
NAME="`basename $0|tr -- - _`" NAME="`basename $0|tr -- - _`"
fi fi
...@@ -37,9 +39,12 @@ if [[ $NAME == *cmake* ]] ; then ...@@ -37,9 +39,12 @@ if [[ $NAME == *cmake* ]] ; then
MINGW32_CXXFLAGS=${MINGW32_CXXFLAGS:-""} MINGW32_CXXFLAGS=${MINGW32_CXXFLAGS:-""}
MINGW64_CFLAGS=${MINGW64_CFLAGS:-""} MINGW64_CFLAGS=${MINGW64_CFLAGS:-""}
MINGW64_CXXFLAGS=${MINGW64_CXXFLAGS:-""} MINGW64_CXXFLAGS=${MINGW64_CXXFLAGS:-""}
UCRT64_CFLAGS=${UCRT64_CFLAGS:-""}
UCRT64_CXXFLAGS=${UCRT64_CXXFLAGS:-""}
fi fi
# NOTE: The use of 'eval' in combination with '$@' is a potential security risk # NOTE: The use of 'eval' in combination with '$@' in the evaluated rpm macro 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
# Suggestions are welcome at the Fedora MinGW mailing list # Suggestions are welcome at the Fedora MinGW mailing list
eval "MINGW_CMAKE_NO_VERBOSE=1 `rpm --eval "%{$NAME}"`" '"$@"' eval "MINGW_CMAKE_NO_VERBOSE=1 `rpm --eval "%{$NAME}"`"
#!/bin/bash
# This script reads filenames from STDIN and outputs any relevant provides
# information that needs to be included in the package.
targets=$@
if [ -z "$targets" ] ; then
echo "Usage: $0 [ mingw32 ] [ mingw64 ] [ ucrt64 ]"
exit 1
fi
filelist=`sed "s/['\"]/\\\&/g"`
dlls=$(echo $filelist | tr '[:blank:]' '\n' | grep '\.dll$')
for f in $dlls; do
basename=`basename $f | tr '[:upper:]' '[:lower:]'`
for target in $targets; do
host_triplet=`rpm --eval "%{${target}_target}"`
[[ $f =~ .*$host_triplet.* ]] && echo "$target($basename)"
done
done
exit 0
#!/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 ] [ ucrt64 ]"
exit 1
fi
# Get the list of files.
filelist=`sed "s/['\"]/\\\&/g"`
dlls=$(echo $filelist | tr '[:blank:]' '\n' | grep -Ei '\.(dll|exe|pyd)$')
pkgconfig_files=$(echo $filelist | tr '[:blank:]' '\n' | grep -Ei '\.(pc)$')
for target in $targets; do
dll_found=false
host_triplet=`rpm --eval "%{${target}_target}"`
libdir=`rpm --eval "%{${target}_libdir}"`
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 >= 95"
echo "${target}-crt"
fi
# Add a dependency on $target-pkg-config if necessary
pkgconfig_files_found=false
for f in $pkgconfig_files; do
if [[ $f =~ .*$host_triplet.* ]]; then
pkgconfig_files_found=true
break
fi
done
if [ $pkgconfig_files_found = true ]; then
echo "${target}-pkg-config"
fi
done | sort -u
/usr/i686-w64-mingw32/lib/
%__mingw32_provides %{_rpmconfigdir}/mingw-find-provides.sh mingw32 %__mingw32_provides %{_rpmconfigdir}/mingw.prov mingw32
%__mingw32_requires %{_rpmconfigdir}/mingw-find-requires.sh mingw32 %__mingw32_requires %{_rpmconfigdir}/mingw.req mingw32
%__mingw32_path ^%{mingw32_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee])$ %__mingw32_path ^%{mingw32_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee]|[Pp][Yy][Dd]?|[Pp][Cc])$
/usr/x86_64-w64-mingw32/lib/
%__mingw64_provides %{_rpmconfigdir}/mingw-find-provides.sh mingw64 %__mingw64_provides %{_rpmconfigdir}/mingw.prov mingw64
%__mingw64_requires %{_rpmconfigdir}/mingw-find-requires.sh mingw64 %__mingw64_requires %{_rpmconfigdir}/mingw.req mingw64
%__mingw64_path ^%{mingw64_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee])$ %__mingw64_path ^%{mingw64_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee]|[Pp][Yy][Dd]?|[Pp][Cc])$
# MinGW UCRT 64-bit x86 Windows target
Triplet: x86_64-w64-mingw32ucrt
SysrootDir: /usr/x86_64-w64-mingw32ucrt/sys-root/mingw
DefaultSearchPaths: /usr/x86_64-w64-mingw32ucrt/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/share/pkgconfig
SystemIncludePaths: /usr/x86_64-w64-mingw32ucrt/sys-root/mingw/include
SystemLibraryPaths: /usr/x86_64-w64-mingw32ucrt/sys-root/mingw/lib
...@@ -2,26 +2,37 @@ SET(CMAKE_SYSTEM_NAME Windows) ...@@ -2,26 +2,37 @@ SET(CMAKE_SYSTEM_NAME Windows)
SET(CMAKE_SYSTEM_PROCESSOR x86) SET(CMAKE_SYSTEM_PROCESSOR x86)
# specify the cross compiler # specify the cross compiler
SET(CMAKE_C_COMPILER /usr/bin/i686-w64-mingw32-gcc) IF(NOT DEFINED ENV{CC})
SET(CMAKE_CXX_COMPILER /usr/bin/i686-w64-mingw32-g++) SET(CMAKE_C_COMPILER /usr/bin/i686-w64-mingw32-gcc)
ENDIF()
IF(NOT DEFINED ENV{CXX})
SET(CMAKE_CXX_COMPILER /usr/bin/i686-w64-mingw32-g++)
ENDIF()
IF(NOT DEFINED ENV{FC})
SET(CMAKE_Fortran_COMPILER /usr/bin/i686-w64-mingw32-gfortran)
ENDIF()
# where is the target environment # where is the target environment
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-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)
# for libraries and headers in the target directories # for libraries, headers and packages in the target directories
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)
SET(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
# Make sure Qt can be detected by CMake # Make sure Qt can be detected by CMake
SET(QT_BINARY_DIR /usr/i686-w64-mingw32/bin /usr/bin) SET(QT_BINARY_DIR /usr/i686-w64-mingw32/bin /usr/bin)
# set the resource compiler (RHBZ #652435) # set the resource compiler (RHBZ #652435)
SET(CMAKE_RC_COMPILER /usr/bin/i686-w64-mingw32-windres) IF(NOT $ENV{RC})
SET(CMAKE_RC_COMPILER /usr/bin/i686-w64-mingw32-windres)
ENDIF()
# These are needed for compiling lapack (RHBZ #753906) # These are needed for compiling lapack (RHBZ #753906)
SET(CMAKE_Fortran_COMPILER /usr/bin/i686-w64-mingw32-gfortran)
SET(CMAKE_AR:FILEPATH /usr/bin/i686-w64-mingw32-ar) SET(CMAKE_AR:FILEPATH /usr/bin/i686-w64-mingw32-ar)
SET(CMAKE_RANLIB:FILEPATH /usr/bin/i686-w64-mingw32-ranlib) SET(CMAKE_RANLIB:FILEPATH /usr/bin/i686-w64-mingw32-ranlib)
# Workaround failure to detect boost (see #2037724)
SET(Boost_ARCHITECTURE "-x32")
[binaries] [binaries]
c = '/usr/bin/i686-w64-mingw32-gcc' c = 'i686-w64-mingw32-gcc'
cpp = '/usr/bin/i686-w64-mingw32-g++' cpp = 'i686-w64-mingw32-g++'
fortran = '/usr/bin/i686-w64-mingw32-gfortran' fortran = 'i686-w64-mingw32-gfortran'
rust = ['rustc', '--target', 'i686-pc-windows-msvc', '-C', 'linker=/usr/bin/i686-w64-mingw32-gcc'] rust = ['rustc', '--target', 'i686-pc-windows-msvc', '-C', 'linker=/usr/bin/i686-w64-mingw32-gcc']
ar = '/usr/bin/i686-w64-mingw32-ar' ar = '/usr/bin/i686-w64-mingw32-ar'
pkgconfig = '/usr/bin/i686-w64-mingw32-pkg-config' pkgconfig = '/usr/bin/i686-w64-mingw32-pkg-config'
...@@ -10,6 +10,7 @@ strip = '/usr/bin/i686-w64-mingw32-strip' ...@@ -10,6 +10,7 @@ strip = '/usr/bin/i686-w64-mingw32-strip'
windres = '/usr/bin/i686-w64-mingw32-windres' windres = '/usr/bin/i686-w64-mingw32-windres'
dlltool = '/usr/bin/i686-w64-mingw32-dlltool' dlltool = '/usr/bin/i686-w64-mingw32-dlltool'
libgcrypt-config = '/usr/i686-w64-mingw32/sys-root/mingw/bin/libgcrypt-config' libgcrypt-config = '/usr/i686-w64-mingw32/sys-root/mingw/bin/libgcrypt-config'
glib-mkenums = '/usr/i686-w64-mingw32/sys-root/mingw/bin/glib-mkenums'
[properties] [properties]
root = '/usr/i686-w64-mingw32/sys-root/mingw' root = '/usr/i686-w64-mingw32/sys-root/mingw'
......
...@@ -2,26 +2,37 @@ SET(CMAKE_SYSTEM_NAME Windows) ...@@ -2,26 +2,37 @@ SET(CMAKE_SYSTEM_NAME Windows)
SET(CMAKE_SYSTEM_PROCESSOR x86_64) SET(CMAKE_SYSTEM_PROCESSOR x86_64)
# specify the cross compiler # specify the cross compiler
SET(CMAKE_C_COMPILER /usr/bin/x86_64-w64-mingw32-gcc) IF(NOT DEFINED ENV{CC})
SET(CMAKE_CXX_COMPILER /usr/bin/x86_64-w64-mingw32-g++) SET(CMAKE_C_COMPILER /usr/bin/x86_64-w64-mingw32-gcc)
ENDIF()
IF(NOT DEFINED ENV{CXX})
SET(CMAKE_CXX_COMPILER /usr/bin/x86_64-w64-mingw32-g++)
ENDIF()
IF(NOT DEFINED ENV{FC})
SET(CMAKE_Fortran_COMPILER /usr/bin/x86_64-w64-mingw32-gfortran)
ENDIF()
# where is the target environment # where is the target environment
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32/sys-root/mingw) SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-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)
# for libraries and headers in the target directories # for libraries, headers and packages in the target directories
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)
SET(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
# Make sure Qt can be detected by CMake # Make sure Qt can be detected by CMake
SET(QT_BINARY_DIR /usr/x86_64-w64-mingw32/bin /usr/bin) SET(QT_BINARY_DIR /usr/x86_64-w64-mingw32/bin /usr/bin)
# set the resource compiler (RHBZ #652435) # set the resource compiler (RHBZ #652435)
SET(CMAKE_RC_COMPILER /usr/bin/x86_64-w64-mingw32-windres) IF(NOT $ENV{RC})
SET(CMAKE_RC_COMPILER /usr/bin/x86_64-w64-mingw32-windres)
ENDIF()
# These are needed for compiling lapack (RHBZ #753906) # 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_AR:FILEPATH /usr/bin/x86_64-w64-mingw32-ar)
SET(CMAKE_RANLIB:FILEPATH /usr/bin/x86_64-w64-mingw32-ranlib) SET(CMAKE_RANLIB:FILEPATH /usr/bin/x86_64-w64-mingw32-ranlib)
# Workaround failure to detect boost (see #2037724)
SET(Boost_ARCHITECTURE "-x64")
[binaries] [binaries]
c = '/usr/bin/x86_64-w64-mingw32-gcc' c = 'x86_64-w64-mingw32-gcc'
cpp = '/usr/bin/x86_64-w64-mingw32-g++' cpp = 'x86_64-w64-mingw32-g++'
fortran = '/usr/bin/x86_64-w64-mingw32-gfortran' fortran = 'x86_64-w64-mingw32-gfortran'
rust = ['rustc', '--target', 'x86_64-pc-windows-msvc', '-C', 'linker=/usr/bin/x86_64-w64-mingw32-gcc'] rust = ['rustc', '--target', 'x86_64-pc-windows-msvc', '-C', 'linker=/usr/bin/x86_64-w64-mingw32-gcc']
ar = '/usr/bin/x86_64-w64-mingw32-ar' ar = '/usr/bin/x86_64-w64-mingw32-ar'
pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config'
...@@ -10,6 +10,7 @@ strip = '/usr/bin/x86_64-w64-mingw32-strip' ...@@ -10,6 +10,7 @@ strip = '/usr/bin/x86_64-w64-mingw32-strip'
windres = '/usr/bin/x86_64-w64-mingw32-windres' windres = '/usr/bin/x86_64-w64-mingw32-windres'
dlltool = '/usr/bin/x86_64-w64-mingw32-dlltool' dlltool = '/usr/bin/x86_64-w64-mingw32-dlltool'
libgcrypt-config = '/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgcrypt-config' libgcrypt-config = '/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libgcrypt-config'
glib-mkenums = '/usr/x86_64-w64-mingw32/sys-root/mingw/bin/glib-mkenums'
[properties] [properties]
root = '/usr/x86_64-w64-mingw32/sys-root/mingw' root = '/usr/x86_64-w64-mingw32/sys-root/mingw'
......
SET(CMAKE_SYSTEM_NAME Windows)
SET(CMAKE_SYSTEM_PROCESSOR x86_64)
# specify the cross compiler
IF(NOT DEFINED ENV{CC})
SET(CMAKE_C_COMPILER /usr/bin/x86_64-w64-mingw32ucrt-gcc)
ENDIF()
IF(NOT DEFINED ENV{CXX})
SET(CMAKE_CXX_COMPILER /usr/bin/x86_64-w64-mingw32ucrt-g++)
ENDIF()
IF(NOT DEFINED ENV{FC})
SET(CMAKE_Fortran_COMPILER /usr/bin/x86_64-w64-mingw32ucrt-gfortran)
ENDIF()
# where is the target environment
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32ucrt/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-mingw32ucrt/bin /usr/bin)
# set the resource compiler (RHBZ #652435)
IF(NOT $ENV{RC})
SET(CMAKE_RC_COMPILER /usr/bin/x86_64-w64-mingw32ucrt-windres)
ENDIF()
# These are needed for compiling lapack (RHBZ #753906)
SET(CMAKE_AR:FILEPATH /usr/bin/x86_64-w64-mingw32ucrt-ar)
SET(CMAKE_RANLIB:FILEPATH /usr/bin/x86_64-w64-mingw32ucrt-ranlib)
# Workaround failure to detect boost (see #2037724)
SET(Boost_ARCHITECTURE "-x64")
[binaries]
c = 'x86_64-w64-mingw32ucrt-gcc'
cpp = 'x86_64-w64-mingw32ucrt-g++'
fortran = 'x86_64-w64-mingw32ucrt-gfortran'
rust = ['rustc', '--target', 'x86_64-pc-windows-msvc', '-C', 'linker=/usr/bin/x86_64-w64-mingw32ucrt-gcc']
ar = '/usr/bin/x86_64-w64-mingw32ucrt-ar'
pkgconfig = '/usr/bin/x86_64-w64-mingw32ucrt-pkg-config'
ranlib = '/usr/bin/x86_64-w64-mingw32ucrt-ranlib'
strip = '/usr/bin/x86_64-w64-mingw32ucrt-strip'
windres = '/usr/bin/x86_64-w64-mingw32ucrt-windres'
dlltool = '/usr/bin/x86_64-w64-mingw32ucrt-dlltool'
libgcrypt-config = '/usr/x86_64-w64-mingw32ucrt/sys-root/mingw/bin/libgcrypt-config'
[properties]
root = '/usr/x86_64-w64-mingw32ucrt/sys-root/mingw'
needs_exe_wrapper = true
[host_machine]
system = 'windows'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'
%__ucrt64_provides %{_rpmconfigdir}/mingw.prov ucrt64
%__ucrt64_requires %{_rpmconfigdir}/mingw.req ucrt64
%__ucrt64_path ^%{ucrt64_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee]|[Pp][Yy][Dd]?|[Pp][Cc])$
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment