diff options
-rw-r--r-- | configure.json | 43 | ||||
-rw-r--r-- | src/core/config/linux.pri | 7 | ||||
-rw-r--r-- | tools/qmake/config.tests/alsa/alsa.pro | 2 | ||||
-rw-r--r-- | tools/qmake/config.tests/alsa/alsatest.cpp | 37 | ||||
-rw-r--r-- | tools/qmake/mkspecs/features/configure.prf | 15 |
5 files changed, 93 insertions, 11 deletions
diff --git a/configure.json b/configure.json index 63abd1dba..22870a0eb 100644 --- a/configure.json +++ b/configure.json @@ -1,14 +1,45 @@ { "module": "webengine", + "testDir": "tools/qmake/config.tests", + "commandline": { "options": { + "alsa": "boolean", "proprietary-codecs": "boolean", + "pulseaudio": "boolean", "spellchecker": "boolean" } }, + "libraries": { + "alsa": { + "label": "ALSA", + "test": "alsa", + "sources": [ + "-lasound" + ] + }, + "pulseaudio": { + "label": "PulseAudio >= 0.9.10", + "sources": [ + { "type": "pkgConfig", "args": "libpulse >= 0.9.10 libpulse-mainloop-glib" } + ] + } + }, + "features": { + "alsa": { + "label": "ALSA", + "condition": "config.unix && libs.alsa", + "output": [ "privateFeature" ] + }, + "pulseaudio": { + "label": "PulseAudio", + "autoDetect": "config.unix", + "condition": "libs.pulseaudio", + "output": [ "privateFeature" ] + }, "proprietary-codecs": { "label": "Proprietary Codecs", "autoDetect": false, @@ -27,7 +58,17 @@ "section": "Qt WebEngine", "entries": [ "proprietary-codecs", - "spellchecker" + "spellchecker", + { + "type": "feature", + "args": "alsa", + "condition": "config.unix" + }, + { + "type": "feature", + "args": "pulseaudio", + "condition": "config.unix" + } ] } ] diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri index 83c852f86..59417997a 100644 --- a/src/core/config/linux.pri +++ b/src/core/config/linux.pri @@ -1,5 +1,6 @@ include(common.pri) -QT_FOR_CONFIG += gui-private +include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri) +QT_FOR_CONFIG += gui-private webengine-private # linux_use_bundled_gold currently relies on a hardcoded relative path from chromium/src/out/(Release|Debug) # Disable it along with the -Wl,--threads flag just in case gold isn't installed on the system. @@ -41,12 +42,12 @@ qtConfig(system-png): GYP_CONFIG += use_system_libpng=1 qtConfig(system-jpeg): GYP_CONFIG += use_system_libjpeg=1 qtConfig(system-harfbuzz): use?(system_harfbuzz): GYP_CONFIG += use_system_harfbuzz=1 !qtConfig(glib): GYP_CONFIG += use_glib=0 -contains(QT_CONFIG, pulseaudio) { +qtConfig(pulseaudio) { GYP_CONFIG += use_pulseaudio=1 } else { GYP_CONFIG += use_pulseaudio=0 } -contains(QT_CONFIG, alsa) { +qtConfig(alsa) { GYP_CONFIG += use_alsa=1 } else { GYP_CONFIG += use_alsa=0 diff --git a/tools/qmake/config.tests/alsa/alsa.pro b/tools/qmake/config.tests/alsa/alsa.pro new file mode 100644 index 000000000..7322b6fb8 --- /dev/null +++ b/tools/qmake/config.tests/alsa/alsa.pro @@ -0,0 +1,2 @@ +SOURCES = alsatest.cpp + diff --git a/tools/qmake/config.tests/alsa/alsatest.cpp b/tools/qmake/config.tests/alsa/alsatest.cpp new file mode 100644 index 000000000..ea511cd21 --- /dev/null +++ b/tools/qmake/config.tests/alsa/alsatest.cpp @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL-EXCEPT$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <alsa/asoundlib.h> +#if SND_LIB_VERSION < 0x1000a // 1.0.10 +#error "Alsa version found too old, require >= 1.0.10" +#endif + +int main(int argc,char **argv) +{ +} + diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf index bb4c56cae..43a5f2757 100644 --- a/tools/qmake/mkspecs/features/configure.prf +++ b/tools/qmake/mkspecs/features/configure.prf @@ -20,13 +20,20 @@ defineTest(runConfigure) { qtCompileTest($$test) } + isQtMinimum(5, 8) { + include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri) + QT_FOR_CONFIG += webengine-private + qtConfig(proprietary-codecs): WEBENGINE_CONFIG += use_proprietary_codecs + qtConfig(spellchecker): WEBENGINE_CONFIG += use_spellchecker + } + linux { QT_FOR_CONFIG += gui-private !config_khr:skipBuild("khronos development headers appear to be missing (mesa/libegl1-mesa-dev)") REQUIRED_PACKAGES = dbus-1 fontconfig !cross_compile: qtConfig(xcb): REQUIRED_PACKAGES += libdrm xcomposite xcursor xi xrandr xscrnsaver xtst - contains(QT_CONFIG, pulseaudio): REQUIRED_PACKAGES += libpulse + qtConfig(pulseaudio): REQUIRED_PACKAGES += libpulse qtConfig(system-png): REQUIRED_PACKAGES += libpng qtConfig(system-harfbuzz) { packagesExist("\'harfbuzz >= 1.2.0\'"): WEBENGINE_CONFIG += use_system_harfbuzz @@ -81,12 +88,6 @@ defineTest(runConfigure) { !cross_compile { WEBENGINE_CONFIG += enable_pdf } - isQtMinimum(5, 8) { - include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri) - QT_FOR_CONFIG += webengine-private - qtConfig(proprietary-codecs): WEBENGINE_CONFIG += use_proprietary_codecs - qtConfig(spellchecker): WEBENGINE_CONFIG += use_spellchecker - } isEmpty(skipBuildReason): { cache(CONFIG, add, $$list(webengine_successfully_configured)) |