Hi
Currently mingw-filesystem contains
# (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
Source20: 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
Source21: standard-dlls-mingw64
# (rpm -ql ucrt64-crt | grep '\.a$' | while read f ; do
x86_64-w64-mingw32ucrt-dlltool -I $f 2>/dev/null ; done) | sort | uniq |
tr A-Z a-z > standard-dlls-ucrt64
Source22: standard-dlls-ucrt64
and
%package -n mingw32-filesystem
[...]
Provides: %(sed "s/\(.*\)/mingw32(\1) /g" %{SOURCE20} | tr "\n"
" ")
Provides: mingw32(mscoree.dll)
%package -n mingw64-filesystem
[...]
Provides: %(sed "s/\(.*\)/mingw64(\1) /g" %{SOURCE21} | tr "\n"
" ")
Provides: mingw64(mscoree.dll)
%package -n ucrt64-filesystem
[...]
Provides: %(sed "s/\(.*\)/ucrt64(\1) /g" %{SOURCE22} | tr "\n"
" ")
Provides: ucrt64(mscoree.dll)
I wonder whether these standard DLL provides should be provided by
mingw32-crt, mingw64 and ucrt64-crt instead? The provided DLLs depend on
the mingw-w64 version (indeed I just had to update them for
mingw-w64-10.0.0), and IMO it would be better to keep mingw-filesystem
independent from the mingw-w64 version, i.e. to allow adding macros etc
and allow simple git merges to update also the other branches. I'd
proceed with removing these from mingw-filesystem, and adding to
mingw-crt.spec:
# Steps:
# - Perform (scratch) build with bootstrap=1
# - Update the standard-dlls-xxx files as documented below, and rebuild
with bootstrap=0
%global bootstrap 0
%if 0%{?bootstrap:1}
# (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
Source1: 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
Source2: standard-dlls-mingw64
# (rpm -ql ucrt64-crt | grep '\.a$' | while read f ; do
x86_64-w64-mingw32ucrt-dlltool -I $f 2>/dev/null ; done) | sort | uniq |
tr A-Z a-z > standard-dlls-ucrt64
Source3: standard-dlls-ucrt64
%endif
%package -n mingw32-crt
[...]
%if 0%{?bootstrap:1}
Provides: %(sed "s/\(.*\)/mingw32(\1) /g" %{SOURCE1} | tr "\n"
" ")
Provides: mingw32(mscoree.dll)
%endif
%package -n mingw64-crt
[...]
%if 0%{?bootstrap:1}
Provides: %(sed "s/\(.*\)/mingw64(\1) /g" %{SOURCE2} | tr "\n"
" ")
Provides: mingw64(mscoree.dll)
%endif
%package -n ucrt64-crt
[...]
%if 0%{?bootstrap:1}
Provides: %(sed "s/\(.*\)/ucrt64(\1) /g" %{SOURCE3} | tr "\n"
" ")
Provides: ucrt64(mscoree.dll)
%endif
Any comments/objections?
Thanks
Sandro