diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf
index ee0cce1b21f66130a1861353db0be3e92698f11a..012f44558690e3b2a9caa304176fad63e8929489 100644
--- a/tools/qmake/mkspecs/features/configure.prf
+++ b/tools/qmake/mkspecs/features/configure.prf
@@ -34,28 +34,41 @@ defineTest(runConfigure) {
         for(package, $$list($$REQUIRED_PACKAGES)) {
             !packagesExist($$package):skipBuild("Unmet dependency: $$package")
         }
-        packagesExist(minizip, zlib): WEBENGINE_CONFIG += use_system_minizip
+        packagesExist(minizip, zlib): WEBENGINE_CONFIG += use_system_minizip use_system_zlib
         else: log("System zlib or minizip not found. Using Chromium's copies.$${EOL}")
-        packagesExist(libwebp,libwebpdemux): WEBENGINE_CONFIG += use_system_libwebp
+        packagesExist(libwebp,libwebpdemux): WEBENGINE_CONFIG += use_system_libwebp use_system_libwebpdemux
         else: log("System libwebp or libwebpdemux not found. Using Chromium's copies.$${EOL}")
-        packagesExist(libxml-2.0,libxslt): WEBENGINE_CONFIG += use_system_libxslt
+        packagesExist(libxml-2.0,libxslt): WEBENGINE_CONFIG += use_system_libxslt use_system_libxml2
         else: log("System libxml2 or libxslt not found. Using Chromium's copies.$${EOL}")
         for(package, $$list("libevent jsoncpp opus protobuf")) {
             packagesExist($$package): WEBENGINE_CONFIG += use_system_$$package
-            else: log("System $$package not found. Using Chromium's copy.$${EOL}")
+            else {
+                log("System $$package not found. Using Chromium's copy.$${EOL}")
+                WEBENGINE_CONFIG += use_bundled_$$package
+            }
         }
         use?(system_protobuf) {
             !system("which protoc > /dev/null") {
                 log("Protobuf compiler not found. Using Chromium's copy of protobuf.$${EOL}")
                 WEBENGINE_CONFIG -= use_system_protobuf
+                WEBENGINE_CONFIG += use_bundled_protobuf
             }
         }
         config_libvpx: WEBENGINE_CONFIG += use_system_vpx
-        else: log("Compatible system libvpx not found. Using Chromium's copy.$${EOL}")
+        else {
+            log("Compatible system libvpx not found. Using Chromium's copy.$${EOL}")
+            WEBENGINE_CONFIG += use_bundled_libvpx
+        }
         config_srtp: WEBENGINE_CONFIG += use_system_libsrtp
-        else: log("System libsrtp not found. Using Chromium's copy.$${EOL}")
+        else {
+            log("System libsrtp not found. Using Chromium's copy.$${EOL}")
+            WEBENGINE_CONFIG += use_bundled_srtp
+        }
         config_snappy: WEBENGINE_CONFIG += use_system_snappy
-        else: log("System snappy not found. Using Chromium's copy.$${EOL}")
+        else {
+            log("System snappy not found. Using Chromium's copy.$${EOL}")
+            WEBENGINE_CONFIG += use_bundled_snappy
+        }
 
         !cross_compile {
             packagesExist(nss): WEBENGINE_CONFIG += use_nss
@@ -75,53 +88,71 @@ defineTest(runConfigure) {
 # This is called from default_post, at which point we've also parsed
 # command line options
 defineTest(finalizeConfigure) {
-    linux {
-        use?(nss) {
-            log("Certificate handling.............. Using system NSS$${EOL}")
-        } else {
-            log("Certificate handling.............. Using bundled BoringSSL$${EOL}")
-        }
+    unix:!darwin {
+        log("System library dependencies:$${EOL}")
         use?(system_icu) {
             packagesExist("icu-uc icu-i18n") {
-                log("ICU............................... Using system version$${EOL}")
+                log("  ICU ................................ Using system version$${EOL}")
             } else {
-                log("ICU............................... System ICU not found$${EOL}")
+                log("  ICU ................................ System ICU not found$${EOL}")
                 skipBuild("Unmet dependencies: icu-uc, icu-i18n")
             }
         } else {
-            log("ICU............................... Using internal copy (Default, force system ICU with WEBENGINE_CONFIG+=use_system_icu)$${EOL}")
+            log("  ICU ................................ Using internal copy (Default, force system ICU with WEBENGINE_CONFIG+=use_system_icu)$${EOL}")
+            WEBENGINE_CONFIG += use_bundled_icu
         }
         use?(system_ffmpeg) {
             packagesExist("libavcodec libavformat libavutil") {
                 packagesExist("libwebp, libwebpdemux, opus, \'vpx >= 1.4\'"){
-                    log("FFMPEG............................ Using system version$${EOL}")
+                    log("  FFMPEG ............................. Using system version$${EOL}")
                 } else {
-                    log("FFMPEG............................ Conflicting FFMPEG dependencies$${EOL}")
+                    log("  FFMPEG ............................. Conflicting FFMPEG dependencies$${EOL}")
                     skipBuild("Unmet dependencies: opus, vpx, libwebp, libwebpdemux")
                 }
             } else {
-                log("FFMPEG............................ System FFMPEG not found$${EOL}")
+                log("  FFMPEG ............................. System FFMPEG not found$${EOL}")
                 skipBuild("Unmet dependencies: libavcodec, libavformat, libavutil")
             }
         } else {
-            log("FFMPEG............................ Using internal copy (Default, force system FFMPEG with WEBENGINE_CONFIG+=use_system_ffmpeg)$${EOL}")
+            log("  FFMPEG ............................. Using internal copy (Default, force system FFMPEG with WEBENGINE_CONFIG+=use_system_ffmpeg)$${EOL}")
+            WEBENGINE_CONFIG += use_bundled_ffmpeg
         }
+        for(config, WEBENGINE_CONFIG) {
+            match = $$find(config, "^use_system_")
+            !isEmpty(match) {
+                use_system += $$replace(match, ^use_system_,)
+            }
+            match = $$find(config, "^use_bundled_")
+            !isEmpty(match) {
+                use_bundled += $$replace(match, ^use_bundled_,)
+            }
+        }
+        !isEmpty(use_system): log("  Optional system libraries used ..... $$use_system$${EOL}")
+        !isEmpty(use_bundled): log("  Optional bundled libraries used .... $$use_bundled$${EOL}")
     }
+    log("Configurable features:$${EOL}")
     use?(proprietary_codecs) {
-        log("Proprietary codecs (H264, MP3).... Enabled$${EOL}")
+        log("  Proprietary codecs (H264, MP3) ..... Enabled$${EOL}")
     } else {
-        log("Proprietary codecs (H264, MP3).... Not enabled         (Default, enable with WEBENGINE_CONFIG+=use_proprietary_codecs)$${EOL}")
+        log("  Proprietary codecs (H264, MP3) ..... Not enabled         (Default, enable with WEBENGINE_CONFIG+=use_proprietary_codecs)$${EOL}")
     }
     qtHaveModule(positioning): {
-        log("Geolocation....................... Enabled$${EOL}")
+        log("  Geolocation ........................ Enabled$${EOL}")
     } else {
-        log("Geolocation....................... Not enabled         (Requires Qt Positioning module)$${EOL}")
+        log("  Geolocation ........................ Not enabled         (Requires Qt Positioning module)$${EOL}")
+    }
+    unix:!darwin {
+        use?(nss) {
+            log("  Certificate handling ............... Using system NSS$${EOL}")
+        } else {
+            log("  Certificate handling ............... Using bundled BoringSSL$${EOL}")
+        }
     }
     osx {
         use?(appstore_compliant_code) {
-            log("AppStore Compliant ............... Enabled$${EOL}")
+            log("  Mac App Store Compliant ............ Enabled$${EOL}")
         } else {
-            log("AppStore Compliant ............... Not enabled         (Default, enable with WEBENGINE_CONFIG+=use_appstore_compliant_code)$${EOL}")
+            log("  Mac App Store Compliant ............ Not enabled         (Default, enable with WEBENGINE_CONFIG+=use_appstore_compliant_code)$${EOL}")
         }
         use?(native_spellchecker) {
             log("Native Spellchecker .............. Enabled$${EOL}")
@@ -129,7 +160,7 @@ defineTest(finalizeConfigure) {
             log("Native Spellchecker .............. Not enabled         (Default, enable with WEBENGINE_CONFIG+=use_native_spellchecker)$${EOL}")
         }
         !isMinOSXSDKVersion(10, 10, 3) {
-            log("Force Touch API usage ............ Not enabled         (Because the OS X SDK version to be used \"$${WEBENGINE_OSX_SDK_PRODUCT_VERSION}\" is lower than the required \"10.10.3\")$${EOL}")
+            log("  Force Touch API usage .............. Not enabled         (Because the OS X SDK version to be used \"$${WEBENGINE_OSX_SDK_PRODUCT_VERSION}\" is lower than the required \"10.10.3\")$${EOL}")
         }
     }
 }