@@ -882,6 +882,30 @@ build_naclruntime() {
882
882
cp " scons-out/opt-linux-${NACL_ARCH} /staging/sel_ldr" " ${PREFIX} /nacl_loader"
883
883
}
884
884
885
+ # Check for DLL dependencies on MinGW stuff. For MSVC platforms this is bad because it should work
886
+ # without having MinGW installed. For MinGW platforms it is still bad because it might not work
887
+ # when building with different flavors, or newer/older versions.
888
+ build_depcheck () {
889
+ " ${download_only} " && return
890
+
891
+ case " ${PLATFORM} " in
892
+ windows-* -* )
893
+ local good=true
894
+ for dll in $( find " ${PREFIX} /bin" -type f -name ' *.dll' ) ; do
895
+ # https://wiki.unvanquished.net/wiki/MinGW#Built-in_DLL_dependencies
896
+ if objdump -p " ${dll} " | grep -oP ' (?<=DLL Name: )(libgcc_s|libstdc|libssp|libwinpthread).*' ; then
897
+ echo " ${dll} depends on above DLLs"
898
+ good=false
899
+ fi
900
+ done
901
+ " ${good} " || log ERROR ' Built DLLs depend on MinGW runtime DLLs'
902
+ ;;
903
+ * )
904
+ log ERROR ' Unsupported platform for depcheck'
905
+ ;;
906
+ esac
907
+ }
908
+
885
909
# The import libraries generated by MinGW seem to have issues, so we use LLVM's version instead.
886
910
# So LLVM must be installed, e.g. 'sudo apt install llvm'
887
911
build_genlib () {
@@ -1144,13 +1168,13 @@ setup_linux-arm64-default() {
1144
1168
common_setup linux aarch64-unknown-linux-gnu
1145
1169
}
1146
1170
1147
- base_windows_amd64_msvc_packages=' zlib gmp nettle curl sdl2 glew png jpeg webp openal ogg vorbis opus opusfile naclsdk genlib'
1171
+ base_windows_amd64_msvc_packages=' zlib gmp nettle curl sdl2 glew png jpeg webp openal ogg vorbis opus opusfile naclsdk depcheck genlib'
1148
1172
all_windows_amd64_msvc_packages=" ${base_windows_amd64_msvc_packages} "
1149
1173
1150
1174
base_windows_i686_msvc_packages=" ${base_windows_amd64_msvc_packages} "
1151
1175
all_windows_i686_msvc_packages=" ${base_windows_amd64_msvc_packages} "
1152
1176
1153
- base_windows_amd64_mingw_packages=' zlib gmp nettle curl sdl2 glew png jpeg webp openal ogg vorbis opus opusfile naclsdk'
1177
+ base_windows_amd64_mingw_packages=' zlib gmp nettle curl sdl2 glew png jpeg webp openal ogg vorbis opus opusfile naclsdk depcheck '
1154
1178
all_windows_amd64_mingw_packages=" ${base_windows_amd64_mingw_packages} "
1155
1179
1156
1180
base_windows_i686_mingw_packages=" ${base_windows_amd64_mingw_packages} "
0 commit comments