diff --git a/SOURCES/macros.mingw b/SOURCES/macros.mingw index 78417ef..bd0f635 100644 --- a/SOURCES/macros.mingw +++ b/SOURCES/macros.mingw @@ -1,16 +1,15 @@ # 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_win64 1 +%mingw_build_ucrt64 0 %mingw_strip mingw-strip %mingw_objdump mingw-objdump %mingw_objcopy mingw-objcopy %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_find_lang %{_rpmconfigdir}/mingw-find-lang.sh %{buildroot} @@ -24,16 +23,14 @@ %if 0%{?mingw_build_win64} == 1 \ %{?mingw64_debug_package} \ %endif \ +%if 0%{?mingw_build_ucrt64} == 1 \ +%{?ucrt64_debug_package} \ +%endif \ %{nil} %mingw_package_header \ %global __strip %{mingw_strip} \ %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} \ %{nil} @@ -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 ; \ done ; \ %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 \ %{?mingw32_configure} "$@" \ popd \ %endif \ %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 \ %{?mingw64_configure} "$@" \ popd \ %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 @@ -67,6 +70,9 @@ run_mingw_make() \ %if 0%{?mingw_build_win64} == 1 \ %{__make} -C build_win64$MINGW_BUILDDIR_SUFFIX "$@" $MINGW64_MAKE_ARGS \ %endif \ +%if 0%{?mingw_build_ucrt64} == 1 \ +%{__make} -C build_ucrt64$MINGW_BUILDDIR_SUFFIX "$@" $UCRT64_MAKE_ARGS \ +%endif \ } \ run_mingw_make @@ -74,17 +80,23 @@ run_mingw_make run_mingw_cmake() \ { \ %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 \ %{?mingw32_cmake "$@"} \ popd \ %endif \ %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 \ %{?mingw64_cmake "$@"} \ popd \ %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 @@ -92,53 +104,47 @@ run_mingw_cmake run_mingw_cmake_kde4() \ { \ %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 \ %{?mingw32_cmake_kde4 "$@"} \ popd \ %endif \ %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 \ %{?mingw64_cmake_kde4 "$@"} \ popd \ %endif \ +%if 0%{?mingw_build_ucrt64} == 1 \ +mkdir -p build_ucrt64$MINGW_BUILDDIR_SUFFIX \ +pushd build_ucrt64$MINGW_BUILDDIR_SUFFIX \ + %{?ucrt64_cmake_kde4 "$@"} \ +popd \ +%endif \ } \ run_mingw_cmake_kde4 -%mingw_qmake_qt4 \ -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 \ -%endif \ -} \ -run_mingw_qmake_qt4 - %mingw_qmake_qt5 \ run_mingw_qmake_qt5() \ { \ %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 \ %{?mingw32_qmake_qt5} "$@" \ popd \ %endif \ %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 \ %{?mingw64_qmake_qt5} "$@" \ popd \ %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 @@ -146,17 +152,23 @@ run_mingw_qmake_qt5 run_mingw_meson() \ { \ %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 \ %{?mingw32_meson "$@"} \ popd \ %endif \ %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 \ %{?mingw64_meson "$@"} \ popd \ %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 @@ -169,6 +181,9 @@ ninja -C build_win32$MINGW_BUILDDIR_SUFFIX "$@" $MINGW32_NINJA_ARGS \ %if 0%{?mingw_build_win64} == 1 \ ninja -C build_win64$MINGW_BUILDDIR_SUFFIX "$@" $MINGW64_NINJA_ARGS \ %endif \ +%if 0%{?mingw_build_ucrt64} == 1 \ +ninja -C build_ucrt64$MINGW_BUILDDIR_SUFFIX "$@" $UCRT64_NINJA_ARGS \ +%endif \ } \ run_mingw_ninja @@ -181,6 +196,9 @@ DESTDIR=%{buildroot} ninja -C build_win32$MINGW_BUILDDIR_SUFFIX install \ %if 0%{?mingw_build_win64} == 1 \ DESTDIR=%{buildroot} ninja -C build_win64$MINGW_BUILDDIR_SUFFIX install \ %endif \ +%if 0%{?mingw_build_ucrt64} == 1 \ +DESTDIR=%{buildroot} ninja -C build_ucrt64$MINGW_BUILDDIR_SUFFIX install \ +%endif \ } \ run_mingw_ninja_install diff --git a/SOURCES/macros.mingw32 b/SOURCES/macros.mingw32 index 3c393e1..6caf0a2 100644 --- a/SOURCES/macros.mingw32 +++ b/SOURCES/macros.mingw32 @@ -1,6 +1,6 @@ # 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 # Paths. @@ -25,6 +25,7 @@ %mingw32_cflags %{mingw32_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 %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_cc %{mingw32_target}-gcc @@ -73,6 +74,8 @@ ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \ CXXFLAGS=; export CXXFLAGS; \ fi; \ + FFLAGS="${MINGW32_FFLAGS-%mingw32_fflags}"; export FFLAGS; \ + FCFLAGS="${MINGW32_FCFLAGS-%mingw32_fflags}"; export FCFLAGS; \ LDFLAGS="${MINGW32_LDFLAGS:-%mingw32_ldflags}"; export LDFLAGS; \ for i in `ls %{mingw32_bindir}/*|grep -- "-config\$"` ; do \ x=`basename $i|tr "a-z+-." "A-ZX_"`; \ @@ -80,7 +83,7 @@ done; \ 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_configure %{mingw32_env} ; \ @@ -103,7 +106,7 @@ --mandir=%{mingw32_mandir} \\\ --infodir=%{mingw32_infodir} \\\ ${MINGW_CONFIGURE_ARGS} \\\ - ${MINGW32_CONFIGURE_ARGS} + ${MINGW32_CONFIGURE_ARGS} "$@" %mingw32_make %{mingw32_env} ; \ make \\\ @@ -119,7 +122,7 @@ localstatedir=%{mingw32_localstatedir} \\\ sharedstatedir=%{mingw32_sharedstatedir} \\\ mandir=%{mingw32_mandir} \\\ - infodir=%{mingw32_infodir} + infodir=%{mingw32_infodir} "$@" %mingw32_cmake_generic %{mingw32_env} ; \ PKG_CONFIG_LIBDIR="%{mingw32_libdir}/pkgconfig:%{mingw32_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \ @@ -135,26 +138,26 @@ -DSYSCONF_INSTALL_DIR:PATH=%{mingw32_sysconfdir} \\\ -DSHARE_INSTALL_PREFIX:PATH=%{mingw32_datadir} \\\ -DCMAKE_INSTALL_PREFIX:PATH=%{mingw32_prefix} \\\ - -DCMAKE_INSTALL_LIBDIR:PATH=%{mingw32_libdir} \\\ ${MINGW_CMAKE_ARGS} \\\ ${MINGW32_CMAKE_ARGS} \\\ "$@" $__mingw32_topdir %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_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_qmake_qt4 /usr/bin/mingw32-qmake-qt4 %mingw32_qmake_qt5 /usr/bin/mingw32-qmake-qt5 %mingw32_meson %{mingw32_env} ; \ unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\ CFLAGS="${MINGW32_CFLAGS-%mingw32_cflags}"; export CFLAGS; \\\ 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; \\\ if test -f meson.build; then __mingw32_topdir=.; \\\ elif test -f ../meson.build; then __mingw32_topdir=..; \\\ diff --git a/SOURCES/macros.mingw64 b/SOURCES/macros.mingw64 index cb37add..bf28141 100644 --- a/SOURCES/macros.mingw64 +++ b/SOURCES/macros.mingw64 @@ -1,6 +1,6 @@ # 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 # Paths. @@ -25,6 +25,7 @@ %mingw64_cflags %{mingw64_cppflags} -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 %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_cc %{mingw64_target}-gcc @@ -73,6 +74,8 @@ ac_cv_prog_CXX=no; export ac_cv_prog_CXX; \ CXXFLAGS=; export CXXFLAGS; \ fi; \ + FFLAGS="${MINGW64_FFLAGS-%mingw64_fflags}"; export FFLAGS; \ + FCFLAGS="${MINGW64_FCFLAGS-%mingw64_fflags}"; export FCFLAGS; \ LDFLAGS="${MINGW64_LDFLAGS:-%mingw64_ldflags}"; export LDFLAGS; \ for i in `ls %{mingw64_bindir}/*|grep -- "-config\$"` ; do \ x=`basename $i|tr "a-z+-." "A-ZX_"`; \ @@ -80,7 +83,7 @@ done; \ 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_configure %{mingw64_env} ; \ @@ -103,7 +106,7 @@ --mandir=%{mingw64_mandir} \\\ --infodir=%{mingw64_infodir} \\\ ${MINGW_CONFIGURE_ARGS} \\\ - ${MINGW64_CONFIGURE_ARGS} + ${MINGW64_CONFIGURE_ARGS} "$@" %mingw64_make %{mingw64_env} ; \ make \\\ @@ -119,7 +122,7 @@ localstatedir=%{mingw64_localstatedir} \\\ sharedstatedir=%{mingw64_sharedstatedir} \\\ mandir=%{mingw64_mandir} \\\ - infodir=%{mingw64_infodir} + infodir=%{mingw64_infodir} "$@" %mingw64_cmake_generic %{mingw64_env} ; \ PKG_CONFIG_LIBDIR="%{mingw64_libdir}/pkgconfig:%{mingw64_datadir}/pkgconfig"; export PKG_CONFIG_LIBDIR; \ @@ -135,26 +138,26 @@ -DSYSCONF_INSTALL_DIR:PATH=%{mingw64_sysconfdir} \\\ -DSHARE_INSTALL_PREFIX:PATH=%{mingw64_datadir} \\\ -DCMAKE_INSTALL_PREFIX:PATH=%{mingw64_prefix} \\\ - -DCMAKE_INSTALL_LIBDIR:PATH=%{mingw64_libdir} \\\ ${MINGW_CMAKE_ARGS} \\\ ${MINGW64_CMAKE_ARGS} \\\ "$@" $__mingw64_topdir %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_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_qmake_qt4 /usr/bin/mingw64-qmake-qt4 %mingw64_qmake_qt5 /usr/bin/mingw64-qmake-qt5 %mingw64_meson %{mingw64_env} ; \ unset CC CFLAGS CPPFLAGS CXX CXXFLAGS LD LDFLAGS; \\\ CFLAGS="${MINGW64_CFLAGS-%mingw64_cflags}"; export CFLAGS; \\\ 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; \\\ if test -f meson.build; then __mingw64_topdir=.; \\\ elif test -f ../meson.build; then __mingw64_topdir=..; \\\ diff --git a/SOURCES/macros.ucrt64 b/SOURCES/macros.ucrt64 new file mode 100644 index 0000000..acbde9e --- /dev/null +++ b/SOURCES/macros.ucrt64 @@ -0,0 +1,195 @@ +# 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} diff --git a/SOURCES/mingw-find-debuginfo.sh b/SOURCES/mingw-find-debuginfo.sh index f877343..317749a 100755 --- a/SOURCES/mingw-find-debuginfo.sh +++ b/SOURCES/mingw-find-debuginfo.sh @@ -23,20 +23,24 @@ do esac echo extracting debug info from $f - mingw-objcopy --only-keep-debug $f $f.debug || : - pushd `dirname $f` + dest=${RPM_BUILD_ROOT}/usr/lib/debug${f/$RPM_BUILD_ROOT/}.debug + mkdir -p `dirname $dest` + mingw-objcopy --only-keep-debug $f $dest || : + pushd `dirname $dest` keep_symbols=`mktemp` - mingw-nm $f.debug --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-nm $dest --format=sysv --defined-only | awk -F \| '{ if ($4 ~ "Function") print $1 }' | sort > "$keep_symbols" + mingw-objcopy --add-gnu-debuglink=`basename $dest` --strip-unneeded $f --keep-symbols="$keep_symbols" || : rm -f "$keep_symbols" popd done for target in $@; do prefix=`rpm --eval "%{_prefix}/%{${target}_target}"` - if [ ! -d $RPM_BUILD_ROOT$prefix ] ; then + if [ ! -d ${RPM_BUILD_ROOT}/usr/lib/debug/$prefix ] ; then continue 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 + find ${RPM_BUILD_ROOT}/usr/lib/debug/$prefix/* -type d | + sed -n -e "s#^$RPM_BUILD_ROOT#%dir #p" >> $BUILDDIR/${target}-debugfiles.list done diff --git a/SOURCES/mingw-scripts.sh b/SOURCES/mingw-scripts.sh index 929a901..4dc98d2 100755 --- a/SOURCES/mingw-scripts.sh +++ b/SOURCES/mingw-scripts.sh @@ -26,6 +26,8 @@ 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" +elif [ "`basename $0`" = "x86_64-w64-mingw32ucrt-pkg-config" ] ; then + NAME="ucrt64_pkg_config" else NAME="`basename $0|tr -- - _`" fi @@ -37,9 +39,12 @@ if [[ $NAME == *cmake* ]] ; then MINGW32_CXXFLAGS=${MINGW32_CXXFLAGS:-""} MINGW64_CFLAGS=${MINGW64_CFLAGS:-""} MINGW64_CXXFLAGS=${MINGW64_CXXFLAGS:-""} + UCRT64_CFLAGS=${UCRT64_CFLAGS:-""} + UCRT64_CXXFLAGS=${UCRT64_CXXFLAGS:-""} 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 # 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}"`" diff --git a/SOURCES/mingw-find-provides.sh b/SOURCES/mingw.prov similarity index 90% rename from SOURCES/mingw-find-provides.sh rename to SOURCES/mingw.prov index 1bcb2da..b877e16 100755 --- a/SOURCES/mingw-find-provides.sh +++ b/SOURCES/mingw.prov @@ -5,7 +5,7 @@ targets=$@ if [ -z "$targets" ] ; then - echo "Usage: $0 [ mingw32 ] [ mingw64 ]" + echo "Usage: $0 [ mingw32 ] [ mingw64 ] [ ucrt64 ]" exit 1 fi diff --git a/SOURCES/mingw-find-requires.sh b/SOURCES/mingw.req similarity index 88% rename from SOURCES/mingw-find-requires.sh rename to SOURCES/mingw.req index 9e8e303..ef2e065 100755 --- a/SOURCES/mingw-find-requires.sh +++ b/SOURCES/mingw.req @@ -7,7 +7,7 @@ targets=$@ if [ -z "$targets" ] ; then - echo "Usage: $0 [ mingw32 ] [ mingw64 ]" + echo "Usage: $0 [ mingw32 ] [ mingw64 ] [ ucrt64 ]" exit 1 fi @@ -15,16 +15,17 @@ fi filelist=`sed "s/['\"]/\\\&/g"` -dlls=$(echo $filelist | tr '[:blank:]' '\n' | grep -Ei '\.(dll|exe)$') +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' | - grep -v 'api-ms-win' | tr '[:upper:]' '[:lower:]' | + tr '[:upper:]' '[:lower:]' | sed "s/\(.*\)/$target(\1)/" dll_found=true fi @@ -36,15 +37,17 @@ for target in $targets; do 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 - # Add a dependency on $target-pkg-config if necessary if [ $pkgconfig_files_found = true ]; then echo "${target}-pkg-config" fi + done | sort -u diff --git a/SOURCES/mingw32-hostlib.conf b/SOURCES/mingw32-hostlib.conf new file mode 100644 index 0000000..c00dd5d --- /dev/null +++ b/SOURCES/mingw32-hostlib.conf @@ -0,0 +1 @@ +/usr/i686-w64-mingw32/lib/ diff --git a/SOURCES/mingw32.attr b/SOURCES/mingw32.attr index 498385b..35c1e92 100644 --- a/SOURCES/mingw32.attr +++ b/SOURCES/mingw32.attr @@ -1,3 +1,3 @@ -%__mingw32_provides %{_rpmconfigdir}/mingw-find-provides.sh mingw32 -%__mingw32_requires %{_rpmconfigdir}/mingw-find-requires.sh mingw32 -%__mingw32_path ^%{mingw32_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee])$ +%__mingw32_provides %{_rpmconfigdir}/mingw.prov mingw32 +%__mingw32_requires %{_rpmconfigdir}/mingw.req mingw32 +%__mingw32_path ^%{mingw32_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee]|[Pp][Yy][Dd]?|[Pp][Cc])$ diff --git a/SOURCES/mingw64-hostlib.conf b/SOURCES/mingw64-hostlib.conf new file mode 100644 index 0000000..0defb02 --- /dev/null +++ b/SOURCES/mingw64-hostlib.conf @@ -0,0 +1 @@ +/usr/x86_64-w64-mingw32/lib/ diff --git a/SOURCES/mingw64.attr b/SOURCES/mingw64.attr index 9e7ab01..5142751 100644 --- a/SOURCES/mingw64.attr +++ b/SOURCES/mingw64.attr @@ -1,3 +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])$ +%__mingw64_provides %{_rpmconfigdir}/mingw.prov mingw64 +%__mingw64_requires %{_rpmconfigdir}/mingw.req mingw64 +%__mingw64_path ^%{mingw64_prefix}/.*\.([Dd][Ll][Ll]|[Ee][Xx][Ee]|[Pp][Yy][Dd]?|[Pp][Cc])$ diff --git a/SOURCES/pkgconf-personality-ucrt64 b/SOURCES/pkgconf-personality-ucrt64 new file mode 100644 index 0000000..7dcf5b3 --- /dev/null +++ b/SOURCES/pkgconf-personality-ucrt64 @@ -0,0 +1,6 @@ +# 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 diff --git a/SOURCES/standard-dlls-mingw32 b/SOURCES/standard-dlls-mingw32 deleted file mode 100644 index 2606332..0000000 --- a/SOURCES/standard-dlls-mingw32 +++ /dev/null @@ -1,329 +0,0 @@ -aclui.dll -activeds.dll -adsldpc.dll -advapi32.dll -apcups.dll -authz.dll -avicap32.dll -avifil32.dll -avrt.dll -bcrypt.dll -bootvid.dll -browcli.dll -bthprops.cpl -cabinet.dll -cap.dll -cfgmgr32.dll -classpnp.sys -clfsw32.dll -clusapi.dll -cmutil.dll -comctl32.dll -comdlg32.dll -connect.dll -credui.dll -crtdll.dll -crypt32.dll -cryptnet.dll -cryptsp.dll -cryptxml.dll -cscapi.dll -ctl3d32.dll -d2d1.dll -d3d11.dll -d3d8.dll -d3d9.dll -d3dcompiler_37.dll -d3dcompiler_38.dll -d3dcompiler_39.dll -d3dcompiler_40.dll -d3dcompiler_41.dll -d3dcompiler_42.dll -d3dcompiler_43.dll -d3dcompiler_46.dll -d3dcompiler_47.dll -d3dcompiler.dll -d3dcsx_46.dll -d3dcsxd_43.dll -d3dim.dll -d3drm.dll -d3dx10_33.dll -d3dx10_34.dll -d3dx10_35.dll -d3dx10_36.dll -d3dx10_37.dll -d3dx10_38.dll -d3dx10_39.dll -d3dx10_40.dll -d3dx10_41.dll -d3dx10_42.dll -d3dx10_43.dll -d3dx11_42.dll -d3dx11_43.dll -d3dx8d.dll -d3dx9_24.dll -d3dx9_25.dll -d3dx9_26.dll -d3dx9_27.dll -d3dx9_28.dll -d3dx9_29.dll -d3dx9_30.dll -d3dx9_31.dll -d3dx9_32.dll -d3dx9_33.dll -d3dx9_34.dll -d3dx9_35.dll -d3dx9_36.dll -d3dx9_37.dll -d3dx9_38.dll -d3dx9_39.dll -d3dx9_40.dll -d3dx9_41.dll -d3dx9_42.dll -d3dx9_43.dll -d3dx9d.dll -d3dxof.dll -davclnt.dll -davhlpr.dll -dbgeng.dll -dbghelp.dll -ddraw.dll -devmgr.dll -devobj.dll -devrtl.dll -dfscli.dll -dhcpcsvc6.dll -dhcpcsvc.dll -dhcpsapi.dll -dinput8.dll -dinput.dll -dlcapi.dll -dnsapi.dll -dplayx.dll -dpnaddr.dll -dpnet.dll -dpnlobby.def -dpvoice.dll -dsetup.dll -dsound.dll -dsrole.dll -dssec.dll -dwmapi.dll -dwrite.dll -dxapi.sys -dxgi.dll -dxva2.dll -eappcfg.dll -eapphost.dll -eappprxy.dll -elscore.dll -esent.dll -evr.dll -faultrep.dll -fwpuclnt.dll -gdi32.dll -gdiplus.dll -genericui.dll -glaux.dll -glu32.dll -glut32.dll -glut.dll -gpapi.dll -gpedit.dll -gpscript.dll -gptext.dll -hal.dll -hidclass.sys -hid.dll -hidparse.sys -httpapi.dll -icmui.dll -igmpagnt.dll -imagehlp.dll -imm32.dll -iphlpapi.dll -iscsidsc.dll -kernel32.dll -ksproxy.ax -ks.sys -ksuser.dll -ktmw32.dll -logoncli.dll -lz32.dll -mapi32.dll -mcd.sys -mfcuia32.dll -mf.dll -mfplat.dll -mgmtapi.dll -mprapi.dll -mpr.dll -mqrt.dll -msacm32.dll -mscms.dll -msctf.dll -msdmo.dll -msdrm.dll -mshtml.dll -mshtmled.dll -msi.dll -msimg32.dll -mstask.dll -msvcp60.dll -msvcr100.dll -msvcr110.dll -msvcr120d.dll -msvcr120.dll -msvcr80.dll -msvcr90d.dll -msvcr90.dll -msvcrt.dll -msvfw32.dll -mswsock.dll -ncrypt.dll -nddeapi.dll -ndfapi.dll -ndis.sys -netapi32.dll -netjoin.dll -netutils.dll -newdev.dll -normaliz.dll -ntdll.dll -ntdsapi.dll -ntmsapi.dll -ntoskrnl.exe -odbc32.dll -odbccp32.dll -ole32.dll -oleacc.dll -oleaut32.dll -olecli32.dll -oledlg.dll -olepro32.dll -olesvr32.dll -olethk32.dll -opengl32.dll -p2pcollab.dll -p2p.dll -p2pgraph.dll -pcwum.dll -pdh.dll -pdhui.dll -penwin32.dll -pkpd32.dll -polprocl.dll -powrprof.dll -psapi.dll -quartz.dll -qutil.dll -qwave.dll -rapi.dll -rasapi32.dll -rasdlg.dll -resutils.dll -rpcdce4.dll -rpcdiag.dll -rpchttp.dll -rpcns4.dll -rpcrt4.dll -rstrtmgr.dll -rtm.dll -rtutils.dll -samcli.dll -schedcli.dll -scsiport.sys -secur32.dll -setupapi.dll -shell32.dll -shfolder.dll -shlwapi.dll -slc.dll -slcext.dll -slwga.dll -snmpapi.dll -spoolss.dll -srvcli.dll -sspicli.dll -svrapi.dll -sxs.dll -t2embed.dll -tapi32.dll -tbs.dll -tdh.dll -tdi.sys -thirdpartyeapdispatcher.dll -txfw32.dll -url.dll -urlmon.dll -usbcamd2.sys -usbcamd.sys -usbd.sys -usbport.sys -user32.dll -userenv.dll -usp10.dll -uxtheme.dll -vdmdbg.dll -version.dll -videoprt.sys -virtdisk.dll -vssapi.dll -vss_ps.dll -vsstrace.dll -wdsclientapi.dll -wdsclient.dll -wdscore.dll -wdscsl.dll -wdsimage.dll -wdstptc.dll -wdsupgcompl.dll -wdsutil.dll -wecapi.dll -wer.dll -wevtapi.dll -wevtfwd.dll -wiadss.dll -win32k.sys -win32spl.dll -winhttp.dll -wininet.dll -winmm.dll -winscard.dll -winspool.drv -winstrm.dll -wintrust.dll -winusb.dll -wkscli.dll -wlanapi.dll -wlanui.dll -wlanutil.dll -wldap32.dll -wmilib.sys -wow32.dll -ws2_32.dll -wsdapi.dll -wsnmp32.dll -wsock32.dll -wst.dll -wtsapi32.dll -x3daudio1_2.dll -x3daudio1_3.dll -x3daudio1_4.dll -x3daudio1_5.dll -x3daudio1_6.dll -x3daudio1_7.dll -x3daudiod1_7.dll -xapofx1_0.dll -xapofx1_1.dll -xapofx1_2.dll -xapofx1_3.dll -xapofx1_4.dll -xapofx1_5.dll -xapofxd1_5.dll -xaudio2_8.dll -xinput1_1.dll -xinput1_2.dll -xinput1_3.dll -xinput1_4.dll -xinput9_1_0.dll diff --git a/SOURCES/standard-dlls-mingw64 b/SOURCES/standard-dlls-mingw64 deleted file mode 100644 index 496a4a7..0000000 --- a/SOURCES/standard-dlls-mingw64 +++ /dev/null @@ -1,1232 +0,0 @@ -6to4svc.dll -aaaamon.dll -acledit.dll -aclui.dll -active.dll -activeds.dll -admparse.dll -admwprox.dll -adptif.dll -adrot.dll -adsiis.dll -adsiisex.dll -adsldpc.dll -adsldp.dll -adsmsext.dll -adsnt.dll -advapi32.dll -advpack.dll -aelupsvc.dll -agentanm.dll -agentctl.dll -agentdp2.dll -agentdpv.dll -agentmpx.dll -agentpsh.dll -agentsr.dll -agrmco64.dll -agtintl.dll -aksclass.dll -alrsvc.dll -amstream.dll -apcups.dll -apphelp.dll -appmgmts.dll -aqadmin.dll -aqueue.dll -asp.dll -aspperf.dll -asycfilt.dll -atkctrs.dll -atl.dll -atmlib.dll -atrace.dll -audiosrv.dll -authz.dll -autodial.dll -autodisc.dll -avicap32.dll -avifil32.dll -avrt.dll -azroles.dll -azroleui.dll -basesrv.dll -batmeter.dll -batt.dll -bcrypt.dll -bidispl.dll -bitsprx2.dll -bitsprx3.dll -bnts.dll -bootvid.dll -bprovider.dll -browscap.dll -browser.dll -browseui.dll -brp_sysinfo.dll -bthpanux.dll -bthprops.cpl -bthserv.dll -cabinet.dll -cabview.dll -camocx.dll -cards.dll -catsrv.dll -catsrvps.dll -catsrvut.dll -cdfview.dll -cdm.dll -cdosys.dll -certcli.dll -certmgr.dll -certobj.dll -cfgbkend.dll -cfgmgr32.dll -c_gb18030.dll -chsbrkr.dll -chtbrkr.dll -ciadmin.dll -cic.dll -cimwin32.dll -cintime.dll -ciodm.dll -c_is2022.dll -c_iscii.dll -classpnp.sys -clbcatq.dll -clb.dll -clfsw32.dll -cliconfg.dll -clusapi.dll -cmcfg32.dll -cmdial32.dll -cmpbk32.dll -cmprops.dll -cmsetacl.dll -cmutil.dll -cnbjmon.dll -cnetcfg.dll -coadmin.dll -colbact.dll -colbcat.dll -comaddin.dll -comadmin.dll -comcat.dll -comctl32.dll -comdlg32.dll -compatui.dll -compstui.dll -comrepl.dll -comres.dll -comsetup.dll -comsnap.dll -comsvcs.dll -comuid.dll -confmsp.dll -connect.dll -console.dll -controt.dll -corpol.dll -credui.dll -crtdll.dll -crypt32.dll -cryptdlg.dll -cryptdll.dll -cryptext.dll -cryptnet.dll -cryptsp.dll -cryptsvc.dll -cryptui.dll -cryptxml.dll -cscapi.dll -cscdll.dll -cscui.dll -csrsrv.dll -cufat.dll -d2d1.dll -d3d11.dll -d3d8thk.dll -d3d9.dll -d3dcompiler_37.dll -d3dcompiler_38.dll -d3dcompiler_39.dll -d3dcompiler_40.dll -d3dcompiler_41.dll -d3dcompiler_42.dll -d3dcompiler_43.dll -d3dcompiler_46.dll -d3dcompiler_47.dll -d3dcompiler.dll -d3dcsx_46.dll -d3dcsxd_43.dll -d3dx10_33.dll -d3dx10_34.dll -d3dx10_35.dll -d3dx10_36.dll -d3dx10_37.dll -d3dx10_38.dll -d3dx10_39.dll -d3dx10_40.dll -d3dx10_41.dll -d3dx10_42.dll -d3dx10_43.dll -d3dx11_42.dll -d3dx11_43.dll -d3dx9_24.dll -d3dx9_25.dll -d3dx9_26.dll -d3dx9_27.dll -d3dx9_28.dll -d3dx9_29.dll -d3dx9_30.dll -d3dx9_31.dll -d3dx9_32.dll -d3dx9_33.dll -d3dx9_34.dll -d3dx9_35.dll -d3dx9_36.dll -d3dx9_37.dll -d3dx9_38.dll -d3dx9_39.dll -d3dx9_40.dll -d3dx9_41.dll -d3dx9_42.dll -d3dx9_43.dll -d3dxof.dll -danim.dll -dataclen.dll -datime.dll -davclnt.dll -davcprox.dll -dbgeng.dll -dbghelp.dll -dbnetlib.dll -dbnmpntw.dll -dciman32.dll -ddraw.dll -ddrawex.dll -deskadp.dll -deskmon.dll -deskperf.dll -devenum.dll -devmgr.dll -devobj.dll -devrtl.dll -dfrgifcps.dll -dfrgsnap.dll -dfrgui.dll -dfsshlex.dll -dgnet.dll -dhcpcsvc6.dll -dhcpcsvc.dll -dhcpmon.dll -dhcpsapi.dll -diactfrm.dll -digest.dll -dimap.dll -dimsntfy.dll -dimsroam.dll -dinput8.dll -dinput.dll -directdb.dll -diskcopy.dll -dispex.dll -dmconfig.dll -dmdlgs.dll -dmdskmgr.dll -dmintf.dll -dmivcitf.dll -dmocx.dll -dmserver.dll -dmutil.dll -dnsapi.dll -dnsrslvr.dll -docprop2.dll -docprop.dll -dpnaddr.dll -dpnet.dll -dpnhpast.dll -dpnhupnp.dll -dpnlobby.dll -dpvacm.dll -dpvoice.dll -dpvvox.dll -drprov.dll -ds32gt.dll -dsauth.dll -dsdmo.dll -dsdmoprp.dll -dskquota.dll -dskquoui.dll -dsound3d.dll -dsound.dll -dsprop.dll -dsprov.dll -dsquery.dll -dssec.dll -dssenh.dll -dsuiext.dll -duser.dll -dwmapi.dll -dwrite.dll -dxdiagn.dll -dxgi.dll -dxtmsft.dll -dxtrans.dll -dxva2.dll -eappcfg.dll -eapphost.dll -eappprxy.dll -efsadu.dll -els.dll -encapi.dll -ersvc.dll -es.dll -esent.dll -esentprf.dll -esscli.dll -eventcls.dll -eventlog.dll -evntrprv.dll -evr.dll -evtgprov.dll -exports.dll -exprfdll.dll -exstrace.dll -extmgr.dll -f3ahvoas.dll -fastprox.dll -faultrep.dll -fcachdll.dll -fde.dll -fdeploy.dll -feclient.dll -filemgmt.dll -fldrclnr.dll -fltlib.dll -fmifs.dll -fontext.dll -fontsub.dll -framedyn.dll -fsusd.dll -ftpctrs2.dll -ftpmib.dll -ftpsvc2.dll -fwcfg.dll -fwpuclnt.dll -fx.dll -fxsapi.dll -fxscfgwz.dll -fxscom.dll -fxscomex.dll -fxsdrv.dll -fxsmon.dll -fxsocm.dll -fxsperf.dll -fxsroute.dll -fxsst.dll -fxst30.dll -fxstiff.dll -fxsui.dll -fxswzrd.dll -gcdef.dll -gdi32.dll -gdiplus.dll -genericui.dll -getuname.dll -glmf32.dll -glu32.dll -gpedit.dll -gpkcsp.dll -gptext.dll -guitrn.dll -gzip.dll -h323msp.dll -hal.dll -hbaapi.dll -hgfs.dll -hhsetup.dll -hidclass.sys -hid.dll -hidparse.sys -hlink.dll -hmmapi.dll -hnetcfg.dll -hnetmon.dll -hnetwiz.dll -hostmib.dll -hotplug.dll -hticons.dll -htrn_jis.dll -httpapi.dll -httpext.dll -httpmib.dll -httpodbc.dll -htui.dll -hypertrm.dll -iasacct.dll -iasads.dll -iashlpr.dll -iasnap.dll -iaspolcy.dll -iasrad.dll -iassam.dll -iassdo.dll -iassvcs.dll -icaapi.dll -icfgnt.dll -icm32.dll -icmp.dll -icmui.dll -icwconn.dll -icwdl.dll -icwhelp.dll -icwphbk.dll -icwutil.dll -idq.dll -ieakeng.dll -ieaksie.dll -iedkcs32.dll -iepeers.dll -iernonce.dll -iesetup.dll -ifmon.dll -ifsutil.dll -igmpagnt.dll -iisadmin.dll -iiscfg.dll -iisclex4.dll -iis.dll -iisext.dll -iislog.dll -iismap.dll -iisprov.dll -iisrstap.dll -iisrtl.dll -iisui.dll -iisuiobj.dll -iisutil.dll -iisw3adm.dll -imagehlp.dll -imedic.dll -imejpcus.dll -imekrcic.dll -imeshare.dll -imeskdic.dll -imeskdic.dll -imeskf.dll -imgutil.dll -imjp81k.dll -imjputyc.dll -imm32.dll -imsinsnt.dll -inetcfg.dll -inetcomm.dll -inetmgr.dll -inetmib1.dll -inetpp.dll -inetppui.dll -infoadmn.dll -infocomm.dll -infoctrs.dll -infosoft.dll -initpki.dll -input.dll -inseng.dll -iphlpapi.dll -ipmontr.dll -ipnathlp.dll -ippromon.dll -iprip.dll -iprop.dll -iprtprio.dll -iprtrmgr.dll -ipsecsnp.dll -ipsecspd.dll -ipsmsnap.dll -ipv6mon.dll -ipxsap.dll -irclass.dll -isapips.dll -isapitst.dll -isatq.dll -iscomlog.dll -iscsidsc.dll -isignup2.dll -itlocal.dll -itss.dll -ixsso.dll -iyuv_32.dll -jet500.dll -jscript.dll -jsproxy.dll -kbd101a.dll -kbd101b.dll -kbd101c.dll -kbd101.dll -kbd103.dll -kbd106.dll -kbd106n.dll -kbda1.dll -kbda2.dll -kbda3.dll -kbdal.dll -kbdarme.dll -kbdarmw.dll -kbdax2.dll -kbdaze.dll -kbdazel.dll -kbdbe.dll -kbdbene.dll -kbdblr.dll -kbdbr.dll -kbdbu.dll -kbdca.dll -kbdcan.dll -kbdcr.dll -kbdcz1.dll -kbdcz2.dll -kbdcz.dll -kbdda.dll -kbddiv1.dll -kbddiv2.dll -kbddv.dll -kbdes.dll -kbdest.dll -kbdfa.dll -kbdfc.dll -kbdfi.dll -kbdfo.dll -kbdfr.dll -kbdgae.dll -kbdgeo.dll -kbdgkl.dll -kbdgr1.dll -kbdgr.dll -kbdhe220.dll -kbdhe319.dll -kbdheb.dll -kbdhe.dll -kbdhela2.dll -kbdhela3.dll -kbdhept.dll -kbdhu1.dll -kbdhu.dll -kbdibm02.dll -kbdic.dll -kbdindev.dll -kbdinguj.dll -kbdinhin.dll -kbdinkan.dll -kbdinmar.dll -kbdinpun.dll -kbdintam.dll -kbdintel.dll -kbdir.dll -kbdit142.dll -kbdit.dll -kbdkaz.dll -kbdkor.dll -kbdkyr.dll -kbdla.dll -kbdlayout.dll -kbdlk41a.dll -kbdlk41j.dll -kbdlt1.dll -kbdlt.dll -kbdlv1.dll -kbdlv.dll -kbdmac.dll -kbdmon.dll -kbdnec95.dll -kbdnecat.dll -kbdnec.dll -kbdnecnt.dll -kbdne.dll -kbdno.dll -kbdpl1.dll -kbdpl.dll -kbdpo.dll -kbdro.dll -kbdru1.dll -kbdru.dll -kbdsf.dll -kbdsg.dll -kbdsl1.dll -kbdsl.dll -kbdsp.dll -kbdsw.dll -kbdsyr1.dll -kbdsyr2.dll -kbdtat.dll -kbdth0.dll -kbdth1.dll -kbdth2.dll -kbdth3.dll -kbdtuf.dll -kbdtuq.dll -kbduk.dll -kbdur.dll -kbdurdu.dll -kbdusa.dll -kbdus.dll -kbdusl.dll -kbdusr.dll -kbdusx.dll -kbduzb.dll -kbdvntc.dll -kbdycc.dll -kbdycl.dll -kd1394.dll -kdcom.dll -kerberos.dll -kernel32.dll -keymgr.dll -korwbrkr.dll -krnlprov.dll -ks.sys -ksuser.dll -ktmw32.dll -langwrbk.dll -licdll.dll -licmgr.dll -licwmi.dll -linkinfo.dll -lmhsvc.exe -lmmib2.dll -lmrt.dll -loadperf.dll -localsec.dll -localspl.dll -localui.dll -log.dll -loghours.dll -logscript.dll -lonsint.dll -lpdsvc.dll -lpk.dll -lprhelp.dll -lprmon.dll -lprui.dll -lsasrv.dll -lz32.dll -mag_hook.dll -mailmsg.dll -mapi32.dll -marscore.dll -mcastmib.dll -mcd32.dll -mcdsrv32.dll -mchgrcoi.dll -mciavi32.dll -mcicda.dll -mciole32.dll -mciqtz32.dll -mciseq.dll -mciwave.dll -mdhcp.dll -mdminst.dll -metadata.dll -mf3216.dll -mfc42.dll -mfc42u.dll -mfcsubs.dll -mf.dll -mfplat.dll -mgmtapi.dll -midimap.dll -migism.dll -miglibnt.dll -mimefilt.dll -mlang.dll -mll_hp.dll -mll_mtf.dll -mll_qic.dll -mmcbase.dll -mmcndmgr.dll -mmcshext.dll -mmfutil.dll -mmutilse.dll -mobsync.dll -modemui.dll -mofd.dll -mprapi.dll -mprddm.dll -mprdim.dll -mpr.dll -mprui.dll -mqad.dll -mqcertui.dll -mqdscli.dll -mqgentr.dll -mqise.dll -mqoa.dll -mqperf.dll -mqqm.dll -mqrtdep.dll -mqrt.dll -mqsec.dll -mqsnap.dll -mqupgrd.dll -mqutil.dll -msaatext.dll -msacm32.dll -msadcs.dll -msadds.dll -msado15.dll -msadomd.dll -msador15.dll -msadox.dll -msadrh15.dll -msafd.dll -msasn1.dll -mscandui.dll -mscat32.dll -mscms.dll -msctf.dll -msctfp.dll -msdadiag.dll -msdaosp.dll -msdaps.dll -msdart.dll -msdatl3.dll -msdfmap.dll -msdmo.dll -msdrm.dll -msdtclog.dll -msdtcprx.dll -msdtctm.dll -msdtcuiu.dll -msftedit.dll -msgina.dll -msgr3en.dll -msgsvc.dll -mshtml.dll -mshtmled.dll -msident.dll -msi.dll -msieftp.dll -msihnd.dll -msimg32.dll -msimtf.dll -msinfo32.dll -msiprov.dll -msir3jp.dll -msisip.dll -msjtes40.dll -mslbui.dll -msls31.dll -mslwvtts.dll -msmqocm.dll -msobcomm.dll -msobdl.dll -msobmain.dll -msobshel.dll -msobweb.dll -msoeacct.dll -msoe.dll -msoert2.dll -mspatcha.dll -mspmspsn.dll -msports.dll -msrating.dll -msremote.dll -msrle32.dll -mssign32.dll -mssip32.dll -mstask.dll -mstime.dll -mstlsapi.dll -mstscax.dll -msutb.dll -msv1_0.dll -msvcirt.dll -msvcp60.dll -msvcr100.dll -msvcr110.dll -msvcr120d.dll -msvcr120.dll -msvcr80.dll -msvcr90d.dll -msvcr90.dll -msvcrt.dll -msvfw32.dll -msvidc32.dll -msvidctl.dll -msw3prt.dll -mswsock.dll -msxactps.dll -msxml3.dll -msyuv.dll -mtxclu.dll -mtxdm.dll -mtxex.dll -mtxoci.dll -mycomput.dll -mydocs.dll -narrhook.dll -navdgf.dll -ncobjapi.dll -ncprov.dll -ncrypt.dll -ncxp.dll -nddeapi.dll -nddenb32.dll -ndfapi.dll -ndisnpp.dll -ndis.sys -netapi32.dll -netcfgx.dll -netid.dll -netlogon.dll -netman.dll -netobjs.dll -netoc.dll -netplwiz.dll -netrap.dll -netshell.dll -netui0.dll -netui1.dll -netui2.dll -newdev.dll -nextlink.dll -nlhtml.dll -nntpadm.dll -nntpapi.dll -nntpsnap.dll -normaliz.dll -npptools.dll -nshipsec.dll -ntdll.dll -ntdsapi.dll -ntdsbcli.dll -ntdtcsetup.dll -ntevt.dll -ntfsdrv.dll -ntlanman.dll -ntlanui.dll -ntlsapi.dll -ntmarta.dll -ntmsapi.dll -ntmsdba.dll -ntmsevt.dll -ntmsmgr.dll -ntmssvc.dll -ntoc.dll -ntoskrnl.exe -ntprint.dll -ntshrui.dll -ntvdm64.dll -nwprovau.dll -oakley.dll -objsel.dll -occache.dll -ocmanage.dll -ocmsn.dll -ocsbs.dll -odbc32.dll -odbc32gt.dll -odbcbcp.dll -odbcconf.dll -odbccp32.dll -odbccr32.dll -odbctrac.dll -oeimport.dll -oemiglib.dll -offfilt.dll -ole32.dll -oleacc.dll -oleaut32.dll -olecli32.dll -olecnv32.dll -oledb32.dll -oledb32r.dll -oledlg.dll -oleprn.dll -olesvr32.dll -opengl32.dll -osuninst.dll -ovprintmondll.dll -p2pcollab.dll -p2p.dll -p2pgraph.dll -panmap.dll -pautoenr.dll -pchsvc.dll -pcwum.dll -pdh.dll -perfctrs.dll -perfdisk.dll -perfnet.dll -perfos.dll -perfproc.dll -perfts.dll -persist.dll -photowiz.dll -pid.dll -pidgen.dll -pjlmon.dll -pngfilter.dll -policman.dll -polstore.dll -powrprof.dll -printui.dll -profmap.dll -proppage.dll -provthrd.dll -ps5ui.dll -psapi.dll -psbase.dll -pschdprf.dll -pscript5.dll -ps.dll -psnppagn.dll -pstorec.dll -pstorsvc.dll -qasf.dll -qcap.dll -qdvd.dll -qdv.dll -qedit.dll -qmgr.dll -qmgrprxy.dll -qosname.dll -quartz.dll -query.dll -qutil.dll -qwave.dll -rasadhlp.dll -rasapi32.dll -rasauto.dll -raschap.dll -rasctrs.dll -rasdlg.dll -rasman.dll -rasmans.dll -rasmontr.dll -rasmxs.dll -rasppp.dll -rasrad.dll -rassapi.dll -rasser.dll -rassistance.dll -rastapi.dll -rastls.dll -rcbdyctl.dll -rdchost.dll -rdpcfgex.dll -rdpsnd.dll -rdpwsx.dll -regapi.dll -regsvc.dll -regwizctrl.dll -remotepage.dll -rend.dll -resutils.dll -riched20.dll -rnr20.dll -routemsg.dll -routetab.dll -rpcdiag.dll -rpchttp.dll -rpcns4.dll -rpcnsh.dll -rpcref.dll -rpcrt4.dll -rpcss.dll -rsaenh.dll -rshx32.dll -rsmps.dll -rstrtmgr.dll -rtm.dll -rtutils.dll -rwnh.dll -safrcfiledlg.dll -safrdm.dll -safrslv.dll -samlib.dll -samsrv.dll -scarddlg.dll -sccbase.dll -sccsccp.dll -scecli.dll -scesrv.dll -schannel.dll -schedsvc.dll -sclgntfy.dll -scredir.dll -script.dll -scripto.dll -scriptpw.dll -scrobj.dll -scrptutl.dll -scrrun.dll -sdhcinst.dll -sdpblb.dll -seclogon.dll -secur32.dll -security.dll -sendcmsg.dll -sendmail.dll -sensapi.dll -senscfg.dll -sens.dll -seo.dll -seos.dll -serialui.dll -servdeps.dll -serwvdrv.dll -setupapi.dll -setupqry.dll -sfc.dll -sfcfiles.dll -sfc_os.dll -sfilter2.dll -sfmapi.dll -shdocvw.dll -shell32.dll -shfolder.dll -shgina.dll -shimeng.dll -shimgvw.dll -shlwapi.dll -shmedia.dll -shscrap.dll -shsvcs.dll -sigtab.dll -simptcp.exe -simx.dll -sisbkup.dll -skdll.dll -slayerxp.dll -slbcsp.dll -slbiop.dll -slc.dll -slcext.dll -slwga.dll -smlogcfg.dll -smtpadm.dll -smtpapi.dll -smtpcons.dll -smtpctrs.dll -smtpsnap.dll -smtpsvc.dll -snapin.dll -sniffpol.dll -snmpapi.dll -snmpcl.dll -snmpelea.dll -snmpincl.dll -snmpmib.exe -snmpsmir.dll -snmpsnap.dll -snmpstup.dll -snmpthrd.dll -softpub.dll -spcommon.dll -spoolss.dll -sptip.dll -spttseng.dll -sqlsrv32.dll -sqlxmlx.dll -srchctls.dll -srchui.dll -srclient.dll -srrstr.dll -srsvc.dll -srvsvc.dll -ssdpapi.dll -ssdpsrv.dll -ssinc.dll -sspicli.dll -sstub.dll -staxmem.dll -stclient.dll -stdprov.dll -sti_ci.dll -sti.dll -stobject.dll -streamci.dll -strmfilt.dll -subauth.dll -svcext.dll -svcpack.dll -sweeprx.dll -swprv.dll -sxs.dll -synceng.dll -syncui.dll -sysinv.dll -sysmod.dll -syssetup.dll -t2embed.dll -tapi32.dll -tapi3.dll -tapiperf.dll -tapisrv.dll -tbs.dll -tcpmib.dll -tcpmon.dll -tcpmonui.dll -tdh.dll -termmgr.dll -termsrv.dll -thawbrkr.dll -themeui.dll -tlntsvrps.dll -traffic.dll -trialoc.dll -trigobjs.dll -trkwks.dll -tsappcmp.dll -tsbyuv.dll -tscfgwmi.dll -tsd32.dll -tshoot.dll -tsoc.dll -twext.dll -txflogdll.dll -txfw32.dll -ufat.dll -uihelper.dll -ulib.dll -umandlg.dll -umdmxfrm.dll -umpnpmgr.dll -unidrv.dll -unidrvui.dll -uniime.dll -unimdmat.dll -uniplat.dll -untfs.dll -upnp.dll -upnphost.dll -upnpui.dll -ureg.dll -urlauth.dll -url.dll -urlmon.dll -usbcamd2.sys -usbd.sys -usbmon.dll -usbport.sys -user32.dll -userenv.dll -usp10.dll -utildll.dll -uxtheme.dll -vbscript.dll -vdsdyndr.dll -vds_ps.dll -vdsutil.dll -vdswmi.dll -verifier.dll -version.dll -vgx.dll -viewprov.dll -vmx_mode.dll -vssapi.dll -vss_ps.dll -vsstrace.dll -vsswmi.dll -w32time.dll -w32topl.dll -w3cache.dll -w3comlog.dll -w3core.dll -w3ctrlps.dll -w3ctrs.dll -w3dt.dll -w3ext.dll -w3isapi.dll -w3ssl.dll -w3tp.dll -wab32.dll -wabimp.dll -wamreg.dll -wamregps.dll -wbemcore.dll -wbemupgd.dll -wdigest.dll -wdmaud.drv -wdsclientapi.dll -wdsclient.dll -wdscore.dll -wdscsl.dll -wdsimage.dll -wdstptc.dll -wdsupgcompl.dll -wdsutil.dll -webcheck.dll -webclnt.dll -webhits.dll -wecapi.dll -wer.dll -wevtapi.dll -wevtfwd.dll -wiadss.dll -wiarpc.dll -wiaservc.dll -wiashext.dll -win32spl.dll -winfax.dll -winhttp.dll -wininet.dll -winipsec.dll -winmm.dll -winrnr.dll -winscard.dll -winspool.drv -winsrv.dll -winsta.dll -wintrust.dll -winusb.dll -wkssvc.dll -wlanapi.dll -wlanui.dll -wlanutil.dll -wldap32.dll -wlnotify.dll -wlstore.dll -wmi2xml.dll -wmiaprpl.dll -wmi.dll -wmilib.sys -wmiprop.dll -wmisvc.dll -wow64cpu.dll -wow64.dll -wow64mib.dll -wow64win.dll -wpd_ci.dll -ws2_32.dll -ws2help.dll -wscsvc.dll -wsdapi.dll -wshatm.dll -wshbth.dll -wshcon.dll -wsock32.dll -wtsapi32.dll -x3daudio1_2.dll -x3daudio1_3.dll -x3daudio1_4.dll -x3daudio1_5.dll -x3daudio1_6.dll -x3daudio1_7.dll -x3daudiod1_7.dll -xapofx1_0.dll -xapofx1_1.dll -xapofx1_2.dll -xapofx1_3.dll -xapofx1_4.dll -xapofx1_5.dll -xapofxd1_5.dll -xaudio2_8.dll -xfiles.dll -xinput1_1.dll -xinput1_2.dll -xinput1_3.dll -xinput1_4.dll -xinput9_1_0.dll -zoneoc.dll diff --git a/SOURCES/toolchain-mingw32.cmake b/SOURCES/toolchain-mingw32.cmake index 70f6441..a450d39 100644 --- a/SOURCES/toolchain-mingw32.cmake +++ b/SOURCES/toolchain-mingw32.cmake @@ -2,26 +2,37 @@ SET(CMAKE_SYSTEM_NAME Windows) SET(CMAKE_SYSTEM_PROCESSOR x86) # specify the cross compiler -SET(CMAKE_C_COMPILER /usr/bin/i686-w64-mingw32-gcc) -SET(CMAKE_CXX_COMPILER /usr/bin/i686-w64-mingw32-g++) +IF(NOT DEFINED ENV{CC}) + 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 SET(CMAKE_FIND_ROOT_PATH /usr/i686-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 +# for libraries, headers and packages in the target directories SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY 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 SET(QT_BINARY_DIR /usr/i686-w64-mingw32/bin /usr/bin) # 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) -SET(CMAKE_Fortran_COMPILER /usr/bin/i686-w64-mingw32-gfortran) SET(CMAKE_AR:FILEPATH /usr/bin/i686-w64-mingw32-ar) SET(CMAKE_RANLIB:FILEPATH /usr/bin/i686-w64-mingw32-ranlib) +# Workaround failure to detect boost (see #2037724) +SET(Boost_ARCHITECTURE "-x32") diff --git a/SOURCES/toolchain-mingw32.meson b/SOURCES/toolchain-mingw32.meson index 4d3000b..563565c 100644 --- a/SOURCES/toolchain-mingw32.meson +++ b/SOURCES/toolchain-mingw32.meson @@ -1,7 +1,7 @@ [binaries] -c = '/usr/bin/i686-w64-mingw32-gcc' -cpp = '/usr/bin/i686-w64-mingw32-g++' -fortran = '/usr/bin/i686-w64-mingw32-gfortran' +c = 'i686-w64-mingw32-gcc' +cpp = 'i686-w64-mingw32-g++' +fortran = 'i686-w64-mingw32-gfortran' rust = ['rustc', '--target', 'i686-pc-windows-msvc', '-C', 'linker=/usr/bin/i686-w64-mingw32-gcc'] ar = '/usr/bin/i686-w64-mingw32-ar' pkgconfig = '/usr/bin/i686-w64-mingw32-pkg-config' @@ -10,6 +10,7 @@ strip = '/usr/bin/i686-w64-mingw32-strip' windres = '/usr/bin/i686-w64-mingw32-windres' dlltool = '/usr/bin/i686-w64-mingw32-dlltool' 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] root = '/usr/i686-w64-mingw32/sys-root/mingw' diff --git a/SOURCES/toolchain-mingw64.cmake b/SOURCES/toolchain-mingw64.cmake index b323e11..a1e278f 100644 --- a/SOURCES/toolchain-mingw64.cmake +++ b/SOURCES/toolchain-mingw64.cmake @@ -2,26 +2,37 @@ SET(CMAKE_SYSTEM_NAME Windows) SET(CMAKE_SYSTEM_PROCESSOR x86_64) # 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++) +IF(NOT DEFINED ENV{CC}) + 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 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 +# for libraries, headers and packages in the target directories SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY 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 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) +IF(NOT $ENV{RC}) + SET(CMAKE_RC_COMPILER /usr/bin/x86_64-w64-mingw32-windres) +ENDIF() # 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) +# Workaround failure to detect boost (see #2037724) +SET(Boost_ARCHITECTURE "-x64") diff --git a/SOURCES/toolchain-mingw64.meson b/SOURCES/toolchain-mingw64.meson index 918bee0..01d83ee 100644 --- a/SOURCES/toolchain-mingw64.meson +++ b/SOURCES/toolchain-mingw64.meson @@ -1,7 +1,7 @@ [binaries] -c = '/usr/bin/x86_64-w64-mingw32-gcc' -cpp = '/usr/bin/x86_64-w64-mingw32-g++' -fortran = '/usr/bin/x86_64-w64-mingw32-gfortran' +c = 'x86_64-w64-mingw32-gcc' +cpp = 'x86_64-w64-mingw32-g++' +fortran = 'x86_64-w64-mingw32-gfortran' 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' pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config' @@ -10,6 +10,7 @@ strip = '/usr/bin/x86_64-w64-mingw32-strip' windres = '/usr/bin/x86_64-w64-mingw32-windres' dlltool = '/usr/bin/x86_64-w64-mingw32-dlltool' 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] root = '/usr/x86_64-w64-mingw32/sys-root/mingw' diff --git a/SOURCES/toolchain-ucrt64.cmake b/SOURCES/toolchain-ucrt64.cmake new file mode 100644 index 0000000..7d3c2f3 --- /dev/null +++ b/SOURCES/toolchain-ucrt64.cmake @@ -0,0 +1,37 @@ +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") diff --git a/SOURCES/toolchain-ucrt64.meson b/SOURCES/toolchain-ucrt64.meson new file mode 100644 index 0000000..8eb172b --- /dev/null +++ b/SOURCES/toolchain-ucrt64.meson @@ -0,0 +1,22 @@ +[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' diff --git a/SOURCES/ucrt64.attr b/SOURCES/ucrt64.attr new file mode 100644 index 0000000..26f6a79 --- /dev/null +++ b/SOURCES/ucrt64.attr @@ -0,0 +1,3 @@ +%__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])$ diff --git a/SOURCES/ucrt64.sh b/SOURCES/ucrt64.sh new file mode 100644 index 0000000..5723ffb --- /dev/null +++ b/SOURCES/ucrt64.sh @@ -0,0 +1,3 @@ +# Environment variables for cross compilers. + +alias ucrt64-env='eval `rpm --eval %{ucrt64_env}`' diff --git a/SPECS/mingw-filesystem.spec b/SPECS/mingw-filesystem.spec index 3db534c..58a7266 100644 --- a/SPECS/mingw-filesystem.spec +++ b/SPECS/mingw-filesystem.spec @@ -6,8 +6,8 @@ %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) Name: mingw-filesystem -Version: 119 -Release: 2%{?dist} +Version: 139 +Release: 1%{?dist} Summary: MinGW cross compiler base filesystem and environment License: GPLv2+ @@ -18,27 +18,30 @@ Source0: COPYING Source1: macros.mingw Source2: macros.mingw32 Source3: macros.mingw64 -Source4: mingw32.sh -Source5: mingw64.sh -Source6: mingw-find-debuginfo.sh -Source7: mingw-find-requires.sh -Source8: mingw-find-provides.sh -Source9: mingw-scripts.sh -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: -# (rpm -ql mingw32-crt | grep '\.a$' | while read f ; do i686-w64-mingw32-dlltool -I $f 2>/dev/null ; done) | sort | uniq | tr A-Z a-z > standard-dlls-mingw32 -Source16: standard-dlls-mingw32 -# (rpm -ql mingw64-crt | grep '\.a$' | while read f ; do x86_64-w64-mingw32-dlltool -I $f 2>/dev/null ; done) | sort | uniq | tr A-Z a-z > standard-dlls-mingw64 -Source17: standard-dlls-mingw64 -Source18: toolchain-mingw32.meson -Source19: toolchain-mingw64.meson -Source20: pkgconf-personality-mingw32 -Source21: pkgconf-personality-mingw64 +Source4: macros.ucrt64 +Source5: mingw32.sh +Source6: mingw64.sh +Source7: ucrt64.sh +Source8: mingw-find-debuginfo.sh +Source9: mingw.req +Source10: mingw.prov +Source11: mingw-scripts.sh +Source12: mingw-rpmlint.config +Source13: toolchain-mingw32.cmake +Source14: toolchain-mingw64.cmake +Source15: toolchain-ucrt64.cmake +Source16: mingw-find-lang.sh +Source17: mingw32.attr +Source18: mingw64.attr +Source19: ucrt64.attr +Source20: toolchain-mingw32.meson +Source21: toolchain-mingw64.meson +Source22: toolchain-ucrt64.meson +Source23: pkgconf-personality-mingw32 +Source24: pkgconf-personality-mingw64 +Source25: pkgconf-personality-ucrt64 +Source26: mingw32-hostlib.conf +Source27: mingw64-hostlib.conf # Taken from the Fedora filesystem package Source101: https://fedorahosted.org/filesystem/browser/lang-exceptions @@ -60,7 +63,7 @@ This environment is maintained by the Fedora MinGW SIG at: %package base -Summary: Generic files which are needed for both mingw32-filesystem and mingw64-filesystem +Summary: Generic files which are needed for {mingw32,mingw64,ucrt64}-filesystem Requires: redhat-rpm-config # Obsolete the packages from the test repo @@ -84,26 +87,9 @@ This environment is maintained by the Fedora MinGW SIG at: Summary: MinGW cross compiler base filesystem and environment for the win32 target Requires: %{name}-base = %{version}-%{release} # Replace mingw32-pkg-config -Conflicts: mingw32-pkg-config < 0.28-17 -Obsoletes: mingw32-pkg-config < 0.28-17 -Provides: mingw32-pkg-config = 0.28-17 - -# Note about 'Provides: mingw32(foo.dll)' -# ------------------------------------------------------------ -# -# We want to be able to build & install mingw32 libraries without -# necessarily needing to install wine. (And certainly not needing to -# install Windows!) There is no requirement to have wine installed in -# order to use the mingw toolchain to develop software (ie. to -# compile more stuff on top of it), so why require that? -# -# So for expediency, this base package provides the "missing" DLLs -# from Windows. Another way to do it would be to exclude these -# proprietary DLLs in our find-requires checking script - essentially -# it comes out the same either way. -# -Provides: %(sed "s/\(.*\)/mingw32(\1) /g" %{SOURCE16} | tr "\n" " ") -Provides: mingw32(mscoree.dll) +Conflicts: mingw32-pkg-config < 0.28-18 +Obsoletes: mingw32-pkg-config < 0.28-18 +Provides: mingw32-pkg-config = 0.28-18 %description -n mingw32-filesystem This package contains the base filesystem layout, RPM macros and @@ -118,17 +104,32 @@ This environment is maintained by the Fedora MinGW SIG at: Summary: MinGW cross compiler base filesystem and environment for the win64 target Requires: %{name}-base = %{version}-%{release} # Replace mingw64-pkg-config -Conflicts: mingw64-pkg-config < 0.28-17 -Obsoletes: mingw64-pkg-config < 0.28-17 -Provides: mingw64-pkg-config = 0.28-17 +Conflicts: mingw64-pkg-config < 0.28-18 +Obsoletes: mingw64-pkg-config < 0.28-18 +Provides: mingw64-pkg-config = 0.28-18 -Provides: %(sed "s/\(.*\)/mingw64(\1) /g" %{SOURCE17} | tr "\n" " ") -Provides: mingw64(mscoree.dll) %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 + +%package -n ucrt64-filesystem +Summary: MinGW cross compiler base filesystem and environment for the win64 UCRT target +Requires: %{name}-base = %{version}-%{release} +# Replace ucrt64-pkg-config +Conflicts: ucrt64-pkg-config < 0.28-17 +Obsoletes: ucrt64-pkg-config < 0.28-17 +Provides: ucrt64-pkg-config = 0.28-17 + + +%description -n ucrt64-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 @@ -144,96 +145,72 @@ cp %{SOURCE0} COPYING %install -mkdir -p %{buildroot} - mkdir -p %{buildroot}%{_libexecdir} -install -m 755 %{SOURCE9} %{buildroot}%{_libexecdir}/mingw-scripts +install -m 755 %{SOURCE11} %{buildroot}%{_libexecdir}/mingw-scripts mkdir -p %{buildroot}%{_bindir} pushd %{buildroot}%{_bindir} for i in mingw32-configure mingw32-cmake mingw32-make mingw32-meson mingw32-pkg-config \ - mingw64-configure mingw64-cmake mingw64-make mingw64-meson mingw64-pkg-config ; do + mingw64-configure mingw64-cmake mingw64-make mingw64-meson mingw64-pkg-config \ + ucrt64-configure ucrt64-cmake ucrt64-make ucrt64-meson ucrt64-pkg-config ; do ln -s %{_libexecdir}/mingw-scripts $i done for i in i686-w64-mingw32-pkg-config \ - x86_64-w64-mingw32-pkg-config ; do + x86_64-w64-mingw32-pkg-config \ + x86_64-w64-mingw32ucrt-pkg-config ; do ln -s %{_bindir}/pkgconf $i done popd mkdir -p %{buildroot}%{_sysconfdir}/profile.d -install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/profile.d/ install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/profile.d/ +install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/profile.d/ +install -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/profile.d/ mkdir -p %{buildroot}%{macrosdir} install -m 644 %{SOURCE1} %{buildroot}%{macrosdir}/macros.mingw install -m 644 %{SOURCE2} %{buildroot}%{macrosdir}/macros.mingw32 install -m 644 %{SOURCE3} %{buildroot}%{macrosdir}/macros.mingw64 +install -m 644 %{SOURCE4} %{buildroot}%{macrosdir}/macros.ucrt64 mkdir -p %{buildroot}%{_sysconfdir}/rpmlint -install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/rpmlint/ +install -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/rpmlint/ -# Create the folders required for gcc and binutils -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32 -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/bin -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/lib -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32 -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/bin -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/lib +for target in i686-w64-mingw32 x86_64-w64-mingw32 x86_64-w64-mingw32ucrt; do + # Create the folders required for gcc and binutils + mkdir -p %{buildroot}%{_prefix}/$target + mkdir -p %{buildroot}%{_prefix}/$target/bin + mkdir -p %{buildroot}%{_prefix}/$target/lib -# The MinGW system root which will contain Windows native binaries -# and Windows-specific header files, pkgconfig, etc. -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/bin -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/etc -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/include -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/include/sys -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib/cmake -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/sbin + # The MinGW system root which will contain Windows native binaries + # and Windows-specific header files, pkgconfig, etc. + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/bin + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/etc + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/include + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/include/sys + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/lib + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/lib/pkgconfig + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/lib/cmake + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/sbin -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/bin -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/etc -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/include -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/include -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib/cmake -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/sbin + # We don't normally package manual pages and info files, except + # where those are not supplied by a Fedora native package. So we + # need to create the directories. + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/doc + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/info + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/man + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n} + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/aclocal + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/themes + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/cmake + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/locale + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/pkgconfig + mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/xml -# We don't normally package manual pages and info files, except -# where those are not supplied by a Fedora native package. So we -# need to create the directories. -# -# Note that some packages try to install stuff in -# /usr/x86_64-pc-mingw32/sys-root/man and -# /usr/x86_64-pc-mingw32/sys-root/doc -# but those are both packaging bugs. -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/doc -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/info -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/man -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n} -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/aclocal -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/themes -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/cmake -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/locale -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/pkgconfig -mkdir -p %{buildroot}%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/xml - -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/doc -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/info -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/man -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n} -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/aclocal -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/themes -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/cmake -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/locale -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig -mkdir -p %{buildroot}%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/xml + mkdir -p %{buildroot}%{_prefix}/lib/debug/%{_prefix}/$target +done # Own folders for all locales # Snippet taken from the Fedora filesystem package @@ -250,6 +227,7 @@ grep -v "^$" %{buildroot}/iso_639.tab | grep -v "^#" | while read a b c d ; do fi echo "%lang(${locale}) %{_prefix}/i686-w64-mingw32/sys-root/mingw/share/locale/${locale}" >> filelist_mingw32 echo "%lang(${locale}) %{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/locale/${locale}" >> filelist_mingw64 + echo "%lang(${locale}) %{_prefix}/x86_64-w64-mingw32ucrt/sys-root/mingw/share/locale/${locale}" >> filelist_ucrt done cat %{SOURCE101} | grep -v "^#" | grep -v "^$" | while read loc ; do @@ -271,40 +249,50 @@ cat %{SOURCE101} | grep -v "^#" | grep -v "^$" | while read loc ; do fi echo "%lang(${locale}) %{_prefix}/i686-w64-mingw32/sys-root/mingw/share/locale/${loc}" >> filelist_mingw32 echo "%lang(${locale}) %{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/locale/${loc}" >> filelist_mingw64 + echo "%lang(${locale}) %{_prefix}/x86_64-w64-mingw32ucrt/sys-root/mingw/share/locale/${loc}" >> filelist_ucrt done rm -f %{buildroot}/iso_639.tab rm -f %{buildroot}/iso_3166.tab -cat filelist_mingw32 filelist_mingw64 | grep "locale" | while read a b ; do +cat filelist_mingw32 filelist_mingw64 filelist_ucrt | grep "locale" | while read a b ; do mkdir -p -m 755 %{buildroot}/$b/LC_MESSAGES done # NB. NOT _libdir mkdir -p %{buildroot}/usr/lib/rpm -install -m 0755 %{SOURCE6} %{buildroot}%{_rpmconfigdir} -install -m 0755 %{SOURCE7} %{buildroot}%{_rpmconfigdir} install -m 0755 %{SOURCE8} %{buildroot}%{_rpmconfigdir} -install -m 0755 %{SOURCE13} %{buildroot}%{_rpmconfigdir} +install -m 0755 %{SOURCE9} %{buildroot}%{_rpmconfigdir} +install -m 0755 %{SOURCE10} %{buildroot}%{_rpmconfigdir} +install -m 0755 %{SOURCE16} %{buildroot}%{_rpmconfigdir} mkdir -p %{buildroot}/usr/lib/rpm/fileattrs -install -m 0644 %{SOURCE14} %{buildroot}%{_rpmconfigdir}/fileattrs/ -install -m 0644 %{SOURCE15} %{buildroot}%{_rpmconfigdir}/fileattrs/ +install -m 0644 %{SOURCE17} %{buildroot}%{_rpmconfigdir}/fileattrs/ +install -m 0644 %{SOURCE18} %{buildroot}%{_rpmconfigdir}/fileattrs/ +install -m 0644 %{SOURCE19} %{buildroot}%{_rpmconfigdir}/fileattrs/ mkdir -p %{buildroot}%{_datadir}/mingw -install -m 0644 %{SOURCE11} %{buildroot}%{_datadir}/mingw/ -install -m 0644 %{SOURCE12} %{buildroot}%{_datadir}/mingw/ -install -m 0644 %{SOURCE18} %{buildroot}%{_datadir}/mingw/ -install -m 0644 %{SOURCE19} %{buildroot}%{_datadir}/mingw/ +install -m 0644 %{SOURCE13} %{buildroot}%{_datadir}/mingw/ +install -m 0644 %{SOURCE14} %{buildroot}%{_datadir}/mingw/ +install -m 0644 %{SOURCE15} %{buildroot}%{_datadir}/mingw/ +install -m 0644 %{SOURCE20} %{buildroot}%{_datadir}/mingw/ +install -m 0644 %{SOURCE21} %{buildroot}%{_datadir}/mingw/ +install -m 0644 %{SOURCE22} %{buildroot}%{_datadir}/mingw/ mkdir -p %{buildroot}%{pkgconfig_personalitydir} -install -m 0644 %{SOURCE20} %{buildroot}%{pkgconfig_personalitydir}/i686-w64-mingw32.personality -install -m 0644 %{SOURCE21} %{buildroot}%{pkgconfig_personalitydir}/x86_64-w64-mingw32.personality +install -m 0644 %{SOURCE23} %{buildroot}%{pkgconfig_personalitydir}/i686-w64-mingw32.personality +install -m 0644 %{SOURCE24} %{buildroot}%{pkgconfig_personalitydir}/x86_64-w64-mingw32.personality +install -m 0644 %{SOURCE25} %{buildroot}%{pkgconfig_personalitydir}/x86_64-w64-mingw32ucrt.personality + +mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d +install -m 0644 %{SOURCE26} %{buildroot}%{_sysconfdir}/ld.so.conf.d/mingw32-hostlib.conf +install -m 0644 %{SOURCE27} %{buildroot}%{_sysconfdir}/ld.so.conf.d/mingw64-hostlib.conf # Link mingw-pkg-config man pages to pkgconf(1) mkdir -p %{buildroot}%{_mandir}/man1/ echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/i686-w64-mingw32-pkg-config.1 echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/x86_64-w64-mingw32-pkg-config.1 +echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/x86_64-w64-mingw32ucrt-pkg-config.1 %files base @@ -325,13 +313,15 @@ echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/x86_64-w64-mingw32-pkg-c %{_bindir}/mingw32-meson %{_bindir}/mingw32-pkg-config %{_bindir}/i686-w64-mingw32-pkg-config -%{_mandir}/man1/i686-w64-mingw32-pkg-config.1* %{_prefix}/i686-w64-mingw32 %{_rpmconfigdir}/fileattrs/mingw32.attr %{_datadir}/mingw/toolchain-mingw32.cmake %{_datadir}/mingw/toolchain-mingw32.meson %{pkgconfig_personalitydir}/i686-w64-mingw32.personality %{_mandir}/man1/i686-w64-mingw32-pkg-config.1* +%{_sysconfdir}/ld.so.conf.d/mingw32-hostlib.conf +%dir %{_prefix}/lib/debug/%{_prefix} +%dir %{_prefix}/lib/debug/%{_prefix}/i686-w64-mingw32 %files -n mingw64-filesystem @@ -343,16 +333,48 @@ echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/x86_64-w64-mingw32-pkg-c %{_bindir}/mingw64-meson %{_bindir}/mingw64-pkg-config %{_bindir}/x86_64-w64-mingw32-pkg-config -%{_mandir}/man1/x86_64-w64-mingw32-pkg-config.1* %{_prefix}/x86_64-w64-mingw32 %{_rpmconfigdir}/fileattrs/mingw64.attr %{_datadir}/mingw/toolchain-mingw64.cmake %{_datadir}/mingw/toolchain-mingw64.meson %{pkgconfig_personalitydir}/x86_64-w64-mingw32.personality %{_mandir}/man1/x86_64-w64-mingw32-pkg-config.1* +%{_sysconfdir}/ld.so.conf.d/mingw64-hostlib.conf +%dir %{_prefix}/lib/debug/%{_prefix} +%dir %{_prefix}/lib/debug/%{_prefix}/x86_64-w64-mingw32 +%files -n ucrt64-filesystem +%{macrosdir}/macros.ucrt64 +%config(noreplace) %{_sysconfdir}/profile.d/ucrt64.sh +%{_bindir}/ucrt64-configure +%{_bindir}/ucrt64-cmake +%{_bindir}/ucrt64-make +%{_bindir}/ucrt64-meson +%{_bindir}/ucrt64-pkg-config +%{_bindir}/x86_64-w64-mingw32ucrt-pkg-config +%{_prefix}/x86_64-w64-mingw32ucrt +%{_rpmconfigdir}/fileattrs/ucrt64.attr +%{_datadir}/mingw/toolchain-ucrt64.cmake +%{_datadir}/mingw/toolchain-ucrt64.meson +%{pkgconfig_personalitydir}/x86_64-w64-mingw32ucrt.personality +%{_mandir}/man1/x86_64-w64-mingw32ucrt-pkg-config.1* +%dir %{_prefix}/lib/debug/%{_prefix} +%dir %{_prefix}/lib/debug/%{_prefix}/x86_64-w64-mingw32ucrt + %changelog +* Thu Jul 21 2022 Richard W.M. Jones - 139-1 +- Rebase to Fedora Rawhide + resolves: rhbz#2080168 + +* Fri May 06 2022 Richard W.M. Jones - 136-1 +- Rebase to Fedora Rawhide + resolves: rhbz#2080168 + +* Sat Apr 23 2022 Konstantin Kostiuk +- Fix file conflicts with mingw-pkg-config + Related: rhbz#2031784 + * Mon Aug 09 2021 Mohan Boddu - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688