diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-07-07 13:19:05 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-07-19 10:22:35 +0000 |
commit | 8cc53c3c6002d6553d00d39d9371b07657530465 (patch) | |
tree | 37750df87239c19e20de8042791b3a2740d8daf1 | |
parent | 9a45b7d4f6c126f4bf21e0a06cfe26c43b09deb7 (diff) |
Detect and use system libraries
Uses pkg-config to detect libevent, libwebp, flac, jsoncpp, opus,
speex and vpx, and configure chromium to link with system versions.
Change-Id: Ic6c5bbe07929a7c2b79abcb760a8c61b0c9ed92f
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
-rw-r--r-- | src/core/config/desktop_linux.pri | 9 | ||||
-rw-r--r-- | src/core/config/embedded_linux.pri | 9 | ||||
-rw-r--r-- | tools/qmake/mkspecs/features/configure.prf | 21 |
3 files changed, 32 insertions, 7 deletions
diff --git a/src/core/config/desktop_linux.pri b/src/core/config/desktop_linux.pri index 2ebd6b995..b99728578 100644 --- a/src/core/config/desktop_linux.pri +++ b/src/core/config/desktop_linux.pri @@ -17,9 +17,16 @@ GYP_CONFIG += \ clang=0 \ enable_plugins=1 \ -config_system_libxslt: GYP_CONFIG += use_system_libxml=1 contains(QT_CONFIG, system-zlib): config_system_minizip: GYP_CONFIG += use_system_zlib=1 contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1 contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1 +config_system_libevent: GYP_CONFIG += use_system_libevent=1 +config_system_libwebp: GYP_CONFIG += use_system_libwebp=1 +config_system_libxslt: GYP_CONFIG += use_system_libxml=1 +config_system_flac: GYP_CONFIG += use_system_flac=1 +config_system_jsoncpp: GYP_CONFIG += use_system_jsoncpp=1 +config_system_opus: GYP_CONFIG += use_system_opus=1 +config_system_speex: GYP_CONFIG += use_system_speex=1 +config_system_vpx: GYP_CONFIG += use_system_libvpx=1 !contains(QT_CONFIG, pulseaudio): GYP_CONFIG += use_pulseaudio=0 diff --git a/src/core/config/embedded_linux.pri b/src/core/config/embedded_linux.pri index 879d22e87..df478be9c 100644 --- a/src/core/config/embedded_linux.pri +++ b/src/core/config/embedded_linux.pri @@ -49,8 +49,15 @@ GYP_CONFIG += \ v8_use_snapshot=false \ want_separate_host_toolset=1 \ -config_system_libxslt: GYP_CONFIG += use_system_libxml=1 contains(QT_CONFIG, system-zlib): config_system_minizip: GYP_CONFIG += use_system_zlib=1 contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1 contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1 !contains(QT_CONFIG, pulseaudio): GYP_CONFIG += use_pulseaudio=0 +config_system_libevent: GYP_CONFIG += use_system_libevent=1 +config_system_libwebp: GYP_CONFIG += use_system_libwebp=1 +config_system_libxslt: GYP_CONFIG += use_system_libxml=1 +config_system_flac: GYP_CONFIG += use_system_flac=1 +config_system_jsoncpp: GYP_CONFIG += use_system_jsoncpp=1 +config_system_opus: GYP_CONFIG += use_system_opus=1 +config_system_speex: GYP_CONFIG += use_system_speex=1 +config_system_vpx: GYP_CONFIG += use_system_libvpx=1 diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf index dac33922f..644f90a61 100644 --- a/tools/qmake/mkspecs/features/configure.prf +++ b/tools/qmake/mkspecs/features/configure.prf @@ -29,12 +29,23 @@ defineTest(runConfigure) { } linux { - packagesExist(minizip, zlib): CONFIG += config_system_minizip - else: log("System zlib and minizip not found. Using Chromium's copies.$${EOL}") - packagesExist(libxml-2.0,libxslt): CONFIG += config_system_libxslt - else: log("System libxml2 and libxslt not found. Using Chromium's copies.$${EOL}") + 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}") } - isEmpty(skipBuildReason):cache(CONFIG, add, $$list(webengine_successfully_configured)) + isEmpty(skipBuildReason): { + cache(CONFIG, add, $$list(webengine_successfully_configured)) + !isEmpty(WEBENGINE_CONFIG): cache(CONFIG, add, $$list($$WEBENGINE_CONFIG)) + } } |