summaryrefslogtreecommitdiffstats
path: root/src/core/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/config')
-rw-r--r--src/core/config/common.pri100
-rw-r--r--src/core/config/desktop_linux.pri36
-rw-r--r--src/core/config/embedded_linux.pri1
-rw-r--r--src/core/config/linux.pri38
-rw-r--r--src/core/config/mac_osx.pri55
5 files changed, 173 insertions, 57 deletions
diff --git a/src/core/config/common.pri b/src/core/config/common.pri
index f822ab7cc..7307c4a46 100644
--- a/src/core/config/common.pri
+++ b/src/core/config/common.pri
@@ -1,33 +1,79 @@
# Shared configuration for all our supported platforms
-# Trigger Qt-specific build conditions.
-GYP_CONFIG += use_qt=1
-# We do not want to ship more external binary blobs, so let v8 embed its startup data.
-GYP_CONFIG += v8_use_external_startup_data=0
-# WebSpeech requires Google API keys and adds dependencies on speex and flac.
-GYP_CONFIG += enable_web_speech=0
-# We do not use or even include the extensions
-GYP_CONFIG += enable_extensions=0
-
-sanitize_address: GYP_CONFIG += asan=1
-sanitize_thread: GYP_CONFIG += tsan=1
-sanitize_memory: GYP_CONFIG += msan=1
-sanitize_undefined: GYP_CONFIG += ubsan=1
-
-use?(printing) {
- GYP_CONFIG += enable_basic_printing=1 enable_print_preview=1
-} else {
- GYP_CONFIG += enable_basic_printing=0 enable_print_preview=0
-}
+use?(gn) {
+ gn_args += \
+ use_qt=true \
+ is_component_build=false \
+ enable_remoting=false \
+ enable_nacl=false \
+ use_experimental_allocator_shim=false \
+ use_allocator=\"none\" \
+ v8_use_external_startup_data=false \
+ treat_warnings_as_errors=false
-use?(pdf) {
- GYP_CONFIG += enable_pdf=1
-} else {
- GYP_CONFIG += enable_pdf=0
-}
+ use?(printing) {
+ gn_args += enable_basic_printing=true enable_print_preview=true
+ } else {
+ gn_args += enable_basic_printing=false enable_print_preview=false
+ }
+
+ use?(pdf) {
+ gn_args += enable_pdf=true
+ } else {
+ gn_args += enable_pdf=false
+ }
+
+ use?(pepper_plugins) {
+ gn_args += enable_plugins=true enable_widevine=true
+ } else {
+ gn_args += enable_plugins=false enable_widevine=false
+ }
+
+ use?(spellchecker) {
+ gn_args += enable_spellcheck=true
+ } else {
+ gn_args += enable_spellcheck=false
+ }
+
+ use?(webrtc) {
+ gn_args += enable_webrtc=true
+ } else {
+ gn_args += enable_webrtc=false
+ }
-use?(pepper_plugins) {
- GYP_CONFIG += enable_plugins=1 enable_widevine=1
} else {
- GYP_CONFIG += enable_plugins=0 enable_widevine=0
+ # Trigger Qt-specific build conditions.
+ GYP_CONFIG += use_qt=1
+ # We do not want to ship more external binary blobs, so let v8 embed its startup data.
+ GYP_CONFIG += v8_use_external_startup_data=0
+ # WebSpeech requires Google API keys and adds dependencies on speex and flac.
+ GYP_CONFIG += enable_web_speech=0
+ # We do not use or even include the extensions
+ GYP_CONFIG += enable_extensions=0
+
+ sanitize_address: GYP_CONFIG += asan=1
+ sanitize_thread: GYP_CONFIG += tsan=1
+ sanitize_memory: GYP_CONFIG += msan=1
+ sanitize_undefined: GYP_CONFIG += ubsan=1
+
+ use?(printing) {
+ GYP_CONFIG += enable_basic_printing=1 enable_print_preview=1
+ } else {
+ GYP_CONFIG += enable_basic_printing=0 enable_print_preview=0
+ }
+
+ use?(pdf) {
+ GYP_CONFIG += enable_pdf=1
+ } else {
+ GYP_CONFIG += enable_pdf=0
+ }
+
+ use?(pepper_plugins) {
+ GYP_CONFIG += enable_plugins=1 enable_widevine=1
+ } else {
+ GYP_CONFIG += enable_plugins=0 enable_widevine=0
+ }
}
+
+use?(webrtc): GYP_CONFIG += enable_webrtc=1
+else: GYP_CONFIG += enable_webrtc=0
diff --git a/src/core/config/desktop_linux.pri b/src/core/config/desktop_linux.pri
index 92491fc1c..e8db4248f 100644
--- a/src/core/config/desktop_linux.pri
+++ b/src/core/config/desktop_linux.pri
@@ -1,17 +1,29 @@
-GYP_ARGS += "-D qt_os=\"desktop_linux\""
-
include(linux.pri)
-GYP_CONFIG += \
- desktop_linux=1
+use?(gn) {
+ gn_args += \
+ is_clang=false \
+ use_sysroot=false
+
+ use?(icecc) {
+ gn_args += use_debug_fission=false
+ }
-clang {
- GYP_CONFIG += werror=
- clang_full_path = $$which($${QMAKE_CXX})
- # Remove the "/bin/clang++" part.
- clang_prefix = $$section(clang_full_path, /, 0, -3)
- GYP_CONFIG += clang=1 host_clang=1 clang_use_chrome_plugins=0 make_clang_dir=$${clang_prefix}
- linux-clang-libc++: GYP_CONFIG += use_system_libcxx=1
} else {
- GYP_CONFIG += clang=0 host_clang=0
+
+ GYP_ARGS += "-D qt_os=\"desktop_linux\""
+
+ GYP_CONFIG += \
+ desktop_linux=1
+
+ clang {
+ GYP_CONFIG += werror=
+ clang_full_path = $$which($${QMAKE_CXX})
+ # Remove the "/bin/clang++" part.
+ clang_prefix = $$section(clang_full_path, /, 0, -3)
+ GYP_CONFIG += clang=1 host_clang=1 clang_use_chrome_plugins=0 make_clang_dir=$${clang_prefix}
+ linux-clang-libc++: GYP_CONFIG += use_system_libcxx=1
+ } else {
+ GYP_CONFIG += clang=0 host_clang=0
+ }
}
diff --git a/src/core/config/embedded_linux.pri b/src/core/config/embedded_linux.pri
index 08c8c1661..c9de47562 100644
--- a/src/core/config/embedded_linux.pri
+++ b/src/core/config/embedded_linux.pri
@@ -18,7 +18,6 @@ GYP_CONFIG += \
enable_session_service=0 \
enable_task_manager=0 \
enable_themes=0 \
- enable_webrtc=0 \
gtest_target_type=none \
host_clang=0 \
notifications=0 \
diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
index b91e795ca..8509c0c8e 100644
--- a/src/core/config/linux.pri
+++ b/src/core/config/linux.pri
@@ -2,6 +2,44 @@ include(common.pri)
include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri)
QT_FOR_CONFIG += gui-private webengine-private
+use?(gn) {
+ gn_args += \
+ use_gconf=false \
+ use_gio=false \
+ use_kerberos=false \
+ linux_use_bundled_binutils=false
+
+ #qtConfig(system-zlib): use?(system_minizip): gn_args += use_system_zlib=true use_system_minizip=true
+ #qtConfig(system-png): gn_args += use_system_libpng=true
+ qtConfig(system-jpeg): gn_args += use_system_libjpeg=true
+ qtConfig(system-harfbuzz): use?(system_harfbuzz): gn_args += use_system_harfbuzz=true
+ !qtConfig(glib): gn_args += use_glib=false
+ qtConfig(pulseaudio) {
+ gn_args += use_pulseaudio=true
+ } else {
+ gn_args += use_pulseaudio=false
+ }
+ qtConfig(alsa) {
+ gn_args += use_alsa=true
+ } else {
+ gn_args += use_alsa=false
+ }
+
+ #use?(system_libevent): gn_args += use_system_libevent=true
+ #use?(system_libwebp): gn_args += use_system_libwebp=true
+ #use?(system_libsrtp): gn_args += use_system_libsrtp=true
+ #use?(system_libxslt): gn_args += use_system_libxml=true use_system_libxslt=true
+ #use?(system_jsoncpp): gn_args += use_system_jsoncpp=true
+ #use?(system_opus): gn_args += use_system_opus=true
+ #use?(system_snappy): gn_args += use_system_snappy=true
+ #use?(system_vpx): gn_args += use_system_libvpx=true
+ #use?(system_icu): gn_args += use_system_icu=true icu_use_data_file_flag=false
+ #use?(system_ffmpeg): gn_args += use_system_ffmpeg=true
+ #use?(system_protobuf): gn_args += use_system_protobuf=true
+
+ #gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): gn_args += no_delete_null_pointer_checks=true
+}
+
# 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.
GYP_CONFIG += \
diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
index dfc8d840b..e52051b0c 100644
--- a/src/core/config/mac_osx.pri
+++ b/src/core/config/mac_osx.pri
@@ -19,21 +19,42 @@ QMAKE_CLANG_PATH = $$eval(QMAKE_MAC_SDK.macx-clang.$${QMAKE_MAC_SDK}.QMAKE_CXX)
QMAKE_CLANG_PATH = "$${QMAKE_CLANG_DIR}/bin/clang++"
message("Using clang++ from $${QMAKE_CLANG_PATH}")
system("$${QMAKE_CLANG_PATH} --version")
-GYP_CONFIG += \
- qt_os=\"mac\" \
- mac_sdk_min=\"$${QMAKE_MAC_SDK_VERSION}\" \
- mac_deployment_target=\"$${QMAKE_MACOSX_DEPLOYMENT_TARGET}\" \
- make_clang_dir=\"$${QMAKE_CLANG_DIR}\" \
- clang_use_chrome_plugins=0
-
-# Force touch API is used in 49-based Chromium, which is included starting with 10.10.3 SDK, so we
-# disable the API usage if the SDK version is lower.
-!isMinOSXSDKVersion(10, 10, 3): GYP_CONFIG += disable_force_touch=1
-
-# Pass a supported -fstack-protect flag depending on Xcode version.
-lessThan(QMAKE_XCODE_VERSION, 6.3) {
- GYP_CONFIG += use_xcode_stack_protector_strong=0
-}
-QMAKE_MAC_SDK_PATH = "$$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.path)"
-exists($$QMAKE_MAC_SDK_PATH): GYP_CONFIG += mac_sdk_path=\"$${QMAKE_MAC_SDK_PATH}\"
+
+use?(gn) {
+ gn_args += \
+ is_clang=true \
+ use_sysroot=false \
+ use_kerberos=false \
+ clang_base_path=\"$${QMAKE_CLANG_DIR}\" \
+ clang_use_chrome_plugins=false \
+ mac_deployment_target=\"$${QMAKE_MACOSX_DEPLOYMENT_TARGET}\" \
+ mac_sdk_min=\"$${QMAKE_MAC_SDK_VERSION}\"
+
+ use?(spellchecker) {
+ use?(native_spellchecker): gn_args += use_browser_spellchecker=true
+ else: gn_args += use_browser_spellchecker=false
+ } else {
+ macos: gn_args += use_browser_spellchecker=false
+ }
+
+} else {
+ GYP_CONFIG += \
+ qt_os=\"mac\" \
+ mac_sdk_min=\"$${QMAKE_MAC_SDK_VERSION}\" \
+ mac_deployment_target=\"$${QMAKE_MACOSX_DEPLOYMENT_TARGET}\" \
+ make_clang_dir=\"$${QMAKE_CLANG_DIR}\" \
+ clang_use_chrome_plugins=0
+
+ # Force touch API is used in 49-based Chromium, which is included starting with 10.10.3 SDK, so we
+ # disable the API usage if the SDK version is lower.
+ !isMinOSXSDKVersion(10, 10, 3): GYP_CONFIG += disable_force_touch=1
+
+ # Pass a supported -fstack-protect flag depending on Xcode version.
+ lessThan(QMAKE_XCODE_VERSION, 6.3) {
+ GYP_CONFIG += use_xcode_stack_protector_strong=0
+ }
+
+ QMAKE_MAC_SDK_PATH = "$$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.path)"
+ exists($$QMAKE_MAC_SDK_PATH): GYP_CONFIG += mac_sdk_path=\"$${QMAKE_MAC_SDK_PATH}\"
+}