diff --git a/README.md b/README.md deleted file mode 100644 index 232a29e..0000000 --- a/README.md +++ /dev/null @@ -1,16 +0,0 @@ -Building the MinGW environment -============================== - -Build order: - -- mingw-filesystem -- mingw-binutils -- mingw-headers (bundle_dummy_pthread_headers=1) -- mingw-w64-tools -- mingw-gcc (bootstrap=1) -- mingw-crt (bootstrap=1) -- mingw-crt (bootstrap=0) -- mingw-winpthreads -- mingw-headers (bundle_dummy_pthread_headers=0) -- mingw-gcc (bootstrap=0) -- mingw-gdb diff --git a/macros.mingw b/macros.mingw index d82abb3..a0bd07f 100644 --- a/macros.mingw +++ b/macros.mingw @@ -1,15 +1,15 @@ # RPM macros for the Fedora MinGW Cross Compiler collection -%mingw_build_targets mingw32 mingw64 ucrt64 +%mingw_build_targets mingw32 mingw64 %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} @@ -17,21 +17,22 @@ %mingw_debug_install_post %{mingw_finddebuginfo} %{_builddir}/%{?buildsubdir} %{mingw_build_targets} %mingw_debug_package \ -%global __debug_package 1 \ %if 0%{?mingw_build_win32} == 1 \ %{?mingw32_debug_package} \ %endif \ %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} @@ -42,23 +43,17 @@ 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 -p build_win32$MINGW_BUILDDIR_SUFFIX \ +mkdir build_win32$MINGW_BUILDDIR_SUFFIX \ pushd build_win32$MINGW_BUILDDIR_SUFFIX \ %{?mingw32_configure} "$@" \ popd \ %endif \ %if 0%{?mingw_build_win64} == 1 \ -mkdir -p build_win64$MINGW_BUILDDIR_SUFFIX \ +mkdir 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 @@ -66,16 +61,10 @@ run_mingw_configure run_mingw_make() \ { \ %if 0%{?mingw_build_win32} == 1 \ -%{mingw32_env} \ -%{__make} -C build_win32$MINGW_BUILDDIR_SUFFIX "$@" $MINGW32_MAKE_ARGS \ +make -C build_win32$MINGW_BUILDDIR_SUFFIX "$@" $MINGW32_MAKE_ARGS \ %endif \ %if 0%{?mingw_build_win64} == 1 \ -%{mingw64_env} \ -%{__make} -C build_win64$MINGW_BUILDDIR_SUFFIX "$@" $MINGW64_MAKE_ARGS \ -%endif \ -%if 0%{?mingw_build_ucrt64} == 1 \ -%{ucrt64_env} \ -%{__make} -C build_ucrt64$MINGW_BUILDDIR_SUFFIX "$@" $UCRT64_MAKE_ARGS \ +make -C build_win64$MINGW_BUILDDIR_SUFFIX "$@" $MINGW64_MAKE_ARGS \ %endif \ } \ run_mingw_make @@ -84,131 +73,73 @@ run_mingw_make run_mingw_cmake() \ { \ %if 0%{?mingw_build_win32} == 1 \ -mkdir -p build_win32$MINGW_BUILDDIR_SUFFIX \ +mkdir build_win32$MINGW_BUILDDIR_SUFFIX \ pushd build_win32$MINGW_BUILDDIR_SUFFIX \ %{?mingw32_cmake "$@"} \ popd \ %endif \ %if 0%{?mingw_build_win64} == 1 \ -mkdir -p build_win64$MINGW_BUILDDIR_SUFFIX \ +mkdir 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 +%mingw_cmake_kde4 \ +run_mingw_cmake_kde4() \ +{ \ +%if 0%{?mingw_build_win32} == 1 \ +mkdir 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 \ +pushd build_win64$MINGW_BUILDDIR_SUFFIX \ + %{?mingw64_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 -p build_win32$MINGW_BUILDDIR_SUFFIX \ +mkdir build_win32$MINGW_BUILDDIR_SUFFIX \ pushd build_win32$MINGW_BUILDDIR_SUFFIX \ %{?mingw32_qmake_qt5} "$@" \ popd \ %endif \ %if 0%{?mingw_build_win64} == 1 \ -mkdir -p build_win64$MINGW_BUILDDIR_SUFFIX \ +mkdir 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 - -%mingw_qmake_qt6 \ -run_mingw_qmake_qt6() \ -{ \ -%if 0%{?mingw_build_win32} == 1 \ -mkdir -p build_win32$MINGW_BUILDDIR_SUFFIX \ -pushd build_win32$MINGW_BUILDDIR_SUFFIX \ - %{?mingw32_qmake_qt6} "$@" \ -popd \ -%endif \ -%if 0%{?mingw_build_win64} == 1 \ -mkdir -p build_win64$MINGW_BUILDDIR_SUFFIX \ -pushd build_win64$MINGW_BUILDDIR_SUFFIX \ - %{?mingw64_qmake_qt6} "$@" \ -popd \ -%endif \ -%if 0%{?mingw_build_ucrt64} == 1 \ -mkdir -p build_ucrt64$MINGW_BUILDDIR_SUFFIX \ -pushd build_ucrt64$MINGW_BUILDDIR_SUFFIX \ - %{?ucrt64_qmake_qt6} "$@" \ -popd \ -%endif \ -} \ -run_mingw_qmake_qt6 - - -%mingw_meson \ -run_mingw_meson() \ -{ \ -%if 0%{?mingw_build_win32} == 1 \ -mkdir -p build_win32$MINGW_BUILDDIR_SUFFIX \ -pushd build_win32$MINGW_BUILDDIR_SUFFIX \ - %{?mingw32_meson "$@"} \ -popd \ -%endif \ -%if 0%{?mingw_build_win64} == 1 \ -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 - -%mingw_ninja \ -run_mingw_ninja() \ -{ \ -%if 0%{?mingw_build_win32} == 1 \ -ninja -C build_win32$MINGW_BUILDDIR_SUFFIX "$@" $MINGW32_NINJA_ARGS \ -%endif \ -%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 - -%mingw_ninja_install \ -run_mingw_ninja_install() \ -{ \ -%if 0%{?mingw_build_win32} == 1 \ -DESTDIR=%{buildroot} ninja -C build_win32$MINGW_BUILDDIR_SUFFIX install \ -%endif \ -%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 - - -%mingw_make_build %mingw_make %{_make_output_sync} %{?_smp_mflags} %{_make_verbose} -%mingw_make_install %mingw_make install DESTDIR=%{?buildroot} INSTALL="%{__install} -p" +# Deprecated: +%mingw_make_install %mingw_make install diff --git a/macros.mingw32 b/macros.mingw32 index 0b2a751..a3662ca 100644 --- a/macros.mingw32 +++ b/macros.mingw32 @@ -1,6 +1,6 @@ # RPM macros for Fedora MinGW. -%mingw32_pkg_name %(echo %{name} | sed -E 's/^(mingw-|)/mingw32-/') +%mingw32_pkg_name %(echo %{name} | sed 's/^mingw-/mingw32-/') %mingw32_target i686-w64-mingw32 # Paths. @@ -25,9 +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_rustflags -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes --cap-lints=warn +%mingw32_ldflags %{nil} %mingw32_cc %{mingw32_target}-gcc %mingw32_cxx %{mingw32_target}-g++ @@ -51,7 +49,7 @@ %mingw32_windmc %{mingw32_target}-windmc %mingw32_windres %{mingw32_target}-windres -%mingw32_env unset $(/usr/bin/env | grep -E '^(\w+)=(.*)$' | grep -Evw 'PWD|USER|LANG' | /usr/bin/cut -d= -f1); \ +%mingw32_env unset $(/usr/bin/env | egrep '^(\w+)=(.*)$' | egrep -vw 'PWD|USER|LANG' | /usr/bin/cut -d= -f1); \ if test -z "$PATH_ORIG" ; then \ PATH_ORIG="$PATH"; export PATH_ORIG; \ fi; \ @@ -75,18 +73,14 @@ 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; \ - RUSTFLAGS="${MINGW32_RUSTFLAGS:-%mingw32_rustflags}"; export RUSTFLAGS; \ for i in `ls %{mingw32_bindir}/*|grep -- "-config\$"` ; do \ x=`basename $i|tr "a-z+-." "A-ZX_"`; \ declare -x $x="$i" ; export $x; \ done; \ unset x i -%mingw32_pkg_config %{mingw32_target}-pkg-config "$@" -%mingw32_pkgconfig_personalitydir %{mingw32_datadir}/pkgconfig/personality.d +%mingw32_pkg_config %{mingw32_target}-pkg-config %mingw32_configure %{mingw32_env} ; \ __mingw32_topdir=.; if ! test -x configure; then __mingw32_topdir=..; fi; \\\ @@ -108,7 +102,7 @@ --mandir=%{mingw32_mandir} \\\ --infodir=%{mingw32_infodir} \\\ ${MINGW_CONFIGURE_ARGS} \\\ - ${MINGW32_CONFIGURE_ARGS} "$@" + ${MINGW32_CONFIGURE_ARGS} %mingw32_make %{mingw32_env} ; \ make \\\ @@ -124,7 +118,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; \ @@ -140,47 +134,22 @@ -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="-DINCLUDE_INSTALL_DIR:PATH=%{mingw32_includedir} ${MINGW32_CMAKE_ARGS}" \ + MINGW32_CMAKE_ARGS="${MINGW32_CMAKE_ARGS} -DINCLUDE_INSTALL_DIR:PATH=%{mingw32_includedir}" \ %mingw32_cmake_generic +%mingw32_cmake_kde4 \ + MINGW32_CMAKE_ARGS="${MINGW32_CMAKE_ARGS} -DINCLUDE_INSTALL_DIR:PATH=%{mingw32_includedir}/kde4" \ + %mingw32_cmake_generic + +%mingw32_qmake_qt4 /usr/bin/mingw32-qmake-qt4 %mingw32_qmake_qt5 /usr/bin/mingw32-qmake-qt5 -%mingw32_qmake_qt6 /usr/bin/%{mingw32_target}-qmake-qt6 - -%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=..; \\\ - else __mingw32_topdir=""; fi; \\\ - %__meson setup \\\ - --cross-file /usr/share/mingw/toolchain-mingw32.meson \\\ - --default-library shared \\\ - --prefix %{mingw32_prefix} \\\ - --bindir %{mingw32_bindir} \\\ - --sbindir %{mingw32_sbindir} \\\ - --sysconfdir %{mingw32_sysconfdir} \\\ - --datadir %{mingw32_datadir} \\\ - --includedir %{mingw32_includedir} \\\ - --libdir %{mingw32_libdir} \\\ - --libexecdir %{mingw32_libexecdir} \\\ - --localstatedir %{mingw32_localstatedir} \\\ - --sharedstatedir %{mingw32_sharedstatedir} \\\ - --mandir %{mingw32_mandir} \\\ - --infodir %{mingw32_infodir} \\\ - ${MINGW_MESON_ARGS} \\\ - ${MINGW32_MESON_ARGS} \\\ - "$@" $__mingw32_topdir - %mingw32_description This is the cross-compiled version of this library / tool.\ You should only install this package if you want to cross-compile programs for \ Win32 (32 bit Windows). diff --git a/macros.mingw64 b/macros.mingw64 index 4b96dc3..8db57f4 100644 --- a/macros.mingw64 +++ b/macros.mingw64 @@ -1,6 +1,6 @@ # RPM macros for Fedora MinGW. -%mingw64_pkg_name %(echo %{name} | sed -E 's/^(mingw-|)/mingw64-/') +%mingw64_pkg_name %(echo %{name} | sed 's/^mingw-/mingw64-/') %mingw64_target x86_64-w64-mingw32 # Paths. @@ -25,9 +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_rustflags -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes --cap-lints=warn +%mingw64_ldflags %{nil} %mingw64_cc %{mingw64_target}-gcc %mingw64_cxx %{mingw64_target}-g++ @@ -51,7 +49,7 @@ %mingw64_windmc %{mingw64_target}-windmc %mingw64_windres %{mingw64_target}-windres -%mingw64_env unset $(/usr/bin/env | grep -E '^(\w+)=(.*)$' | grep -Evw 'PWD|USER|LANG' | /usr/bin/cut -d= -f1); \ +%mingw64_env unset $(/usr/bin/env | egrep '^(\w+)=(.*)$' | egrep -vw 'PWD|USER|LANG' | /usr/bin/cut -d= -f1); \ if test -z "$PATH_ORIG" ; then \ PATH_ORIG="$PATH"; export PATH_ORIG; \ fi; \ @@ -75,18 +73,14 @@ 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; \ - RUSTFLAGS="${MINGW64_RUSTFLAGS:-%mingw64_rustflags}"; export RUSTFLAGS; \ for i in `ls %{mingw64_bindir}/*|grep -- "-config\$"` ; do \ x=`basename $i|tr "a-z+-." "A-ZX_"`; \ declare -x $x="$i" ; export $x; \ done; \ unset x i -%mingw64_pkg_config %{mingw64_target}-pkg-config "$@" -%mingw64_pkgconfig_personalitydir %{mingw32_datadir}/pkgconfig/personality.d +%mingw64_pkg_config %{mingw64_target}-pkg-config %mingw64_configure %{mingw64_env} ; \ __mingw64_topdir=.; if ! test -x configure; then __mingw64_topdir=..; fi; \\\ @@ -108,7 +102,7 @@ --mandir=%{mingw64_mandir} \\\ --infodir=%{mingw64_infodir} \\\ ${MINGW_CONFIGURE_ARGS} \\\ - ${MINGW64_CONFIGURE_ARGS} "$@" + ${MINGW64_CONFIGURE_ARGS} %mingw64_make %{mingw64_env} ; \ make \\\ @@ -124,7 +118,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; \ @@ -140,47 +134,22 @@ -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="-DINCLUDE_INSTALL_DIR:PATH=%{mingw64_includedir} ${MINGW64_CMAKE_ARGS}" \ + MINGW64_CMAKE_ARGS="${MINGW64_CMAKE_ARGS} -DINCLUDE_INSTALL_DIR:PATH=%{mingw64_includedir}" \ %mingw64_cmake_generic +%mingw64_cmake_kde4 \ + MINGW64_CMAKE_ARGS="${MINGW64_CMAKE_ARGS} -DINCLUDE_INSTALL_DIR:PATH=%{mingw64_includedir}/kde4" \ + %mingw64_cmake_generic + +%mingw64_qmake_qt4 /usr/bin/mingw64-qmake-qt4 %mingw64_qmake_qt5 /usr/bin/mingw64-qmake-qt5 -%mingw64_qmake_qt6 /usr/bin/%{mingw64_target}-qmake-qt6 - -%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=..; \\\ - else __mingw64_topdir=""; fi; \\\ - %__meson setup \\\ - --cross-file /usr/share/mingw/toolchain-mingw64.meson \\\ - --default-library shared \\\ - --prefix %{mingw64_prefix} \\\ - --bindir %{mingw64_bindir} \\\ - --sbindir %{mingw64_sbindir} \\\ - --sysconfdir %{mingw64_sysconfdir} \\\ - --datadir %{mingw64_datadir} \\\ - --includedir %{mingw64_includedir} \\\ - --libdir %{mingw64_libdir} \\\ - --libexecdir %{mingw64_libexecdir} \\\ - --localstatedir %{mingw64_localstatedir} \\\ - --sharedstatedir %{mingw64_sharedstatedir} \\\ - --mandir %{mingw64_mandir} \\\ - --infodir %{mingw64_infodir} \\\ - ${MINGW_MESON_ARGS} \\\ - ${MINGW64_MESON_ARGS} \\\ - "$@" $__mingw64_topdir - %mingw64_description This is the cross-compiled version of this library / tool.\ You should only install this package if you want to cross-compile programs for \ Win64 (64 bit Windows). diff --git a/macros.ucrt64 b/macros.ucrt64 deleted file mode 100644 index 9c0057a..0000000 --- a/macros.ucrt64 +++ /dev/null @@ -1,195 +0,0 @@ -# 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 | grep -E '^(\w+)=(.*)$' | grep -Evw '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 setup \\\ - --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/mingw-filesystem.spec b/mingw-filesystem.spec index 4a0a807..6d673c1 100644 --- a/mingw-filesystem.spec +++ b/mingw-filesystem.spec @@ -1,6 +1,3 @@ -# Define before mingw-binutils is build -%bcond_with bootstrap - %global debug_package %{nil} # Place RPM macros in %%{_rpmconfigdir}/macros.d if it exists (RPM 4.11+) @@ -9,11 +6,12 @@ %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) Name: mingw-filesystem -Version: 150 +Version: 101 Release: 3%{?dist} Summary: MinGW cross compiler base filesystem and environment -License: GPL-2.0-or-later +Group: Development/Libraries +License: GPLv2+ URL: http://fedoraproject.org/wiki/MinGW BuildArch: noarch @@ -21,39 +19,30 @@ Source0: COPYING Source1: macros.mingw Source2: macros.mingw32 Source3: macros.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 +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 # Taken from the Fedora filesystem package Source101: https://fedorahosted.org/filesystem/browser/lang-exceptions Source102: iso_639.sed Source103: iso_3166.sed -BuildRequires: make BuildRequires: iso-codes -BuildRequires: pkgconf %description @@ -66,18 +55,13 @@ This environment is maintained by the Fedora MinGW SIG at: %package base -Summary: Generic files which are needed for {mingw32,mingw64,ucrt64}-filesystem +Summary: Generic files which are needed for both mingw32-filesystem and mingw64-filesystem -# We need this for cmake macros -Requires: cmake-rpm-macros -Requires: redhat-rpm-config # Obsolete the packages from the test repo Obsoletes: cross-filesystem < 67-2 Obsoletes: cross-filesystem-scripts < 67-2 Obsoletes: mingw-filesystem < 75-2 Obsoletes: mingw-filesystem-scripts < 75-2 -# For using pkgconf with MinGW -Requires: pkgconf %description base This package contains the base filesystem layout, RPM macros and @@ -91,13 +75,23 @@ This environment is maintained by the Fedora MinGW SIG at: %package -n mingw32-filesystem 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 -%if %{without bootstrap} -Requires: mingw-binutils-generic -%endif + +# 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) %description -n mingw32-filesystem This package contains the base filesystem layout, RPM macros and @@ -111,13 +105,9 @@ This environment is maintained by the Fedora MinGW SIG at: %package -n mingw64-filesystem 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 -%if %{without bootstrap} -Requires: mingw-binutils-generic -%endif + +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 @@ -128,26 +118,6 @@ 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 -%if %{without bootstrap} -Requires: mingw-binutils-generic -%endif - -%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 - - %prep %setup -q -c -T cp %{SOURCE0} COPYING @@ -158,84 +128,99 @@ cp %{SOURCE0} COPYING %install -mkdir -p %{buildroot}%{_libexecdir} -install -m 755 %{SOURCE11} %{buildroot}%{_libexecdir}/mingw-scripts +mkdir -p $RPM_BUILD_ROOT -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 \ - ucrt64-configure ucrt64-cmake ucrt64-make ucrt64-meson ucrt64-pkg-config ; do +mkdir -p $RPM_BUILD_ROOT%{_libexecdir} +install -m 755 %{SOURCE9} $RPM_BUILD_ROOT%{_libexecdir}/mingw-scripts + +mkdir -p $RPM_BUILD_ROOT%{_bindir} +pushd $RPM_BUILD_ROOT%{_bindir} +for i in mingw32-configure mingw32-cmake mingw32-make mingw32-pkg-config \ + mingw64-configure mingw64-cmake mingw64-make mingw64-pkg-config ; do ln -s %{_libexecdir}/mingw-scripts $i done -for i in i686-w64-mingw32-pkg-config \ - 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 %{SOURCE5} %{buildroot}%{_sysconfdir}/profile.d/ -install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/profile.d/ -install -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/profile.d/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d +install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/ +install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_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 $RPM_BUILD_ROOT%{macrosdir} +install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{macrosdir}/macros.mingw +install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{macrosdir}/macros.mingw32 +install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{macrosdir}/macros.mingw64 -mkdir -p %{buildroot}%{_sysconfdir}/rpmlint -install -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/rpmlint/ +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint +install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/rpmlint/ -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 +# Create the folders required for gcc and binutils +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32 +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/bin +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/lib +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32 +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/bin +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/lib - # 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/libexec - mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/libexec/installed-tests - mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/sbin +# The MinGW system root which will contain Windows native binaries +# and Windows-specific header files, pkgconfig, etc. +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/bin +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/etc +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/include +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/include/sys +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/lib/cmake +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-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 - mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/icons - mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/metainfo - mkdir -p %{buildroot}%{_prefix}/$target/sys-root/mingw/share/installed-tests +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/bin +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/etc +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/include +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/include +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/lib/cmake +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/sbin - mkdir -p %{buildroot}%{_prefix}/lib/debug/%{_prefix}/$target -done +# 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 $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/doc +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/info +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/man +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n} +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/aclocal +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/themes +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/cmake +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/locale +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/pkgconfig +mkdir -p $RPM_BUILD_ROOT%{_prefix}/i686-w64-mingw32/sys-root/mingw/share/xml + +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/doc +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/info +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/man +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/man/man{1,2,3,4,5,6,7,8,l,n} +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/aclocal +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/themes +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/cmake +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/locale +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig +mkdir -p $RPM_BUILD_ROOT%{_prefix}/x86_64-w64-mingw32/sys-root/mingw/share/xml # Own folders for all locales # Snippet taken from the Fedora filesystem package -sed -n -f %{SOURCE102} /usr/share/xml/iso-codes/iso_639.xml > %{buildroot}/iso_639.tab -sed -n -f %{SOURCE103} /usr/share/xml/iso-codes/iso_3166.xml > %{buildroot}/iso_3166.tab +sed -n -f %{SOURCE102} /usr/share/xml/iso-codes/iso_639.xml > $RPM_BUILD_ROOT/iso_639.tab +sed -n -f %{SOURCE103} /usr/share/xml/iso-codes/iso_3166.xml > $RPM_BUILD_ROOT/iso_3166.tab -grep -v "^$" %{buildroot}/iso_639.tab | grep -v "^#" | while read a b c d ; do +grep -v "^$" $RPM_BUILD_ROOT/iso_639.tab | grep -v "^#" | while read a b c d ; do [[ "$d" =~ "^Reserved" ]] && continue [[ "$d" =~ "^No linguistic" ]] && continue @@ -245,7 +230,6 @@ 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 @@ -259,58 +243,37 @@ cat %{SOURCE101} | grep -v "^#" | grep -v "^$" | while read loc ; do # If the locality is not official, skip it if [ -n "$locality" ]; then - grep -q "^$locality" %{buildroot}/iso_3166.tab || continue + grep -q "^$locality" $RPM_BUILD_ROOT/iso_3166.tab || continue fi # If the locale is not official and not special, skip it if [ -z "$special" ]; then - grep -Eq "[[:space:]]${locale%%_*}[[:space:]]" %{buildroot}/iso_639.tab || continue + egrep -q "[[:space:]]${locale%%_*}[[:space:]]" $RPM_BUILD_ROOT/iso_639.tab || continue 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 +rm -f $RPM_BUILD_ROOT/iso_639.tab +rm -f $RPM_BUILD_ROOT/iso_3166.tab -cat filelist_mingw32 filelist_mingw64 filelist_ucrt | grep "locale" | while read a b ; do +cat filelist_mingw32 filelist_mingw64 | 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 %{SOURCE8} %{buildroot}%{_rpmconfigdir} -install -m 0755 %{SOURCE9} %{buildroot}%{_rpmconfigdir} -install -m 0755 %{SOURCE10} %{buildroot}%{_rpmconfigdir} -install -m 0755 %{SOURCE16} %{buildroot}%{_rpmconfigdir} +mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm +install -m 0755 %{SOURCE6} $RPM_BUILD_ROOT%{_rpmconfigdir} +install -m 0755 %{SOURCE7} $RPM_BUILD_ROOT%{_rpmconfigdir} +install -m 0755 %{SOURCE8} $RPM_BUILD_ROOT%{_rpmconfigdir} +install -m 0755 %{SOURCE13} $RPM_BUILD_ROOT%{_rpmconfigdir} -mkdir -p %{buildroot}/usr/lib/rpm/fileattrs -install -m 0644 %{SOURCE17} %{buildroot}%{_rpmconfigdir}/fileattrs/ -install -m 0644 %{SOURCE18} %{buildroot}%{_rpmconfigdir}/fileattrs/ -install -m 0644 %{SOURCE19} %{buildroot}%{_rpmconfigdir}/fileattrs/ +mkdir -p $RPM_BUILD_ROOT/usr/lib/rpm/fileattrs +install -m 0644 %{SOURCE14} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/ +install -m 0644 %{SOURCE15} $RPM_BUILD_ROOT%{_rpmconfigdir}/fileattrs/ -mkdir -p %{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 %{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 +mkdir -p $RPM_BUILD_ROOT%{_datadir}/mingw +install -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{_datadir}/mingw/ +install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_datadir}/mingw/ %files base @@ -328,19 +291,10 @@ echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/x86_64-w64-mingw32ucrt-p %{_bindir}/mingw32-configure %{_bindir}/mingw32-cmake %{_bindir}/mingw32-make -%{_bindir}/mingw32-meson %{_bindir}/mingw32-pkg-config -%{_bindir}/i686-w64-mingw32-pkg-config %{_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 %{macrosdir}/macros.mingw64 @@ -348,266 +302,13 @@ echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/x86_64-w64-mingw32ucrt-p %{_bindir}/mingw64-configure %{_bindir}/mingw64-cmake %{_bindir}/mingw64-make -%{_bindir}/mingw64-meson %{_bindir}/mingw64-pkg-config -%{_bindir}/x86_64-w64-mingw32-pkg-config %{_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 -* Wed Aug 20 2025 Marc-André Lureau - 150-3 -- Own a few more directories. - -* Thu Jul 24 2025 Fedora Release Engineering - 150-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu May 29 2025 Sandro Mani - 150-1 -- Re-add target bin dir to PATH - -* Sun Mar 23 2025 Sandro Mani - 149-1 -- Only add cross host tools bin dir to PATH - -* Fri Jan 17 2025 Fedora Release Engineering - 148-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Sep 07 2024 Zephyr Lykos - 148-7 -- Fix meson deprecation warnings - -* Thu Jul 18 2024 Fedora Release Engineering - 148-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jun 12 2024 Sandro Mani - 148-5 -- Rust fixes - -* Thu Jun 06 2024 Sandro Mani - 148-4 -- Set __debug_package 1 in %mingw_debug_package (#2284193) - -* Thu Jan 25 2024 Fedora Release Engineering - 148-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 148-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Sep 13 2023 Orion Poplawski - 148-1 -- Add pkgconfig provides - -* Mon Sep 11 2023 Neal Gompa - 147-3 -- Add dependency on cmake-rpm-macros - -* Thu Jul 20 2023 Fedora Release Engineering - 147-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Apr 07 2023 Sandro Mani - 147-1 -- Set mingw_env before in run_mingw_make - -* Wed Apr 05 2023 Sandro Mani - 146-1 -- Set RUSTFLAGS in mingw env - -* Thu Jan 19 2023 Fedora Release Engineering - 145-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Dec 31 2022 Sandro Mani - 145-1 -- Fix mingw-find-lang.sh exit code - -* Fri Dec 23 2022 Sandro Mani - 144-1 -- Add mingw-qmake-qt6 macros, drop mingw-cmake-kde4 macros - -* Fri Dec 09 2022 Sandro Mani - 143-1 -- Prevent mingw-find-lang.sh from clobbering previous find-lang results - -* Tue Oct 18 2022 Sandro Mani - 142-1 -- Require mingw-binutils-generic - -* Tue Sep 27 2022 Sandro Mani - 141-2 -- Replace egrep with grep -E - -* Sat Jul 30 2022 Sandro Mani - 141-1 -- Revert unsetting _PREFIX - -* Fri Jul 29 2022 Sandro Mani - 140-1 -- Don't unset _PREFIX in mingw-env macro, it leads to ${_PREFIX} - being empty when evaluated the lines above - -* Thu Jul 21 2022 Fedora Release Engineering - 139-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri May 20 2022 Sandro Mani - 139-1 -- Set CMAKE_FIND_ROOT_PATH_MODE_PACKAGE in cmake toolchain files - -* Wed May 11 2022 Sandro Mani - 138-1 -- Drop CMAKE_INSTALL_LIBDIR from mingw-cmake macros - -* Mon May 09 2022 Richard Hughes 137-1 -- Include glib-mkenums in the toolchain binaries to avoid installing host GLib for building. - -* Tue May 03 2022 Sandro Mani - 136-1 -- Drop standard DLL provides, moved to mingw-crt - -* Tue May 03 2022 Sandro Mani - 135-1 -- Add host lib dirs to ld.so.conf - -* Thu Apr 28 2022 Sandro Mani - 134-1 -- Regenerate standard-dlls - -* Thu Feb 24 2022 Marc-André Lureau - 133-2 -- Fix ucrt64 toolchain filenames. - -* Tue Feb 22 2022 Marc-André Lureau - 133-1 -- Add ucrt64 target. Related to rhbz#2055254. - -* Mon Feb 21 2022 Sandro Mani - 132-1 -- Create build_winXX directories with mkdir -p - -* Thu Feb 10 2022 Sandro Mani - 131-2 -- Bump release - -* Thu Feb 10 2022 Sandro Mani - 131-1 -- Move python dependency generation to mingw32/64_python3.attr in mingw-python3 package -- More generic mingw_pkg_name macros to also deduce mingw package name from native name - -* Wed Feb 02 2022 Sandro Mani - 130-1 -- Drop evaling $@ in mingw-scripts, ensure mingw macros invoked by mingw-scripts contain $@ - -* Sat Jan 22 2022 Sandro Mani - 129-1 -- Also set FCFLAGS in mingw-env - -* Thu Jan 20 2022 Fedora Release Engineering -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Sat Jan 08 2022 Sandro Mani - 128-1 -- Add Boost_ARCHITECTURE to cmake toolchain file - -* Sat Jan 08 2022 Sandro Mani - 127-1 -- Correctly test whether CC/CXX/FC env-vars are set in cmake toolchain config - -* Wed Dec 15 2021 Sandro Mani - 126-1 -- Preserve CC/CXX/FC/RC set by ENV if set in cmake toolchain files - -* Sat Nov 20 2021 Sandro Mani - 125-1 -- Fix up debug dirs ownership - -* Wed Nov 17 2021 Sandro Mani - 124-1 -- Use relative paths in cmake/meson toolchain files to make ccache work if - available - -* Tue Sep 21 2021 Sandro Mani - 123-1 -- Autogenerate mingw-python3 BR -- Fix mingw{32/64}.attr to also capture pyd, pc files - -* Thu Sep 02 2021 Sandro Mani - 122-1 -- Allow overriding CMake INCLUDE_INSTALL_DIR in MINGWXX_CMAKE_ARGS -- Drop evaling $@ in mingw-scripts, ensure mingw macros invoked by mingw-scripts contain $@ - -* Sun Aug 29 2021 Sandro Mani - 121-1 -- Drop use of deprecated external dependency generator -- Fix file listed twice -- Fix copying minidebug symbols to binary in mingw-find-debuginfo.sh - -* Fri Aug 27 2021 Sandro Mani - 120-1 -- Adapt mingw-find-debuginfo.sh to store debug files below /usr/lib/debug -- See https://fedoraproject.org/wiki/Changes/F36MingwDebugLocation - -* Thu Jul 22 2021 Fedora Release Engineering -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sat Jun 12 2021 Neal Gompa - 119-1 -- Use pkgconf for pkgconfig - -* Mon Jun 07 2021 Sandro Mani - 118-1 -- Allow overriding CFLAGS/CXXFLAGS/LDFLAGS for %%mingw_meson - -* Mon Feb 01 2021 Sandro Mani - 117-1 -- Filter Windows API umbrella libraries from requires - -* Tue Jan 26 2021 Fedora Release Engineering 116-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jul 27 2020 Sandro Mani - 116-1 -- Add -lssp to LDFLAGS - -* Thu Jul 23 2020 Sandro Mani - 115-1 -- Add -fstack-protector to LDFLAGS (since we carry -D_FORTIFY_SOURCE=2 in cflags, see https://sourceforge.net/p/mingw-w64/bugs/818/) - -* Tue Jul 14 2020 Daniel P. Berrangé - 114-1 -- Add meson hint for libgcrypt-config on mingw cross builds (#1856446) - -* Sat May 23 2020 Sandro Mani - 113-1 -- Add %%mingw_make_build and %%mingw_make_install - -* Fri May 22 2020 Sandro Mani - 112-1 -- Fix %%mingw_meson resulting in ERROR: Unable to determine dynamic linker - -* Fri May 01 2020 David Woodhouse - 111-1 -- Quote tr sequences like '[blank]' to prevent the shell from doing so (#1830233) - -* Wed Jan 29 2020 Fedora Release Engineering -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Nov 07 2019 Marc-André Lureau - 110-1 -- Add redhat-rpm-config dependency. Fixes rhbz#1769792 - -* Thu Aug 29 2019 Sandro Mani - 109-1 -- Add dlltool to toolchain-mingw{32,64}.meson - -* Mon Aug 12 2019 Sandro Mani - 108-1 -- Fix mingw-find-debuginfo.sh to pick up strippable binaries also in %%{_prefix}/%%{mingw32,64_target} - -* Thu Jul 25 2019 Fedora Release Engineering -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Jun 19 2019 Fabiano Fidêncio - 107-1 -- Add %%mingw_ninja_install macro - -* Thu Feb 14 2019 Sandro Mani - 106-1 -- Revert "Remove redundant $@ in mingw_cmake and mingw_meson", it causes no arguments at all to be passed to cmake - -* Tue Feb 05 2019 Elliott Sales de Andrade - 105-1 -- Remove redundant $@ in mingw_cmake and mingw_meson, breaking wrapper scripts - -* Fri Feb 01 2019 Fedora Release Engineering -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jul 13 2018 Fedora Release Engineering -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Fri Apr 20 2018 Elliott Sales de Andrade - 104-1 -- Add macros for meson and ninja - -* Thu Feb 08 2018 Fedora Release Engineering -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sun Sep 10 2017 Sandro Mani - 103-1 -- Add %%mingw_nm macro - -* Sat Sep 09 2017 Sandro Mani - 102-1 -- Also extract debuginfo data from pyd binaries - * Wed Jul 26 2017 Fedora Release Engineering - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild diff --git a/mingw-find-debuginfo.sh b/mingw-find-debuginfo.sh index a7c6a98..e47df65 100755 --- a/mingw-find-debuginfo.sh +++ b/mingw-find-debuginfo.sh @@ -1,4 +1,4 @@ -#!/usr/bin/sh +#!/bin/sh # mingw-find-debuginfo.sh - automagically generate debug info and file list # for inclusion in an rpm spec file for mingw-* packages. @@ -10,9 +10,9 @@ fi BUILDDIR=$1 shift -for f in `find $RPM_BUILD_ROOT -type f -name "*.exe" -or -name "*.dll" -or -name "*.pyd"` +for f in `find $RPM_BUILD_ROOT -type f -name "*.exe" -or -name "*.dll"` do - case $(mingw-objdump -h $f 2>/dev/null | grep -Eo '(debug[\.a-z_]*|gnu.version)') in + case $(mingw-objdump -h $f 2>/dev/null | egrep -o '(debug[\.a-z_]*|gnu.version)') in *debuglink*) continue ;; *debug*) ;; *gnu.version*) @@ -23,24 +23,17 @@ do esac echo extracting debug info from $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 $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" + mingw-objcopy --only-keep-debug $f $f.debug || : + pushd `dirname $f` + mingw-objcopy --add-gnu-debuglink=`basename $f.debug` --strip-unneeded `basename $f` || : popd done for target in $@; do - prefix=`rpm --eval "%{_prefix}/%{${target}_target}"` - if [ ! -d ${RPM_BUILD_ROOT}/usr/lib/debug/$prefix ] ; then + prefix=`rpm --eval "%{${target}_prefix}"` + if [ ! -d $RPM_BUILD_ROOT$prefix ] ; then continue fi - find ${RPM_BUILD_ROOT}/usr/lib/debug/$prefix -type f -name "*.exe.debug" -or -name "*.dll.debug" -or -name "*.pyd.debug" | + find $RPM_BUILD_ROOT$prefix -type f -name "*.exe.debug" -or -name "*.dll.debug" | sed -n -e "s#^$RPM_BUILD_ROOT##p" > $BUILDDIR/${target}-debugfiles.list - 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/mingw-find-lang.sh b/mingw-find-lang.sh index 81421fd..097fc21 100755 --- a/mingw-find-lang.sh +++ b/mingw-find-lang.sh @@ -2,23 +2,16 @@ # Wrapper for the %find_lang macro which splits out the various translations in per-target lists -PACKAGE_NAME=$2 - -# If previous result from native find-lang exists, filter mingw entries and move it out of the way -test -f ${PACKAGE_NAME}.lang && grep -v mingw32 ${PACKAGE_NAME}.lang > ${PACKAGE_NAME}-native.lang - /usr/lib/rpm/find-lang.sh $* - if test $? != 0 ; then - test -f ${PACKAGE_NAME}-native.lang && mv ${PACKAGE_NAME}-native.lang ${PACKAGE_NAME}.lang exit 1 fi +PACKAGE_NAME=$2 targets=`rpm --eval '%{mingw_build_targets}'` for target in $targets; do prefix=`rpm --eval "%{${target}_prefix}"` - cat ${PACKAGE_NAME}.lang | grep "$prefix" > ${target}-$PACKAGE_NAME.lang + cat $2.lang | grep "$prefix" > ${target}-$PACKAGE_NAME.lang done -test -f ${PACKAGE_NAME}-native.lang && mv ${PACKAGE_NAME}-native.lang ${PACKAGE_NAME}.lang exit 0 diff --git a/mingw-find-provides.sh b/mingw-find-provides.sh new file mode 100755 index 0000000..30c6150 --- /dev/null +++ b/mingw-find-provides.sh @@ -0,0 +1,24 @@ +#!/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 ]" + 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 diff --git a/mingw.req b/mingw-find-requires.sh similarity index 77% rename from mingw.req rename to mingw-find-requires.sh index ef2e065..84686c1 100755 --- a/mingw.req +++ b/mingw-find-requires.sh @@ -7,7 +7,7 @@ targets=$@ if [ -z "$targets" ] ; then - echo "Usage: $0 [ mingw32 ] [ mingw64 ] [ ucrt64 ]" + echo "Usage: $0 [ mingw32 ] [ mingw64 ]" exit 1 fi @@ -15,17 +15,16 @@ fi 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)$') +dlls=$(echo $filelist | tr [:blank:] '\n' | grep -Ei '\.(dll|exe)$') +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:]' | + tr [:upper:] [:lower:] | sed "s/\(.*\)/$target(\1)/" dll_found=true fi @@ -37,17 +36,15 @@ 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/mingw-scripts.sh b/mingw-scripts.sh index 4dc98d2..929a901 100755 --- a/mingw-scripts.sh +++ b/mingw-scripts.sh @@ -26,8 +26,6 @@ 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 @@ -39,12 +37,9 @@ 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 '$@' in the evaluated rpm macro is -# a potential security risk. +# NOTE: The use of 'eval' in combination with '$@' is a potential security risk # We should find a more safe replacement for this command # 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/mingw.prov b/mingw.prov deleted file mode 100755 index 1ce2ace..0000000 --- a/mingw.prov +++ /dev/null @@ -1,34 +0,0 @@ -#!/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 - -pcs=$(echo $filelist | tr '[:blank:]' '\n' | grep '\.pc$') - -for f in $pcs; do - basename=`basename $f .pc | tr '[:upper:]' '[:lower:]'` - for target in $targets; do - host_triplet=`rpm --eval "%{${target}_target}"` - [[ $f =~ .*$host_triplet.* ]] && echo "${target}-pkgconfig($basename)" - done -done - -exit 0 diff --git a/mingw32-hostlib.conf b/mingw32-hostlib.conf deleted file mode 100644 index c00dd5d..0000000 --- a/mingw32-hostlib.conf +++ /dev/null @@ -1 +0,0 @@ -/usr/i686-w64-mingw32/lib/ diff --git a/mingw32.attr b/mingw32.attr index 35c1e92..498385b 100644 --- a/mingw32.attr +++ b/mingw32.attr @@ -1,3 +1,3 @@ -%__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])$ +%__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])$ diff --git a/mingw64-hostlib.conf b/mingw64-hostlib.conf deleted file mode 100644 index 0defb02..0000000 --- a/mingw64-hostlib.conf +++ /dev/null @@ -1 +0,0 @@ -/usr/x86_64-w64-mingw32/lib/ diff --git a/mingw64.attr b/mingw64.attr index 5142751..9e7ab01 100644 --- a/mingw64.attr +++ b/mingw64.attr @@ -1,3 +1,3 @@ -%__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])$ +%__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])$ diff --git a/pkgconf-personality-mingw32 b/pkgconf-personality-mingw32 deleted file mode 100644 index dcf7848..0000000 --- a/pkgconf-personality-mingw32 +++ /dev/null @@ -1,6 +0,0 @@ -# MinGW 32-bit x86 Windows target -Triplet: i686-w64-mingw32 -SysrootDir: /usr/i686-w64-mingw32/sys-root/mingw -DefaultSearchPaths: /usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/i686-w64-mingw32/sys-root/mingw/share/pkgconfig -SystemIncludePaths: /usr/i686-w64-mingw32/sys-root/mingw/include -SystemLibraryPaths: /usr/i686-w64-mingw32/sys-root/mingw/lib diff --git a/pkgconf-personality-mingw64 b/pkgconf-personality-mingw64 deleted file mode 100644 index 4cca871..0000000 --- a/pkgconf-personality-mingw64 +++ /dev/null @@ -1,6 +0,0 @@ -# MinGW 64-bit x86 Windows target -Triplet: x86_64-w64-mingw32 -SysrootDir: /usr/x86_64-w64-mingw32/sys-root/mingw -DefaultSearchPaths: /usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig -SystemIncludePaths: /usr/x86_64-w64-mingw32/sys-root/mingw/include -SystemLibraryPaths: /usr/x86_64-w64-mingw32/sys-root/mingw/lib diff --git a/pkgconf-personality-ucrt64 b/pkgconf-personality-ucrt64 deleted file mode 100644 index 7dcf5b3..0000000 --- a/pkgconf-personality-ucrt64 +++ /dev/null @@ -1,6 +0,0 @@ -# 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/standard-dlls-mingw32 b/standard-dlls-mingw32 new file mode 100644 index 0000000..2606332 --- /dev/null +++ b/standard-dlls-mingw32 @@ -0,0 +1,329 @@ +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/standard-dlls-mingw64 b/standard-dlls-mingw64 new file mode 100644 index 0000000..496a4a7 --- /dev/null +++ b/standard-dlls-mingw64 @@ -0,0 +1,1232 @@ +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/toolchain-mingw32.cmake b/toolchain-mingw32.cmake index a450d39..70f6441 100644 --- a/toolchain-mingw32.cmake +++ b/toolchain-mingw32.cmake @@ -2,37 +2,26 @@ SET(CMAKE_SYSTEM_NAME Windows) SET(CMAKE_SYSTEM_PROCESSOR x86) # specify the cross compiler -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() +SET(CMAKE_C_COMPILER /usr/bin/i686-w64-mingw32-gcc) +SET(CMAKE_CXX_COMPILER /usr/bin/i686-w64-mingw32-g++) # 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, headers and packages in the target directories +# for libraries and headers 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) -IF(NOT $ENV{RC}) - SET(CMAKE_RC_COMPILER /usr/bin/i686-w64-mingw32-windres) -ENDIF() +SET(CMAKE_RC_COMPILER /usr/bin/i686-w64-mingw32-windres) # 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/toolchain-mingw32.meson b/toolchain-mingw32.meson deleted file mode 100644 index 600a297..0000000 --- a/toolchain-mingw32.meson +++ /dev/null @@ -1,23 +0,0 @@ -[binaries] -c = 'i686-w64-mingw32-gcc' -cpp = 'i686-w64-mingw32-g++' -fortran = 'i686-w64-mingw32-gfortran' -rust = ['rustc', '--target', 'i686-pc-windows-gnu'] -ar = '/usr/bin/i686-w64-mingw32-ar' -pkg-config = '/usr/bin/i686-w64-mingw32-pkg-config' -ranlib = '/usr/bin/x86_64-w64-mingw32-ranlib' -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' -needs_exe_wrapper = true - -[host_machine] -system = 'windows' -cpu_family = 'x86' -cpu = 'i686' -endian = 'little' diff --git a/toolchain-mingw64.cmake b/toolchain-mingw64.cmake index a1e278f..b323e11 100644 --- a/toolchain-mingw64.cmake +++ b/toolchain-mingw64.cmake @@ -2,37 +2,26 @@ 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-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() +SET(CMAKE_C_COMPILER /usr/bin/x86_64-w64-mingw32-gcc) +SET(CMAKE_CXX_COMPILER /usr/bin/x86_64-w64-mingw32-g++) # where is the target environment SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32/sys-root/mingw) # search for programs in the build host directories SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -# for libraries, headers and packages in the target directories +# for libraries and headers 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) -IF(NOT $ENV{RC}) - SET(CMAKE_RC_COMPILER /usr/bin/x86_64-w64-mingw32-windres) -ENDIF() +SET(CMAKE_RC_COMPILER /usr/bin/x86_64-w64-mingw32-windres) # 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/toolchain-mingw64.meson b/toolchain-mingw64.meson deleted file mode 100644 index 91298ec..0000000 --- a/toolchain-mingw64.meson +++ /dev/null @@ -1,23 +0,0 @@ -[binaries] -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-gnu'] -ar = '/usr/bin/x86_64-w64-mingw32-ar' -pkg-config = '/usr/bin/x86_64-w64-mingw32-pkg-config' -ranlib = '/usr/bin/x86_64-w64-mingw32-ranlib' -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' -needs_exe_wrapper = true - -[host_machine] -system = 'windows' -cpu_family = 'x86_64' -cpu = 'x86_64' -endian = 'little' diff --git a/toolchain-ucrt64.cmake b/toolchain-ucrt64.cmake deleted file mode 100644 index 7d3c2f3..0000000 --- a/toolchain-ucrt64.cmake +++ /dev/null @@ -1,37 +0,0 @@ -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/toolchain-ucrt64.meson b/toolchain-ucrt64.meson deleted file mode 100644 index 0834d2a..0000000 --- a/toolchain-ucrt64.meson +++ /dev/null @@ -1,24 +0,0 @@ -[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-gnu'] -# XXX: there is no mingw/rustc target for UCRT yet, but this should do -rust_ld = 'x86_64-w64-mingw32ucrt-gcc' -ar = '/usr/bin/x86_64-w64-mingw32ucrt-ar' -pkg-config = '/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/ucrt64.attr b/ucrt64.attr deleted file mode 100644 index 26f6a79..0000000 --- a/ucrt64.attr +++ /dev/null @@ -1,3 +0,0 @@ -%__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/ucrt64.sh b/ucrt64.sh deleted file mode 100644 index 5723ffb..0000000 --- a/ucrt64.sh +++ /dev/null @@ -1,3 +0,0 @@ -# Environment variables for cross compilers. - -alias ucrt64-env='eval `rpm --eval %{ucrt64_env}`'