# Load configure.prf from qtbase first load(configure) load(functions) defineTest(runConfigure) { webengine_successfully_configured: return(true) linux:contains(QT_CONFIG,no-pkg-config) { skipBuild("pkg-config is required") return(false) } # Ignore the cached config tests results in case they were not successful CONFIG += recheck #Override the config.tests path QMAKE_CONFIG_TESTS_DIR = $$QTWEBENGINE_ROOT/tools/qmake/config.tests CONFIG_TESTS = $$files($$QMAKE_CONFIG_TESTS_DIR/*.pro, true) log("Running configure tests$${EOL}") for(test, CONFIG_TESTS) { test = $$basename(test) test ~= s/\\.pro$// qtCompileTest($$test) } # libcap-dev package doesn't ship .pc files on Ubuntu. linux:!config_libcap:skipBuild("libcap development package appears to be missing") linux:!config_khr:skipBuild("khronos development headers appear to be missing (mesa/libegl1-mesa-dev)") contains(QT_CONFIG, xcb) { for(package, $$list("libdrm xcomposite xi xrandr xscrnsaver")) { !packagesExist($$package):skipBuild("Unmet dependency: $$package") } } linux { packagesExist(minizip, zlib): WEBENGINE_CONFIG += config_system_minizip else: log("System zlib or minizip not found. Using Chromium's copies.$${EOL}") packagesExist(libwebp,libwebpdemux): WEBENGINE_CONFIG += config_system_libwebp else: log("System libwebp or libwebpdemux not found. Using Chromium's copies.$${EOL}") packagesExist(libxml-2.0,libxslt): WEBENGINE_CONFIG += config_system_libxslt else: log("System libxml2 or libxslt not found. Using Chromium's copies.$${EOL}") for(package, $$list("libevent flac jsoncpp opus speex")) { packagesExist($$package): WEBENGINE_CONFIG += config_system_$$package else: log("System $$package not found. Using Chromium's copy.$${EOL}") } packagesExist("\'vpx >= 1.4\'"): WEBENGINE_CONFIG += config_system_vpx else: log("System vpx >= 1.4 not found. Using Chromium's copy.$${EOL}") config_srtp: WEBENGINE_CONFIG += config_system_libsrtp else: log("System libsrtp not found. Using Chromium's copy.$${EOL}") config_snappy: WEBENGINE_CONFIG += config_system_snappy else: log("System snappy not found. Using Chromium's copy.$${EOL}") } isEmpty(skipBuildReason): { cache(CONFIG, add, $$list(webengine_successfully_configured)) !isEmpty(WEBENGINE_CONFIG): cache(CONFIG, add, $$list($$WEBENGINE_CONFIG)) } } # This is called from default_post, at which point we've also parsed # command line options defineTest(finalizeConfigure) { linux { contains(WEBENGINE_CONFIG, use_system_icu) { packagesExist("icu-uc icu-i18n") { log("ICU............................... Using system version$${EOL}") } else { 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}") } contains(WEBENGINE_CONFIG, use_system_ffmpeg) { packagesExist("libavcodec libavformat libavutil") { packagesExist("libwebp, libwebpdemux, opus, \'vpx >= 1.4\'"){ log("FFMPEG............................ Using system version$${EOL}") } else { log("FFMPEG............................ Conflicting FFMPEG dependencies$${EOL}") skipBuild("Unmet dependencies: opus, vpx, libwebp, libwebpdemux") } } else { 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}") } } contains(WEBENGINE_CONFIG, use_proprietary_codecs) { log("Proprietary codecs (H264, MP3).... Enabled$${EOL}") } else { log("Proprietary codecs (H264, MP3).... Not enabled (Default, enable with WEBENGINE_CONFIG += use_proprietary_codecs)$${EOL}") } }