summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/buildtools/buildtools.pro12
-rw-r--r--src/core/chrome_qt.gyp191
-rw-r--r--src/core/config/common.pri130
-rw-r--r--src/core/config/desktop_linux.pri39
-rw-r--r--src/core/config/embedded_linux.gypi9
-rw-r--r--src/core/config/embedded_linux.pri68
-rw-r--r--src/core/config/embedded_qnx.gypi9
-rw-r--r--src/core/config/linux.pri314
-rw-r--r--src/core/config/mac_osx.pri56
-rw-r--r--src/core/config/windows.gypi8
-rw-r--r--src/core/config/windows.pri65
-rw-r--r--src/core/core.pro90
-rw-r--r--src/core/core_generator.pro22
-rw-r--r--src/core/core_gyp_config.pri5
-rw-r--r--src/core/core_module.pro57
-rw-r--r--src/core/gyp_configure_host.pro16
-rw-r--r--src/core/gyp_configure_target.pro36
-rw-r--r--src/core/gyp_run.pro176
-rw-r--r--src/core/qtwebengine.gypi148
-rw-r--r--src/core/qtwebengine_extras.gypi129
-rw-r--r--src/core/resources/grit_action.gypi41
-rw-r--r--src/core/resources/repack_locales.gypi26
-rw-r--r--src/core/resources/repack_resources.gypi16
-rw-r--r--src/core/resources/resources.gyp96
-rw-r--r--src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro34
-rwxr-xr-xtools/buildscripts/gyp_qtwebengine178
-rw-r--r--tools/qmake/mkspecs/features/configure.prf6
27 files changed, 294 insertions, 1683 deletions
diff --git a/src/buildtools/buildtools.pro b/src/buildtools/buildtools.pro
index bbf8bd610..8985bbb25 100644
--- a/src/buildtools/buildtools.pro
+++ b/src/buildtools/buildtools.pro
@@ -3,11 +3,9 @@ TEMPLATE = subdirs
ninja.file = ninja.pro
SUBDIRS += ninja
-use?(gn) {
- gn.file = gn.pro
- gn.depends = ninja
- SUBDIRS += gn
-}
+gn.file = gn.pro
+gn.depends = ninja
+SUBDIRS += gn
linux {
# configure_host.pro and configure_target.pro are phony pro files that
@@ -16,9 +14,7 @@ linux {
configure_host.file = configure_host.pro
configure_target.file = configure_target.pro
configure_target.depends = configure_host
+ gn.depends += configure_target
- use?(gn) {
- gn.depends += configure_target
- }
SUBDIRS += configure_host configure_target
}
diff --git a/src/core/chrome_qt.gyp b/src/core/chrome_qt.gyp
deleted file mode 100644
index 89f1fe188..000000000
--- a/src/core/chrome_qt.gyp
+++ /dev/null
@@ -1,191 +0,0 @@
-{
- 'variables': {
- 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/chrome',
- 'chrome_spellchecker_sources': [
- '<(DEPTH)/chrome/browser/spellchecker/feedback.cc',
- '<(DEPTH)/chrome/browser/spellchecker/feedback.h',
- '<(DEPTH)/chrome/browser/spellchecker/feedback_sender.cc',
- '<(DEPTH)/chrome/browser/spellchecker/feedback_sender.h',
- '<(DEPTH)/chrome/browser/spellchecker/misspelling.cc',
- '<(DEPTH)/chrome/browser/spellchecker/misspelling.h',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_action.cc',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_action.h',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_custom_dictionary.h',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_factory.cc',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_factory.h',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_host_metrics.cc',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_host_metrics.h',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter.cc',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter.h',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter_platform.h',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter_platform_mac.cc',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_platform_mac.mm',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_service.cc',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_service.h',
- '<(DEPTH)/chrome/browser/spellchecker/spelling_service_client.cc',
- '<(DEPTH)/chrome/browser/spellchecker/spelling_service_client.h',
- '<(DEPTH)/chrome/browser/spellchecker/word_trimmer.cc',
- '<(DEPTH)/chrome/browser/spellchecker/word_trimmer.h',
- '<(DEPTH)/chrome/common/common_message_generator.cc',
- '<(DEPTH)/chrome/common/pref_names.cc',
- '<(DEPTH)/chrome/common/pref_names.h',
- '<(DEPTH)/chrome/common/spellcheck_bdict_language.h',
- '<(DEPTH)/chrome/common/spellcheck_common.cc',
- '<(DEPTH)/chrome/common/spellcheck_common.h',
- '<(DEPTH)/chrome/common/spellcheck_marker.h',
- '<(DEPTH)/chrome/common/spellcheck_messages.h',
- '<(DEPTH)/chrome/common/spellcheck_result.h',
- '<(DEPTH)/chrome/renderer/spellchecker/custom_dictionary_engine.cc',
- '<(DEPTH)/chrome/renderer/spellchecker/custom_dictionary_engine.h',
- '<(DEPTH)/chrome/renderer/spellchecker/hunspell_engine.cc',
- '<(DEPTH)/chrome/renderer/spellchecker/hunspell_engine.h',
- '<(DEPTH)/chrome/renderer/spellchecker/platform_spelling_engine.cc',
- '<(DEPTH)/chrome/renderer/spellchecker/platform_spelling_engine.h',
- '<(DEPTH)/chrome/renderer/spellchecker/spellcheck.cc',
- '<(DEPTH)/chrome/renderer/spellchecker/spellcheck.h',
- '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_language.cc',
- '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_language.h',
- '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_provider.cc',
- '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_provider.h',
- '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_worditerator.cc',
- '<(DEPTH)/chrome/renderer/spellchecker/spellcheck_worditerator.h',
- '<(DEPTH)/chrome/renderer/spellchecker/spelling_engine.h',
- ]
- },
- 'targets': [
- {
- 'target_name': 'chrome_qt',
- 'type': 'static_library',
- 'dependencies': [
- 'chrome_resources',
- '<(chromium_src_dir)/components/components_resources.gyp:components_resources',
- '<(chromium_src_dir)/components/components_strings.gyp:components_strings',
- ],
- 'include_dirs': [
- './',
- '<(chromium_src_dir)',
- '<(chromium_src_dir)/skia/config',
- '<(chromium_src_dir)/third_party/skia/include/core',
- ],
- 'sources': [
- '<(DEPTH)/chrome/browser/media/desktop_media_list.h',
- '<(DEPTH)/chrome/browser/media/desktop_streams_registry.cc',
- '<(DEPTH)/chrome/browser/media/desktop_streams_registry.h',
- '<(DEPTH)/chrome/browser/profiles/profile.cc',
- '<(DEPTH)/chrome/browser/profiles/profile.h',
- '<(DEPTH)/chrome/common/chrome_switches.cc',
- '<(DEPTH)/chrome/common/chrome_switches.h',
- '<(DEPTH)/components/prefs/testing_pref_store.cc',
- '<(DEPTH)/components/prefs/testing_pref_store.h',
- '<(DEPTH)/extensions/common/constants.cc',
- '<(DEPTH)/extensions/common/constants.h',
- '<(DEPTH)/extensions/common/url_pattern.cc',
- '<(DEPTH)/extensions/common/url_pattern.h',
- ],
- 'conditions': [
- ['OS == "win"', {
- # crbug.com/167187 fix size_t to int truncations
- 'msvs_disabled_warnings': [4267, ],
- }],
- ['enable_plugins==1', {
- 'sources': [
- '<(DEPTH)/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.cc',
- '<(DEPTH)/chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.h',
- '<(DEPTH)/chrome/renderer/pepper/pepper_flash_font_file_host.cc',
- '<(DEPTH)/chrome/renderer/pepper/pepper_flash_font_file_host.h',
- '<(DEPTH)/chrome/renderer/pepper/pepper_shared_memory_message_filter.cc',
- '<(DEPTH)/chrome/renderer/pepper/pepper_shared_memory_message_filter.h',
- ],
- }],
- ['enable_pdf==1', {
- 'dependencies': [
- '<(chromium_src_dir)/pdf/pdf.gyp:pdf',
- '<(chromium_src_dir)/components/components.gyp:pdf_renderer',
- '<(chromium_src_dir)/components/components.gyp:pdf_browser',
- ],
- }],
- ['enable_spellcheck==1', {
- 'sources': [ '<@(chrome_spellchecker_sources)' ],
- 'include_dirs': [
- '<(chromium_src_dir)/third_party/WebKit',
- ],
- 'dependencies': [
- '<(chromium_src_dir)/chrome/tools/convert_dict/convert_dict.gyp:convert_dict',
- '<(chromium_src_dir)/third_party/hunspell/hunspell.gyp:hunspell',
- '<(chromium_src_dir)/third_party/icu/icu.gyp:icui18n',
- '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
- ],
- 'defines': [
- '__STDC_CONSTANT_MACROS',
- '__STDC_FORMAT_MACROS',
- ],
- 'conditions': [
- [ 'OS != "mac"', {
- 'sources/': [
- ['exclude', '_mac\\.(cc|cpp|mm?)$'],
- ],
- }],
- ['use_browser_spellchecker==0', {
- 'sources!': [
- '<(DEPTH)/chrome/renderer/spellchecker/platform_spelling_engine.cc',
- '<(DEPTH)/chrome/renderer/spellchecker/platform_spelling_engine.h',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter_platform.h',
- '<(DEPTH)/chrome/browser/spellchecker/spellcheck_message_filter_platform_mac.cc',
- ],
- }],
- ],
- }],
- ['enable_basic_printing==1 or enable_print_preview==1', {
- 'sources': [
- '<(DEPTH)/chrome/browser/printing/print_job.cc',
- '<(DEPTH)/chrome/browser/printing/print_job.h',
- '<(DEPTH)/chrome/browser/printing/print_job_manager.cc',
- '<(DEPTH)/chrome/browser/printing/print_job_manager.h',
- '<(DEPTH)/chrome/browser/printing/print_job_worker.cc',
- '<(DEPTH)/chrome/browser/printing/print_job_worker.h',
- '<(DEPTH)/chrome/browser/printing/print_job_worker_owner.cc',
- '<(DEPTH)/chrome/browser/printing/print_job_worker_owner.h',
- '<(DEPTH)/chrome/browser/printing/printer_query.cc',
- '<(DEPTH)/chrome/browser/printing/printer_query.h',
- ],
- 'dependencies': [
- '<(chromium_src_dir)/mojo/mojo_public.gyp:mojo_cpp_bindings',
- ],
- 'include_dirs': [
- '<(chromium_src_dir)/extensions',
- ],
- }],
- ],
- },
- {
- 'target_name': 'chrome_resources',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'generated_resources',
- 'variables': {
- 'grit_grd_file': '<(chromium_src_dir)/chrome/app/generated_resources.grd',
- },
- 'includes': [ 'resources/grit_action.gypi' ],
- },
- {
- 'action_name': 'chromium_strings.grd',
- 'variables': {
- 'grit_grd_file': '<(chromium_src_dir)/chrome/app/chromium_strings.grd',
- },
- 'includes': [ 'resources/grit_action.gypi' ],
- },
- {
- 'action_name': 'renderer_resources',
- 'variables': {
- 'grit_grd_file': '<(chromium_src_dir)/chrome/renderer/resources/renderer_resources.grd',
- },
- 'includes': [ 'resources/grit_action.gypi' ],
- },
- ]
- },
- ],
-}
diff --git a/src/core/config/common.pri b/src/core/config/common.pri
index f87eca6e5..c39c1f1c0 100644
--- a/src/core/config/common.pri
+++ b/src/core/config/common.pri
@@ -1,95 +1,57 @@
# Shared configuration for all our supported platforms
-use?(gn) {
- gn_args += \
- use_qt=true \
- is_component_build=false \
- is_shared=true \
- enable_media_router=false \
- enable_nacl=false \
- enable_remoting=false \
- enable_web_speech=false \
- use_experimental_allocator_shim=false \
- use_allocator=\"none\" \
- v8_use_external_startup_data=false \
- treat_warnings_as_errors=false
-
- 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?(proprietary_codecs): gn_args += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
-
- CONFIG(release, debug|release) {
- force_debug_info: gn_args += symbol_level=1
- else: gn_args += symbol_level=0
- }
-
- !webcore_debug: gn_args += remove_webcore_debug_symbols=true
- !v8base_debug: gn_args += remove_v8base_debug_symbols=true
+gn_args += \
+ use_qt=true \
+ is_component_build=false \
+ is_shared=true \
+ enable_media_router=false \
+ enable_nacl=false \
+ enable_remoting=false \
+ enable_web_speech=false \
+ use_experimental_allocator_shim=false \
+ use_allocator=\"none\" \
+ v8_use_external_startup_data=false \
+ treat_warnings_as_errors=false
+
+use?(printing) {
+ gn_args += enable_basic_printing=true enable_print_preview=true
+} else {
+ gn_args += enable_basic_printing=false enable_print_preview=false
+}
- # Compiling with -Os makes a huge difference in binary size
- contains(WEBENGINE_CONFIG, reduce_binary_size): gn_args += optimize_for_size=true
+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 {
- # 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
+ gn_args += enable_plugins=false enable_widevine=false
+}
- 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?(spellchecker) {
+ gn_args += enable_spellcheck=true
+} else {
+ gn_args += enable_spellcheck=false
+}
- use?(printing) {
- GYP_CONFIG += enable_basic_printing=1 enable_print_preview=1
- } else {
- GYP_CONFIG += enable_basic_printing=0 enable_print_preview=0
- }
+use?(webrtc) {
+ gn_args += enable_webrtc=true
+} else {
+ gn_args += enable_webrtc=false
+}
- use?(pdf) {
- GYP_CONFIG += enable_pdf=1
- } else {
- GYP_CONFIG += enable_pdf=0
- }
+use?(proprietary_codecs): gn_args += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
- use?(pepper_plugins) {
- GYP_CONFIG += enable_plugins=1 enable_widevine=1
- } else {
- GYP_CONFIG += enable_plugins=0 enable_widevine=0
- }
+CONFIG(release, debug|release) {
+ force_debug_info: gn_args += symbol_level=1
+ else: gn_args += symbol_level=0
}
-use?(webrtc): GYP_CONFIG += enable_webrtc=1
-else: GYP_CONFIG += enable_webrtc=0
+!webcore_debug: gn_args += remove_webcore_debug_symbols=true
+!v8base_debug: gn_args += remove_v8base_debug_symbols=true
+
+# Compiling with -Os makes a huge difference in binary size
+contains(WEBENGINE_CONFIG, reduce_binary_size): gn_args += optimize_for_size=true
diff --git a/src/core/config/desktop_linux.pri b/src/core/config/desktop_linux.pri
index e6b11d290..9918e1bb2 100644
--- a/src/core/config/desktop_linux.pri
+++ b/src/core/config/desktop_linux.pri
@@ -1,32 +1,13 @@
include(linux.pri)
-use?(gn) {
- gn_args += \
- use_sysroot=false \
- enable_session_service=false \
- enable_notifications=false \
- toolkit_views=false
-
- use?(icecc) {
- gn_args += use_debug_fission=false
- }
- !use_gold_linker: gn_args += use_gold=false
-
-} else {
-
- 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
- }
+gn_args += \
+ use_sysroot=false \
+ enable_session_service=false \
+ enable_notifications=false \
+ toolkit_views=false
+
+use?(icecc) {
+ gn_args += use_debug_fission=false
}
+
+!use_gold_linker: gn_args += use_gold=false
diff --git a/src/core/config/embedded_linux.gypi b/src/core/config/embedded_linux.gypi
deleted file mode 100644
index f192243ce..000000000
--- a/src/core/config/embedded_linux.gypi
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- 'target_defaults': {
- # patterns used to exclude chromium files from the build when we have a drop-in replacement
- 'sources/': [
- # We are using gl_context_qt.cc instead.
- ['exclude', 'gl_context_ozone.cc$'],
- ],
- },
-}
diff --git a/src/core/config/embedded_linux.pri b/src/core/config/embedded_linux.pri
index 11ed3e310..d5f6d4bf5 100644
--- a/src/core/config/embedded_linux.pri
+++ b/src/core/config/embedded_linux.pri
@@ -1,58 +1,18 @@
-GYP_ARGS += "-D qt_os=\"embedded_linux\" -I config/embedded_linux.gypi"
-
include(linux.pri)
-use?(gn) {
- gn_args += \
- is_desktop_linux=false \
- use_gold=false \
- use_ozone=true \
- use_sysroot=false \
- enable_session_service=false \
- enable_notifications=false \
- ozone_auto_platforms=false \
- ozone_platform_headless=true \
- ozone_platform_external=true \
- ozone_platform=\"qt\" \
- toolkit_views=false
+gn_args += \
+ is_desktop_linux=false \
+ use_gold=false \
+ use_ozone=true \
+ use_sysroot=false \
+ enable_session_service=false \
+ enable_notifications=false \
+ ozone_auto_platforms=false \
+ ozone_platform_headless=true \
+ ozone_platform_external=true \
+ ozone_platform=\"qt\" \
+ toolkit_views=false
- use?(icecc) {
- gn_args += use_debug_fission=false
- }
+use?(icecc) {
+ gn_args += use_debug_fission=false
}
-
-GYP_CONFIG += \
- clang=0 \
- desktop_linux=0 \
- disable_nacl=1 \
- embedded=1 \
- enable_autofill_dialog=0 \
- enable_automation=0 \
- enable_captive_portal_detection=0 \
- enable_extensions=0 \
- enable_google_now=0 \
- enable_language_detection=0 \
- enable_managed_users=0 \
- enable_plugin_installation=0 \
- enable_session_service=0 \
- enable_task_manager=0 \
- enable_themes=0 \
- gtest_target_type=none \
- host_clang=0 \
- notifications=0 \
- ozone_auto_platforms=0 \
- ozone_platform_dri=0 \
- ozone_platform_test=0 \
- p2p_apis=0 \
- safe_browsing=0 \
- toolkit_views=1 \
- use_custom_freetype=0 \
- use_libpci=0 \
- use_ozone=1 \
- use_system_fontconfig=1 \
- use_x11=0 \
- v8_use_snapshot=false \
- want_separate_host_toolset=1 \
- angle_enable_gl=0
-
-WEBENGINE_CONFIG *= reduce_binary_size
diff --git a/src/core/config/embedded_qnx.gypi b/src/core/config/embedded_qnx.gypi
deleted file mode 100644
index f192243ce..000000000
--- a/src/core/config/embedded_qnx.gypi
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- 'target_defaults': {
- # patterns used to exclude chromium files from the build when we have a drop-in replacement
- 'sources/': [
- # We are using gl_context_qt.cc instead.
- ['exclude', 'gl_context_ozone.cc$'],
- ],
- },
-}
diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
index 950e4e4b4..84ce73bfa 100644
--- a/src/core/config/linux.pri
+++ b/src/core/config/linux.pri
@@ -2,215 +2,149 @@ include(common.pri)
include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri)
QT_FOR_CONFIG += gui-private webengine-private
-use?(gn) {
+gn_args += \
+ use_cups=false \
+ use_gconf=false \
+ use_gio=false \
+ use_gnome_keyring=false \
+ use_kerberos=false \
+ linux_use_bundled_binutils=false
+
+use?(nss) {
gn_args += \
- use_cups=false \
- use_gconf=false \
- use_gio=false \
- use_gnome_keyring=false \
- use_kerberos=false \
- linux_use_bundled_binutils=false
-
- use?(nss) {
- gn_args += \
- use_nss_certs=true \
- use_openssl_certs=false
- } else {
- gn_args += \
- use_nss_certs=false \
- use_openssl_certs=true
- }
- gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): gn_args += no_delete_null_pointer_checks=true
-
- clang {
- clang_full_path = $$which($${QMAKE_CXX})
- # Remove the "/bin/clang++" part.
- clang_prefix = $$section(clang_full_path, /, 0, -3)
- gn_args += \
- is_clang=true \
- clang_use_chrome_plugins=false \
- clang_base_path=\"$${clang_prefix}\"
-
- linux-clang-libc++: gn_args += use_libcxx=true
- } else {
- gn_args += \
- is_clang=false
- }
+ use_nss_certs=true \
+ use_openssl_certs=false
+} else {
+ gn_args += \
+ use_nss_certs=false \
+ use_openssl_certs=true
+}
+gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): gn_args += no_delete_null_pointer_checks=true
- cross_compile:!host_build {
- TOOLCHAIN_SYSROOT = $$[QT_SYSROOT]
- !isEmpty(TOOLCHAIN_SYSROOT): gn_args += target_sysroot=\"$${TOOLCHAIN_SYSROOT}\"
- }
+clang {
+ clang_full_path = $$which($${QMAKE_CXX})
+ # Remove the "/bin/clang++" part.
+ clang_prefix = $$section(clang_full_path, /, 0, -3)
+ gn_args += \
+ is_clang=true \
+ clang_use_chrome_plugins=false \
+ clang_base_path=\"$${clang_prefix}\"
- contains(QT_ARCH, "arm") {
- # Extract ARM specific compiler options that we have to pass to gn,
- # but let gn figure out a default if an option is not present.
- MTUNE = $$extractCFlag("-mtune=.*")
- !isEmpty(MTUNE): gn_args += arm_tune=\"$$MTUNE\"
+ linux-clang-libc++: gn_args += use_libcxx=true
+} else {
+ gn_args += \
+ is_clang=false
+}
- MFLOAT = $$extractCFlag("-mfloat-abi=.*")
- !isEmpty(MFLOAT): gn_args += arm_float_abi=\"$$MFLOAT\"
+cross_compile:!host_build {
+ TOOLCHAIN_SYSROOT = $$[QT_SYSROOT]
+ !isEmpty(TOOLCHAIN_SYSROOT): gn_args += target_sysroot=\"$${TOOLCHAIN_SYSROOT}\"
+}
- MARCH = $$extractCFlag("-march=.*")
+contains(QT_ARCH, "arm") {
+ # Extract ARM specific compiler options that we have to pass to gn,
+ # but let gn figure out a default if an option is not present.
+ MTUNE = $$extractCFlag("-mtune=.*")
+ !isEmpty(MTUNE): gn_args += arm_tune=\"$$MTUNE\"
- MARMV = $$replace(MARCH, "armv",)
- !isEmpty(MARMV) {
- MARMV = $$split(MARMV,)
- MARMV = $$member(MARMV, 0)
- lessThan(MARMV, 6): error("$$MARCH architecture is not supported")
- gn_args += arm_version=$$MARMV
- }
+ MFLOAT = $$extractCFlag("-mfloat-abi=.*")
+ !isEmpty(MFLOAT): gn_args += arm_float_abi=\"$$MFLOAT\"
- !lessThan(MARMV, 8) {
- gn_args += arm_use_neon=true
- } else {
- MFPU = $$extractCFlag("-mfpu=.*")
- !isEmpty(MFPU):contains(MFPU, ".*neon.*") {
- gn_args += arm_use_neon=true
- } else {
- gn_args += arm_use_neon=false
- # If the toolchain does not explicitly specify to use NEON instructions
- # we use arm_neon_optional for ARMv7
- equals(MARMV, 7): gn_args += arm_optionally_use_neon=true
- }
- }
+ MARCH = $$extractCFlag("-march=.*")
- if(isEmpty(MARMV)|lessThan(MARMV, 7)):contains(QMAKE_CFLAGS, "-marm"): gn_args += arm_use_thumb=false
- else: contains(QMAKE_CFLAGS, "-mthumb"): gn_args += arm_use_thumb=true
+ MARMV = $$replace(MARCH, "armv",)
+ !isEmpty(MARMV) {
+ MARMV = $$split(MARMV,)
+ MARMV = $$member(MARMV, 0)
+ lessThan(MARMV, 6): error("$$MARCH architecture is not supported")
+ gn_args += arm_version=$$MARMV
}
- contains(QT_ARCH, "mips") {
- MARCH = $$extractCFlag("-march=.*")
- !isEmpty(MARCH) {
- equals(MARCH, "mips32r6"): gn_args += mips_arch_variant=\"r6\"
- else: equals(MARCH, "mips32r2"): gn_args += mips_arch_variant=\"r2\"
- else: equals(MARCH, "mips32"): gn_args += mips_arch_variant=\"r1\"
+ !lessThan(MARMV, 8) {
+ gn_args += arm_use_neon=true
+ } else {
+ MFPU = $$extractCFlag("-mfpu=.*")
+ !isEmpty(MFPU):contains(MFPU, ".*neon.*") {
+ gn_args += arm_use_neon=true
} else {
- contains(QMAKE_CFLAGS, "mips32r6"): gn_args += mips_arch_variant=\"r6\"
- else: contains(QMAKE_CFLAGS, "mips32r2"): gn_args += mips_arch_variant=\"r2\"
- else: contains(QMAKE_CFLAGS, "mips32"): gn_args += mips_arch_variant=\"r1\"
+ gn_args += arm_use_neon=false
+ # If the toolchain does not explicitly specify to use NEON instructions
+ # we use arm_neon_optional for ARMv7
+ equals(MARMV, 7): gn_args += arm_optionally_use_neon=true
}
-
- contains(QMAKE_CFLAGS, "-mmsa"): gn_args += mips_use_msa=true
-
- contains(QMAKE_CFLAGS, "-mdsp2"): gn_args += mips_dsp_rev=2
- else: contains(QMAKE_CFLAGS, "-mdsp"): gn_args += mips_dsp_rev=1
}
- host_build {
- gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\"
- # Don't bother trying to use system libraries in this case
- gn_args += use_glib=false
- gn_args += use_system_libffi=false
- } else {
- gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:target\"
- cross_compile {
- gn_args += host_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\"
- gn_args += v8_snapshot_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:v8_snapshot\"
- GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch)
- GN_TARGET_CPU = $$gnArch($$QT_ARCH)
- gn_args += host_cpu=\"$$GN_HOST_CPU\" target_cpu=\"$$GN_TARGET_CPU\"
- }
- !contains(QT_CONFIG, no-pkg-config) {
- # Strip '>2 /dev/null' from $$pkgConfigExecutable()
- PKGCONFIG = $$first($$list($$pkgConfigExecutable()))
- gn_args += pkg_config=\"$$PKGCONFIG\"
- }
+ if(isEmpty(MARMV)|lessThan(MARMV, 7)):contains(QMAKE_CFLAGS, "-marm"): gn_args += arm_use_thumb=false
+ else: contains(QMAKE_CFLAGS, "-mthumb"): gn_args += arm_use_thumb=true
+}
- 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
- use?(system_harfbuzz): gn_args += use_system_harfbuzz=true
- !use?(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
- }
- packagesExist(libffi): gn_args += use_system_libffi=true
- else: gn_args += use_system_libffi=false
- !packagesExist(libpci): gn_args += use_libpci=false
- !packagesExist(xscrnsaver): gn_args += use_xscrnsaver=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=false
- use?(system_ffmpeg): gn_args += use_system_ffmpeg=true
- #use?(system_protobuf): gn_args += use_system_protobuf=true
+contains(QT_ARCH, "mips") {
+ MARCH = $$extractCFlag("-march=.*")
+ !isEmpty(MARCH) {
+ equals(MARCH, "mips32r6"): gn_args += mips_arch_variant=\"r6\"
+ else: equals(MARCH, "mips32r2"): gn_args += mips_arch_variant=\"r2\"
+ else: equals(MARCH, "mips32"): gn_args += mips_arch_variant=\"r1\"
+ } else {
+ contains(QMAKE_CFLAGS, "mips32r6"): gn_args += mips_arch_variant=\"r6\"
+ else: contains(QMAKE_CFLAGS, "mips32r2"): gn_args += mips_arch_variant=\"r2\"
+ else: contains(QMAKE_CFLAGS, "mips32"): gn_args += mips_arch_variant=\"r1\"
}
-}
-# 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 += \
- linux_use_bundled_gold=0 \
- linux_use_bundled_binutils=0 \
- linux_use_gold_flags=0 \
-
-GYP_CONFIG += \
- toolkit_uses_gtk=0 \
- use_ash=0 \
- use_aura=1 \
- use_cairo=0 \
- use_clipboard_aurax11=0 \
- use_cups=0 \
- use_gconf=0 \
- use_gio=0 \
- use_gnome_keyring=0 \
- use_kerberos=0 \
- use_pango=0 \
- use_openssl=1 \
- use_allocator=none \
- use_experimental_allocator_shim=0
+ contains(QMAKE_CFLAGS, "-mmsa"): gn_args += mips_use_msa=true
-use?(nss) {
- GYP_CONFIG += \
- use_nss_certs=1 \
- use_nss_verifier=1 \
- use_openssl_certs=0
-} else {
- GYP_CONFIG += \
- use_nss_certs=0 \
- use_nss_verifier=0 \
- use_openssl_certs=1
+ contains(QMAKE_CFLAGS, "-mdsp2"): gn_args += mips_dsp_rev=2
+ else: contains(QMAKE_CFLAGS, "-mdsp"): gn_args += mips_dsp_rev=1
}
-gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): GYP_CONFIG += no_delete_null_pointer_checks=1
-
-qtConfig(system-zlib): use?(system_minizip): GYP_CONFIG += use_system_zlib=1
-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
-qtConfig(pulseaudio) {
- GYP_CONFIG += use_pulseaudio=1
-} else {
- GYP_CONFIG += use_pulseaudio=0
-}
-qtConfig(alsa) {
- GYP_CONFIG += use_alsa=1
+host_build {
+ gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\"
+ # Don't bother trying to use system libraries in this case
+ gn_args += use_glib=false
+ gn_args += use_system_libffi=false
} else {
- GYP_CONFIG += use_alsa=0
+ gn_args += custom_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:target\"
+ cross_compile {
+ gn_args += host_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:host\"
+ gn_args += v8_snapshot_toolchain=\"$$QTWEBENGINE_OUT_ROOT/src/toolchain:v8_snapshot\"
+ GN_HOST_CPU = $$gnArch($$QMAKE_HOST.arch)
+ GN_TARGET_CPU = $$gnArch($$QT_ARCH)
+ gn_args += host_cpu=\"$$GN_HOST_CPU\" target_cpu=\"$$GN_TARGET_CPU\"
+ }
+ !contains(QT_CONFIG, no-pkg-config) {
+ # Strip '>2 /dev/null' from $$pkgConfigExecutable()
+ PKGCONFIG = $$first($$list($$pkgConfigExecutable()))
+ gn_args += pkg_config=\"$$PKGCONFIG\"
+ }
+
+ 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
+ use?(system_harfbuzz): gn_args += use_system_harfbuzz=true
+ !use?(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
+ }
+ packagesExist(libffi): gn_args += use_system_libffi=true
+ else: gn_args += use_system_libffi=false
+ !packagesExist(libpci): gn_args += use_libpci=false
+ !packagesExist(xscrnsaver): gn_args += use_xscrnsaver=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=false
+ use?(system_ffmpeg): gn_args += use_system_ffmpeg=true
+ #use?(system_protobuf): gn_args += use_system_protobuf=true
}
-use?(system_libevent): GYP_CONFIG += use_system_libevent=1
-use?(system_libwebp): GYP_CONFIG += use_system_libwebp=1
-use?(system_libsrtp): GYP_CONFIG += use_system_libsrtp=1
-use?(system_libxslt): GYP_CONFIG += use_system_libxml=1
-use?(system_jsoncpp): GYP_CONFIG += use_system_jsoncpp=1
-use?(system_opus): GYP_CONFIG += use_system_opus=1
-use?(system_snappy): GYP_CONFIG += use_system_snappy=1
-use?(system_vpx): GYP_CONFIG += use_system_libvpx=1
-use?(system_icu): GYP_CONFIG += use_system_icu=1 icu_use_data_file_flag=0
-use?(system_ffmpeg): GYP_CONFIG += use_system_ffmpeg=1
-use?(system_protobuf): GYP_CONFIG += use_system_protobuf=1
diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
index 76890a6a4..cdd1ce7b6 100644
--- a/src/core/config/mac_osx.pri
+++ b/src/core/config/mac_osx.pri
@@ -21,44 +21,22 @@ message("Using clang++ from $${QMAKE_CLANG_PATH}")
system("$${QMAKE_CLANG_PATH} --version")
-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}\" \
- toolkit_views=false \
- use_external_popup_menu=false
-
- 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
- }
-
- use?(appstore_compliant_code): gn_args += appstore_compliant_code=true
-
+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}\" \
+ toolkit_views=false \
+ use_external_popup_menu=false
+
+use?(spellchecker) {
+ use?(native_spellchecker): gn_args += use_browser_spellchecker=true
+ else: 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}\"
+ macos: gn_args += use_browser_spellchecker=false
}
+
+use?(appstore_compliant_code): gn_args += appstore_compliant_code=true
diff --git a/src/core/config/windows.gypi b/src/core/config/windows.gypi
deleted file mode 100644
index 0b9842c53..000000000
--- a/src/core/config/windows.gypi
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- 'variables': {
- 'win_use_allocator_shim': 0,
- 'win_release_RuntimeLibrary': 2,
- 'win_debug_RuntimeLibrary': 3,
- 'chrome_multiple_dll': 0,
- },
-}
diff --git a/src/core/config/windows.pri b/src/core/config/windows.pri
index dddb2e953..bc086277f 100644
--- a/src/core/config/windows.pri
+++ b/src/core/config/windows.pri
@@ -1,5 +1,3 @@
-GYP_ARGS += "-D qt_os=\"win32\" -I config/windows.gypi"
-
include(common.pri)
gn_args += \
@@ -12,21 +10,6 @@ gn_args += \
is_multi_dll_chrome=false \
win_linker_timing=true
-GYP_CONFIG += \
- disable_nacl=1 \
- remoting=0 \
- use_ash=0
-
-# Libvpx build needs additional search path on Windows.
-GYP_ARGS += "-D qtwe_chromium_obj_dir=\"$$OUT_PWD/$$getConfigDir()/obj/$${getChromiumSrcDir()}\""
-
-# Use path from environment for perl, bison and gperf instead of values set in WebKit's core.gypi.
-GYP_ARGS += "-D perl_exe=\"perl.exe\" -D bison_exe=\"bison.exe\" -D gperf_exe=\"gperf.exe\""
-
-# Gyp's parallel processing is broken on Windows
-GYP_ARGS += "--no-parallel"
-
-
isDeveloperBuild() {
gn_args += \
is_win_fastlink=true \
@@ -36,52 +19,6 @@ isDeveloperBuild() {
use_incremental_linking=false
}
-qtConfig(angle) {
- #FIXME: Expect LIBQTANGLE_NAME to be always set
- #FIXME: Replace qt_egl_library and qt_glesv2_library into qt_angle_library
- LIB_EGL=libEGL
- LIB_GLESV2=libGLESv2
- !isEmpty(LIBQTANGLE_NAME) {
- LIB_EGL=$$LIBQTANGLE_NAME
- LIB_GLESV2=$$LIBQTANGLE_NAME
- }
- CONFIG(release, debug|release) {
- GYP_ARGS += "-D qt_egl_library=\"$${LIB_EGL}.lib\" -D qt_glesv2_library=\"$${LIB_GLESV2}.lib\""
- } else {
- GYP_ARGS += "-D qt_egl_library=\"$${LIB_EGL}d.lib\" -D qt_glesv2_library=\"$${LIB_GLESV2}d.lib\""
- }
- GYP_ARGS += "-D qt_gl=\"angle\""
-} else {
- GYP_ARGS += "-D qt_gl=\"opengl\""
-}
-
-defineTest(usingMSVC32BitCrossCompiler) {
- CL_DIR =
- for(dir, QMAKE_PATH_ENV) {
- exists($$dir/cl.exe) {
- CL_DIR = $$dir
- break()
- }
- }
- isEmpty(CL_DIR): {
- warning(Cannot determine location of cl.exe.)
- return(false)
- }
- CL_DIR = $$system_path($$CL_DIR)
- CL_DIR = $$split(CL_DIR, \\)
- CL_PLATFORM = $$last(CL_DIR)
- equals(CL_PLATFORM, amd64_x86): return(true)
- return(false)
-}
-
-msvc:contains(QT_ARCH, "i386"):!usingMSVC32BitCrossCompiler() {
- # The 32 bit MSVC linker runs out of memory if we do not remove all debug information.
- GYP_CONFIG += fastbuild=2
-} else {
- # Chromium builds with debug info in release by default but Qt doesn't
- CONFIG(release, debug|release):!force_debug_info: GYP_CONFIG += fastbuild=1
-}
-
msvc {
equals(MSVC_VER, 14.0) {
MSVS_VERSION = 2015
@@ -91,7 +28,6 @@ msvc {
fatal("Visual Studio compiler version \"$$MSVC_VER\" is not supported by Qt WebEngine")
}
- GYP_ARGS += "-G msvs_version=$$MSVS_VERSION"
gn_args += visual_studio_version=$$MSVS_VERSION
SDK_PATH = $$(WINDOWSSDKDIR)
@@ -100,7 +36,6 @@ msvc {
gn_args += windows_sdk_path=$$shell_quote($$SDK_PATH)
contains(QT_ARCH, "i386"): gn_args += target_cpu=\"x86\"
- isBuildingOnWin32(): GYP_ARGS += "-D windows_sdk_path=\"C:/Program Files/Windows Kits/10\""
} else {
fatal("Qt WebEngine for Windows can only be built with the Microsoft Visual Studio C++ compiler")
diff --git a/src/core/core.pro b/src/core/core.pro
index a2f3c3753..85e090ca9 100644
--- a/src/core/core.pro
+++ b/src/core/core.pro
@@ -14,62 +14,34 @@ core_module.depends = core_api
core_generator.file = core_generator.pro
core_generator.depends = core_headers
-use?(gn) {
- # core_gn_generator.pro is a dummy .pro file that is used by qmake
- # to generate our main BUILD.gn file
-
- core_icu.files = $$OUT_PWD/$$getConfigDir()/icudtl.dat
- core_icu.path = $$[QT_INSTALL_DATA]/resources
- core_icu.CONFIG += no_check_exist
-
- core_locales.files = $$OUT_PWD/$$getConfigDir()/qtwebengine_locales/*.pak
- core_locales.path = $$[QT_INSTALL_TRANSLATIONS]/qtwebengine_locales
- core_locales.CONFIG += no_check_exist
-
- core_resources.files = \
- $$OUT_PWD/$$getConfigDir()/qtwebengine_resources.pak \
- $$OUT_PWD/$$getConfigDir()/qtwebengine_resources_100p.pak \
- $$OUT_PWD/$$getConfigDir()/qtwebengine_resources_200p.pak \
- $$OUT_PWD/$$getConfigDir()/qtwebengine_devtools_resources.pak
- core_resources.path = $$[QT_INSTALL_DATA]/resources
- core_resources.CONFIG += no_check_exist
- INSTALLS += core_resources core_locales core_icu
-
- gn_run.file = gn_run.pro
- gn_run.depends = core_generator
-
- core_api.depends = gn_run
-
- SUBDIRS += \
- core_headers \
- core_generator \
- gn_run \
- core_api \
- core_module
-} else {
-
- # gyp_run.pro calls gyp through gyp_qtwebengine on the qmake step, and ninja on the make step.
- gyp_run.file = gyp_run.pro
- gyp_run.depends = core_generator
- core_api.depends = gyp_run
-
- SUBDIRS += core_headers \
- core_generator
-
- !win32 {
- # gyp_configure_host.pro and gyp_configure_target.pro are phony pro files that
- # extract things like compiler and linker from qmake
- # Do not use them on Windows, where Qt already expects the toolchain to be
- # selected through environment varibles.
- gyp_configure_host.file = gyp_configure_host.pro
- gyp_configure_target.file = gyp_configure_target.pro
- gyp_configure_target.depends = gyp_configure_host
-
- gyp_run.depends += gyp_configure_host gyp_configure_target
- SUBDIRS += gyp_configure_host gyp_configure_target
- }
-
- SUBDIRS += gyp_run \
- core_api \
- core_module
-}
+# core_gn_generator.pro is a dummy .pro file that is used by qmake
+# to generate our main BUILD.gn file
+
+core_icu.files = $$OUT_PWD/$$getConfigDir()/icudtl.dat
+core_icu.path = $$[QT_INSTALL_DATA]/resources
+core_icu.CONFIG += no_check_exist
+
+core_locales.files = $$OUT_PWD/$$getConfigDir()/qtwebengine_locales/*.pak
+core_locales.path = $$[QT_INSTALL_TRANSLATIONS]/qtwebengine_locales
+core_locales.CONFIG += no_check_exist
+
+core_resources.files = \
+ $$OUT_PWD/$$getConfigDir()/qtwebengine_resources.pak \
+ $$OUT_PWD/$$getConfigDir()/qtwebengine_resources_100p.pak \
+ $$OUT_PWD/$$getConfigDir()/qtwebengine_resources_200p.pak \
+ $$OUT_PWD/$$getConfigDir()/qtwebengine_devtools_resources.pak
+core_resources.path = $$[QT_INSTALL_DATA]/resources
+core_resources.CONFIG += no_check_exist
+INSTALLS += core_resources core_locales core_icu
+
+gn_run.file = gn_run.pro
+gn_run.depends = core_generator
+
+core_api.depends = gn_run
+
+SUBDIRS += \
+ core_headers \
+ core_generator \
+ gn_run \
+ core_api \
+ core_module
diff --git a/src/core/core_generator.pro b/src/core/core_generator.pro
index 9c109146f..6f427757c 100644
--- a/src/core/core_generator.pro
+++ b/src/core/core_generator.pro
@@ -1,10 +1,6 @@
-use?(gn) {
- include(core_gn_config.pri)
- qtConfig(debug_and_release): CONFIG += debug_and_release
-} else {
- include(core_gyp_config.pri)
-}
+include(core_gn_config.pri)
+qtConfig(debug_and_release): CONFIG += debug_and_release
TEMPLATE = lib
@@ -13,15 +9,11 @@ include(core_common.pri)
macos {
# This fixes namespace builds on macOS. Specifically namespace ambiguity issues between Qt and
# Chromium forward declarations of NSString.
- contains(WEBENGINE_CONFIG, use_gn) {
- # The single quotes are present so that qmake iteration does not interpret the space as
- # delimiting a new value, they are removed before writing to the GN file, and the final shell
- # quoting is done by GN itself.
- forward_declaration_macro = "'Q_FORWARD_DECLARE_OBJC_CLASS(name)=class name;'"
- } else {
- # For GYP, quoting should be done by qmake itself.
- forward_declaration_macro = $$shell_quote(\"Q_FORWARD_DECLARE_OBJC_CLASS(name)=class name;\")
- }
+
+ # The single quotes are present so that qmake iteration does not interpret the space as
+ # delimiting a new value, they are removed before writing to the GN file, and the final shell
+ # quoting is done by GN itself.
+ forward_declaration_macro = "'Q_FORWARD_DECLARE_OBJC_CLASS(name)=class name;'"
} else {
forward_declaration_macro = "Q_FORWARD_DECLARE_OBJC_CLASS=QT_FORWARD_DECLARE_CLASS"
}
diff --git a/src/core/core_gyp_config.pri b/src/core/core_gyp_config.pri
deleted file mode 100644
index 999d019f9..000000000
--- a/src/core/core_gyp_config.pri
+++ /dev/null
@@ -1,5 +0,0 @@
-CONFIG = gyp_generator $$CONFIG
-GYPFILE = $$OUT_PWD/core_generated.gyp
-GYPINCLUDES += $$PWD/qtwebengine.gypi
-GYPSRCDIR = $$PWD
-
diff --git a/src/core/core_module.pro b/src/core/core_module.pro
index fecee2536..f4f3fb736 100644
--- a/src/core/core_module.pro
+++ b/src/core/core_module.pro
@@ -4,11 +4,10 @@ include(core_common.pri)
# Needed to set a CFBundleIdentifier
QMAKE_INFO_PLIST = Info_mac.plist
-use?(gn): linking_pri = $$OUT_PWD/$$getConfigDir()/$${TARGET}.pri
-else: linking_pri = $$OUT_PWD/$$getConfigDir()/$${TARGET}_linking.pri
+linking_pri = $$OUT_PWD/$$getConfigDir()/$${TARGET}.pri
!include($$linking_pri) {
- error("Could not find the linking information that gyp/gn should have generated.")
+ error("Could not find the linking information that gn should have generated.")
}
load(qt_module)
@@ -19,30 +18,28 @@ api_library_path = $$OUT_PWD/api/$$getConfigDir()
# Do not precompile any headers. We are only interested in the linker step.
PRECOMPILED_HEADER =
-use?(gn){
- isEmpty(NINJA_OBJECTS): error("Missing object files from QtWebEngineCore linking pri.")
- isEmpty(NINJA_LFLAGS): error("Missing linker flags from QtWebEngineCore linking pri")
- isEmpty(NINJA_ARCHIVES): error("Missing archive files from QtWebEngineCore linking pri")
- isEmpty(NINJA_LIBS): error("Missing library files from QtWebEngineCore linking pri")
- NINJA_OBJECTS = $$eval($$list($$NINJA_OBJECTS))
- # Do manual response file linking for macOS and Linux
-
- RSP_FILE = $$OUT_PWD/$$getConfigDir()/$${TARGET}.rsp
- for(object, NINJA_OBJECTS): RSP_CONTENT += $$object
- write_file($$RSP_FILE, RSP_CONTENT)
- macos:LIBS_PRIVATE += -Wl,-filelist,$$shell_quote($$RSP_FILE)
- linux:LIBS_PRIVATE += @$$RSP_FILE
- # QTBUG-58710 add main rsp file on windows
- win32:QMAKE_LFLAGS += @$$RSP_FILE
- linux: LIBS_PRIVATE += -Wl,--start-group $$NINJA_ARCHIVES -Wl,--end-group
- else: LIBS_PRIVATE += $$NINJA_ARCHIVES
- LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS
- # GN's LFLAGS doesn't always work across all the Linux configurations we support.
- # The Windows and macOS ones from GN does provide a few useful flags however
- linux: QMAKE_LFLAGS += -Wl,--gc-sections -Wl,-O1 -Wl,-z,now -Wl,-z,defs
- else: QMAKE_LFLAGS += $$NINJA_LFLAGS
- POST_TARGETDEPS += $$NINJA_TARGETDEPS
-}
+isEmpty(NINJA_OBJECTS): error("Missing object files from QtWebEngineCore linking pri.")
+isEmpty(NINJA_LFLAGS): error("Missing linker flags from QtWebEngineCore linking pri")
+isEmpty(NINJA_ARCHIVES): error("Missing archive files from QtWebEngineCore linking pri")
+isEmpty(NINJA_LIBS): error("Missing library files from QtWebEngineCore linking pri")
+NINJA_OBJECTS = $$eval($$list($$NINJA_OBJECTS))
+# Do manual response file linking for macOS and Linux
+
+RSP_FILE = $$OUT_PWD/$$getConfigDir()/$${TARGET}.rsp
+for(object, NINJA_OBJECTS): RSP_CONTENT += $$object
+write_file($$RSP_FILE, RSP_CONTENT)
+macos:LIBS_PRIVATE += -Wl,-filelist,$$shell_quote($$RSP_FILE)
+linux:LIBS_PRIVATE += @$$RSP_FILE
+# QTBUG-58710 add main rsp file on windows
+win32:QMAKE_LFLAGS += @$$RSP_FILE
+linux: LIBS_PRIVATE += -Wl,--start-group $$NINJA_ARCHIVES -Wl,--end-group
+else: LIBS_PRIVATE += $$NINJA_ARCHIVES
+LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS
+# GN's LFLAGS doesn't always work across all the Linux configurations we support.
+# The Windows and macOS ones from GN does provide a few useful flags however
+linux: QMAKE_LFLAGS += -Wl,--gc-sections -Wl,-O1 -Wl,-z,now -Wl,-z,defs
+else: QMAKE_LFLAGS += $$NINJA_LFLAGS
+POST_TARGETDEPS += $$NINJA_TARGETDEPS
LIBS_PRIVATE += -L$$api_library_path
@@ -72,11 +69,7 @@ qtConfig(egl): CONFIG += egl
linux:qtConfig(separate_debug_info): QMAKE_POST_LINK="cd $(DESTDIR) && $(STRIP) --strip-unneeded $(TARGET)"
-use?(gn) {
- REPACK_DIR = $$OUT_PWD/$$getConfigDir()
-} else {
- REPACK_DIR = $$OUT_PWD/$$getConfigDir()/gen/repack
-}
+REPACK_DIR = $$OUT_PWD/$$getConfigDir()
# Duplicated from resources/resources.gyp
LOCALE_LIST = am ar bg bn ca cs da de el en-GB en-US es-419 es et fa fi fil fr gu he hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk vi zh-CN zh-TW
diff --git a/src/core/gyp_configure_host.pro b/src/core/gyp_configure_host.pro
deleted file mode 100644
index eb94cb802..000000000
--- a/src/core/gyp_configure_host.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-# Prevent generating a makefile that attempts to create a lib
-TEMPLATE = aux
-
-# Pick up the host toolchain
-option(host_build)
-
-GYPI_CONTENTS = "{" \
- " 'make_global_settings': [" \
- " ['CC.host', '$$which($$QMAKE_CC)']," \
- " ['CXX.host', '$$which($$QMAKE_CXX)']," \
- " ['LD.host', '$$which($$QMAKE_LINK)'],"
-
-GYPI_FILE = $$OUT_PWD/qmake_extras.gypi
-!build_pass {
- write_file($$GYPI_FILE, GYPI_CONTENTS)
-}
diff --git a/src/core/gyp_configure_target.pro b/src/core/gyp_configure_target.pro
deleted file mode 100644
index 2a5996636..000000000
--- a/src/core/gyp_configure_target.pro
+++ /dev/null
@@ -1,36 +0,0 @@
-# Prevent generating a makefile that attempts to create a lib
-TEMPLATE = aux
-
-TOOLCHAIN_INCLUDES = $${QMAKE_INCDIR_EGL} $${INCLUDEPATH} $${QMAKE_INCDIR}
-
-GYPI_CONTENTS += " ['CC', '$$which($$QMAKE_CC)']," \
- " ['CXX', '$$which($$QMAKE_CXX)']," \
- " ['LD', '$$which($$QMAKE_LINK)'],"
-GYPI_CONTENTS += " ]," \
- " 'target_defaults': {" \
- " 'target_conditions': [" \
- " ['_toolset==\"target\"', {" \
- " 'include_dirs': ["
-for(includes, TOOLCHAIN_INCLUDES) {
- GYPI_CONTENTS += " '$$includes',"
-}
-GYPI_CONTENTS += " ]," \
- " 'cflags': ["
-for(cflag, QT_CFLAGS_DBUS) {
- GYPI_CONTENTS += " '$$cflag',"
-}
-GYPI_CONTENTS += " ]," \
- " }]," \
- " ]," \
- " },"
-
-GYPI_CONTENTS += "}"
-
-GYPI_FILE = $$OUT_PWD/qmake_extras.gypi
-
-!exists($$GYPI_FILE): error("-- $$GYPI_FILE not found --")
-
-# Append to the file already containing the host settings.
-!build_pass {
- write_file($$GYPI_FILE, GYPI_CONTENTS, append)
-}
diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro
deleted file mode 100644
index 2c6aa5069..000000000
--- a/src/core/gyp_run.pro
+++ /dev/null
@@ -1,176 +0,0 @@
-# This .pro file serves a dual purpose:
-# 1) invoking gyp through the gyp_qtwebengine script, which in turn makes use of the generated gypi include files
-# 2) produce a Makefile that will run ninja, and take care of actually building everything.
-
-isQtMinimum(5, 8) {
- include($$QTWEBENGINE_OUT_ROOT/qtwebengine-config.pri)
- QT_FOR_CONFIG += webengine-private
-}
-
-TEMPLATE = aux
-
-contains(WEBENGINE_CONFIG, embedded_build) {
- GYP_ARGS = "-D qt_cross_compile=1"
- posix: GYP_ARGS += "-D os_posix=1"
- qnx: include(config/embedded_qnx.pri)
- linux: include(config/embedded_linux.pri)
-} else {
- # !cross_compile
- GYP_ARGS = "-D qt_cross_compile=0"
- linux: include(config/desktop_linux.pri)
- mac: include(config/mac_osx.pri)
- win32: include(config/windows.pri)
-}
-GYP_CONFIG += qtwe_process_name_debug=$$QTWEBENGINEPROCESS_NAME_DEBUG
-GYP_CONFIG += qtwe_process_name_release=$$QTWEBENGINEPROCESS_NAME_RELEASE
-GYP_CONFIG += disable_glibcxx_debug=1
-!contains(QT_CONFIG, no-pkg-config): GYP_ARGS += "-D pkg-config=\"$$pkgConfigExecutable()\""
-
-!webcore_debug: GYP_CONFIG += remove_webcore_debug_symbols=1
-!v8base_debug: GYP_CONFIG += remove_v8base_debug_symbols=1
-
-linux:qtConfig(separate_debug_info): GYP_CONFIG += linux_dump_symbols=1
-
-force_debug_info {
- win32: GYP_CONFIG += win_release_extra_cflags=-Zi
- else: GYP_CONFIG += release_extra_cflags=-g
-}
-
-!warnings_are_errors: GYP_CONFIG += disable_fatal_linker_warnings=1
-
-# Copy this logic from qt_module.prf so that ninja can run according
-# to the same rules as the final module linking in core_module.pro.
-!host_build:if(win32|mac):!macx-xcode {
- qtConfig(debug_and_release): CONFIG += debug_and_release build_all
-}
-
-cross_compile {
- TOOLCHAIN_SYSROOT = $$[QT_SYSROOT]
- !isEmpty(TOOLCHAIN_SYSROOT): GYP_CONFIG += sysroot=\"$${TOOLCHAIN_SYSROOT}\"
-
- # Needed for v8, see chromium/v8/build/toolchain.gypi
- GYP_CONFIG += CXX=\"$$which($$QMAKE_CXX)\"
-}
-else {
- GYP_CONFIG += sysroot=\"\"
-}
-
-contains(QT_ARCH, "arm") {
- GYP_CONFIG += target_arch=arm
-
- # Extract ARM specific compiler options that we have to pass to gyp,
- # but let gyp figure out a default if an option is not present.
- MARCH = $$extractCFlag("-march=.*")
- !isEmpty(MARCH): GYP_CONFIG += arm_arch=\"$$MARCH\"
-
- MTUNE = $$extractCFlag("-mtune=.*")
- !isEmpty(MTUNE): GYP_CONFIG += arm_tune=\"$$MTUNE\"
-
- MFLOAT = $$extractCFlag("-mfloat-abi=.*")
- !isEmpty(MFLOAT): GYP_CONFIG += arm_float_abi=\"$$MFLOAT\"
-
- MARMV = $$replace(MARCH, "armv",)
- !isEmpty(MARMV) {
- MARMV = $$split(MARMV,)
- MARMV = $$member(MARMV, 0)
- lessThan(MARMV, 6): error("$$MARCH architecture is not supported")
- GYP_CONFIG += arm_version=\"$$MARMV\"
- }
-
- MFPU = $$extractCFlag("-mfpu=.*")
- !isEmpty(MFPU) {
- # If the toolchain does not explicitly specify to use NEON instructions
- # we use arm_neon_optional for ARMv7 and newer and let chromium decide
- # about the mfpu option.
- contains(MFPU, ".*neon.*"): GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=1
- else:!lessThan(MARMV, 7): GYP_CONFIG += arm_neon=0 arm_neon_optional=1
- else: GYP_CONFIG += arm_fpu=\"$$MFPU\" arm_neon=0 arm_neon_optional=0
- } else {
- # Chromium defaults to arm_neon=1, Qt does not.
- GYP_CONFIG += arm_neon=0
- !lessThan(MARMV, 7): GYP_CONFIG += arm_neon_optional=1
- }
-
- if(isEmpty(MARMV)|lessThan(MARMV, 7)):contains(QMAKE_CFLAGS, "-marm"): GYP_CONFIG += arm_thumb=0
- contains(QMAKE_CFLAGS, "-mthumb"): GYP_CONFIG += arm_thumb=1
-}
-
-contains(QT_ARCH, "mips") {
- GYP_CONFIG += target_arch=mipsel
-
- MARCH = $$extractCFlag("-march=.*")
- !isEmpty(MARCH) {
- equals(MARCH, "mips32r6"): GYP_CONFIG += mips_arch_variant=\"r6\"
- else: equals(MARCH, "mips32r2"): GYP_CONFIG += mips_arch_variant=\"r2\"
- else: equals(MARCH, "mips32"): GYP_CONFIG += mips_arch_variant=\"r1\"
- } else {
- contains(QMAKE_CFLAGS, "mips32r6"): GYP_CONFIG += mips_arch_variant=\"r6\"
- else: contains(QMAKE_CFLAGS, "mips32r2"): GYP_CONFIG += mips_arch_variant=\"r2\"
- else: contains(QMAKE_CFLAGS, "mips32"): GYP_CONFIG += mips_arch_variant=\"r1\"
- }
-
- contains(QMAKE_CFLAGS, "-mdsp2"): GYP_CONFIG += mips_dsp_rev=2
- else: contains(QMAKE_CFLAGS, "-mdsp"): GYP_CONFIG += mips_dsp_rev=1
-}
-
-contains(QT_ARCH, "x86_64"): GYP_CONFIG += target_arch=x64
-contains(QT_ARCH, "i386"): GYP_CONFIG += target_arch=ia32
-contains(QT_ARCH, "arm64"): GYP_CONFIG += target_arch=arm64
-contains(QT_ARCH, "mips64"): GYP_CONFIG += target_arch=mips64el
-
-contains(WEBENGINE_CONFIG, use_proprietary_codecs): GYP_CONFIG += proprietary_codecs=1 ffmpeg_branding=Chrome
-contains(WEBENGINE_CONFIG, use_appstore_compliant_code): GYP_CONFIG += appstore_compliant_code=1
-
-# Compiling with -Os makes a huge difference in binary size, and the unwind tables is another big part,
-# but the latter are necessary for useful debug binaries.
-contains(WEBENGINE_CONFIG, reduce_binary_size): GYP_CONFIG += release_optimize=s debug_optimize=s release_unwind_tables=0
-
-!contains(WEBENGINE_CONFIG, use_spellchecker): {
- GYP_CONFIG += enable_spellcheck=0
- macos: GYP_CONFIG += use_browser_spellchecker=0
-} else {
- GYP_CONFIG += enable_spellcheck=1
- macos {
- contains(WEBENGINE_CONFIG, use_native_spellchecker) {
- GYP_CONFIG += use_browser_spellchecker=1
- } else {
- GYP_CONFIG += use_browser_spellchecker=0
- }
- }
-}
-
-!qtConfig(framework):qtConfig(private_tests) {
- GYP_CONFIG += qt_install_data=\"$$[QT_INSTALL_DATA/get]\"
- GYP_CONFIG += qt_install_translations=\"$$[QT_INSTALL_TRANSLATIONS/get]\"
-}
-
-# Append additional platform options defined in GYP_CONFIG
-for (config, GYP_CONFIG): GYP_ARGS += "-D $$config"
-
-!build_pass {
- message("Running gyp_qtwebengine \"$$OUT_PWD\" $${GYP_ARGS}.")
- !system("python $$QTWEBENGINE_ROOT/tools/buildscripts/gyp_qtwebengine \"$$OUT_PWD\" $${GYP_ARGS}"): error("-- running gyp_qtwebengine failed --")
-}
-
-build_pass|!debug_and_release {
-
- ninja_binary = ninja
- runninja.target = run_ninja
-
- !qtConfig(system-ninja) {
- ninja_binary = $$shell_quote($$shell_path($$ninjaPath()))
- }
-
- runninja.commands = $$ninja_binary \$\(NINJAFLAGS\) -C $$shell_quote($$OUT_PWD/$$getConfigDir())
- QMAKE_EXTRA_TARGETS += runninja
-
- build_pass:build_all: default_target.target = all
- else: default_target.target = first
- default_target.depends = runninja
-
- QMAKE_EXTRA_TARGETS += default_target
-} else {
- # Special GNU make target for the meta Makefile that ensures that our debug and release Makefiles won't both run ninja in parallel.
- notParallel.target = .NOTPARALLEL
- QMAKE_EXTRA_TARGETS += notParallel
-}
diff --git a/src/core/qtwebengine.gypi b/src/core/qtwebengine.gypi
deleted file mode 100644
index b83b1cbfa..000000000
--- a/src/core/qtwebengine.gypi
+++ /dev/null
@@ -1,148 +0,0 @@
-{
- # This asks gyp to generate a .pri file with linking
- # information so that qmake can take care of the deployment.
- 'let_qmake_do_the_linking': 1,
- 'variables': {
- 'version_script_location%': '<(chromium_src_dir)/build/util/version.py',
- },
- 'configurations': {
- 'Release': {
- 'defines': [ 'QT_NO_DEBUG' ],
- },
- },
- 'dependencies': [
- '<(chromium_src_dir)/base/base.gyp:base',
- '<(chromium_src_dir)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
- '<(chromium_src_dir)/components/components.gyp:cdm_renderer',
- '<(chromium_src_dir)/components/components.gyp:devtools_discovery',
- '<(chromium_src_dir)/components/components.gyp:devtools_http_handler',
- '<(chromium_src_dir)/components/components.gyp:error_page_renderer',
- '<(chromium_src_dir)/components/components.gyp:keyed_service_content',
- '<(chromium_src_dir)/components/components.gyp:keyed_service_core',
- '<(chromium_src_dir)/components/components.gyp:pref_registry',
- '<(chromium_src_dir)/components/components.gyp:user_prefs',
- '<(chromium_src_dir)/components/components.gyp:visitedlink_browser',
- '<(chromium_src_dir)/components/components.gyp:visitedlink_renderer',
- '<(chromium_src_dir)/components/components.gyp:web_cache_browser',
- '<(chromium_src_dir)/components/components.gyp:web_cache_renderer',
- '<(chromium_src_dir)/content/content.gyp:content',
- '<(chromium_src_dir)/content/content.gyp:content_app_browser',
- '<(chromium_src_dir)/content/content.gyp:content_browser',
- '<(chromium_src_dir)/content/content.gyp:content_common',
- '<(chromium_src_dir)/content/content.gyp:content_gpu',
- '<(chromium_src_dir)/content/content.gyp:content_ppapi_plugin',
- '<(chromium_src_dir)/content/content.gyp:content_renderer',
- '<(chromium_src_dir)/content/content.gyp:content_utility',
- '<(chromium_src_dir)/content/app/resources/content_resources.gyp:content_resources',
- '<(chromium_src_dir)/ipc/ipc.gyp:ipc',
- '<(chromium_src_dir)/media/media.gyp:media',
- '<(chromium_src_dir)/net/net.gyp:net',
- '<(chromium_src_dir)/net/net.gyp:net_resources',
- '<(chromium_src_dir)/net/net.gyp:net_with_v8',
- '<(chromium_src_dir)/skia/skia.gyp:skia',
- '<(chromium_src_dir)/third_party/WebKit/Source/web/web.gyp:blink_web',
- '<(chromium_src_dir)/ui/base/ui_base.gyp:ui_base',
- '<(chromium_src_dir)/ui/gl/gl.gyp:gl',
- '<(chromium_src_dir)/url/url.gyp:url_lib',
- '<(chromium_src_dir)/v8/src/v8.gyp:v8',
-
- '<(qtwebengine_root)/src/core/chrome_qt.gyp:chrome_qt',
- ],
- 'include_dirs': [
- '<(chromium_src_dir)',
- '<(SHARED_INTERMEDIATE_DIR)/net', # Needed to include grit/net_resources.h
- '<(SHARED_INTERMEDIATE_DIR)/chrome', # Needed to include grit/generated_resources.h
- ],
- # Chromium code defines those in common.gypi, do the same for our code that include Chromium headers.
- 'defines': [
- '__STDC_CONSTANT_MACROS',
- '__STDC_FORMAT_MACROS',
- 'CHROMIUM_VERSION=\"<!(python <(version_script_location) -f <(chromium_src_dir)/chrome/VERSION -t "@MAJOR@.@MINOR@.@BUILD@.@PATCH@")\"',
- ],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'RuntimeTypeInfo': 'true',
- },
- 'VCLinkerTool': {
- 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
- },
- },
- 'conditions': [
- ['OS=="win" and win_use_allocator_shim==1', {
- 'dependencies': [
- '<(chromium_src_dir)/base/allocator/allocator.gyp:allocator',
- ],
- }],
- # embedded_linux need some additional options.
- ['qt_os=="embedded_linux"', {
- 'configurations': {
- 'Debug_Base': {
- 'ldflags': [
- # Only link with needed input sections.
- '-Wl,--gc-sections',
- # Warn in case of text relocations.
- '-Wl,--warn-shared-textrel',
- '-Wl,-O1',
- '-Wl,--as-needed',
- ],
- 'cflags': [
- '-fomit-frame-pointer',
- '-fdata-sections',
- '-ffunction-sections',
- ],
- },
- },
- 'dependencies': [
- '<(chromium_src_dir)/ui/events/ozone/events_ozone.gyp:events_ozone_evdev',
- '<(chromium_src_dir)/ui/ozone/ozone.gyp:ozone_common',
- ]
- }],
- ['qt_os=="win32" and qt_gl=="opengl"', {
- 'include_dirs': [
- '<(chromium_src_dir)/third_party/khronos',
- ],
- }],
- ['OS=="win"', {
- 'resource_include_dirs': [
- '<(SHARED_INTERMEDIATE_DIR)/webkit',
- ],
- 'configurations': {
- 'Debug_Base': {
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
- },
- },
- },
- },
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- 'msvs_disabled_warnings': [ 4267, 4996, ],
- }], # OS=="win"
- ['OS=="linux"', {
- 'dependencies': [
- '<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
- ],
- }],
- ['OS=="mac"', {
- 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
- }],
- ['enable_basic_printing==1 or enable_print_preview==1', {
- 'dependencies': [
- '<(chromium_src_dir)/components/components.gyp:printing_browser',
- '<(chromium_src_dir)/components/components.gyp:printing_common',
- '<(chromium_src_dir)/components/components.gyp:printing_renderer',
- ]
- }],
- ['icu_use_data_file_flag==1', {
- 'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE'],
- }, { # else icu_use_data_file_flag !=1
- 'conditions': [
- ['OS=="win"', {
- 'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_SHARED'],
- }, {
- 'defines': ['ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC'],
- }],
- ],
- }],
- ],
-}
diff --git a/src/core/qtwebengine_extras.gypi b/src/core/qtwebengine_extras.gypi
deleted file mode 100644
index 8e4c655a9..000000000
--- a/src/core/qtwebengine_extras.gypi
+++ /dev/null
@@ -1,129 +0,0 @@
-{
- 'variables': {
- 'werror%': '',
- 'qt_os%': '',
- },
- 'target_defaults': {
- # patterns used to exclude chromium files from the build when we have a drop-in replacement
- 'sources/': [
- ['exclude', 'clipboard/clipboard_aura.cc$'],
- ['exclude', 'clipboard/clipboard_aurax11.cc$'],
- ['exclude', 'clipboard/clipboard_gtk.cc$'],
- ['exclude', 'clipboard/clipboard_mac.mm$'],
- ['exclude', 'clipboard/clipboard_win.cc$'],
- ['exclude', 'clipboard/clipboard_util_win\\.(cc|h)$'],
- ['exclude', 'dragdrop/os_exchange_data_provider_aurax11\\.(cc|h)$'],
- ['exclude', 'dragdrop/os_exchange_data_provider_win\\.(cc|h)$'],
- ['exclude', 'dragdrop/os_exchange_data_provider_mac\\.(mm|h)$'],
- ['exclude', 'resource/resource_bundle_auralinux.cc$'],
- ['exclude', 'resource/resource_bundle_gtk.cc$'],
- ['exclude', 'resource/resource_bundle_mac.mm$'],
- ['exclude', 'resource/resource_bundle_win.cc$'],
- ['exclude', 'browser/web_contents/web_contents_view_aura\\.(cc|h)$'],
- ['exclude', 'browser/web_contents/web_contents_view_gtk\\.(cc|h)$'],
- ['exclude', 'browser/web_contents/web_contents_view_mac\\.(mm|h)$'],
- ['exclude', 'browser/web_contents/web_contents_view_win\\.(cc|h)$'],
- ['exclude', 'browser/renderer_host/gtk_im_context_wrapper\\.cc$'],
- ['exclude', 'browser/renderer_host/native_web_keyboard_event_aura.cc$'],
- ['exclude', 'browser/renderer_host/native_web_keyboard_event_mac.mm$'],
- ['exclude', 'browser/renderer_host/pepper/pepper_truetype_font_list_pango\\.cc$'],
- ['exclude', 'browser/renderer_host/render_widget_host_view_aura\\.(cc|h)$'],
- ['exclude', 'browser/renderer_host/render_widget_host_view_gtk\\.(cc|h)$'],
- ['exclude', 'browser/renderer_host/render_widget_host_view_mac\\.(mm|h)$'],
- ['exclude', 'browser/renderer_host/render_widget_host_view_win\\.(cc|h)$'],
- ['exclude', 'common/font_list_pango\\.cc$'],
- ['exclude', 'browser/accessibility/browser_accessibility_cocoa\\.(mm|h)$'],
- ['exclude', 'browser/accessibility/browser_accessibility_gtk\\.(cc|h)$'],
- ['exclude', 'browser/accessibility/browser_accessibility_mac\\.(mm|h)$'],
- ['exclude', 'browser/accessibility/browser_accessibility_win\\.(cc|h)$'],
- ['exclude', 'browser/accessibility/browser_accessibility_event_win\\.(cc|h)$'],
- ['exclude', 'browser/accessibility/browser_accessibility_manager_gtk\\.(cc|h)$'],
- ['exclude', 'browser/accessibility/browser_accessibility_manager_mac\\.(mm|h)$'],
- ['exclude', 'browser/accessibility/browser_accessibility_manager_win\\.(cc|h)$'],
- ['exclude', 'command_buffer/service/async_pixel_transfer_manager_egl\\.(cc|h)$'],
- ['exclude', 'common/gpu/image_transport_surface_linux\\.cc$'],
- ['exclude', 'common/gpu/image_transport_surface_win\\.cc$'],
- ['exclude', 'gl_surface_egl\\.cc$'],
- ['exclude', 'gl_surface_egl_ozone\\.cc$'],
- ['exclude', 'gl_surface_egl_win\\.cc$'],
- ['exclude', 'gl_surface_egl_x11\\.cc$'],
- ['exclude', 'gl_surface_glx\\.cc$'],
- ['exclude', 'gl_surface_ozone\\.cc$'],
- ['exclude', 'gl_factory_ozone\\.cc$'],
- ['exclude', 'gl_factory_win\\.cc$'],
- ['exclude', 'gl_initializer_ozone\\.cc$'],
- ['exclude', 'gl_initializer_win\\.cc$'],
- ['exclude', 'gl_initializer_x11\\.cc$'],
- # Avoid the ATL dependency to allow building with VS Express
- ['exclude', 'browser/accessibility/accessibility_tree_formatter\\.(cc|h)$',],
- ['exclude', 'browser/accessibility/accessibility_tree_formatter_mac\\.(mm|h)$',],
- ['exclude', 'browser/accessibility/accessibility_tree_formatter_utils_win\\.(cc|h)$',],
- ['exclude', 'browser/accessibility/accessibility_tree_formatter_win\\.(cc|h)$',],
- ['exclude', 'browser/accessibility/accessibility_ui\\.(cc|h)$',],
- ['exclude', 'browser/renderer_host/legacy_render_widget_host_win\\.(cc|h)$'],
- ['exclude', 'win/accessibility_ids_win\\.h$'],
- ['exclude', 'win/accessibility_misc_utils\\.(cc|h)$'],
- ['exclude', 'win/atl_module\\.h$'],
- ['exclude', 'platform/ax_platform_node_win\\.(cc|h)$'],
- ['exclude', 'audio_classifier\\.(cc|h)$'],
- ],
- 'defines': [
- 'TOOLKIT_QT',
- ],
- 'configurations': {
- 'Debug': {
- 'defines': [
- 'QTWEBENGINEPROCESS_NAME="<(qtwe_process_name_debug)"'
- ],
- },
- 'Debug_x64': {
- 'defines': [
- 'QTWEBENGINEPROCESS_NAME="<(qtwe_process_name_debug)"'
- ],
- },
- 'Release': {
- 'defines': [
- 'QTWEBENGINEPROCESS_NAME="<(qtwe_process_name_release)"'
- ],
- },
- 'Release_x64': {
- 'defines': [
- 'QTWEBENGINEPROCESS_NAME="<(qtwe_process_name_release)"'
- ],
- },
- },
- },
- 'conditions': [
- [ 'qt_os=="embedded_linux"', {
- 'variables': {
- 'external_ozone_platforms': [ 'eglfs', ],
- },
- 'target_defaults': {
- 'defines': [
- 'GL_GLEXT_PROTOTYPES',
- 'EGL_EGLEXT_PROTOTYPES',
- # At runtime the env variable SSL_CERT_DIR can be used to override this
- 'OPENSSLDIR="/usr/lib/ssl"',
- 'OPENSSL_LOAD_CONF',
- 'EGL_API_FB=1',
- 'LINUX=1',
- ],
- 'target_conditions': [
- ['_type=="shared_library"', {
- 'ldflags': [
- # Tell the linker to prefer symbols within the library before looking outside
- '-Wl,-shared,-Bsymbolic',
- ],
- }],
- ['_toolset=="target"', {
- 'libraries': [
- '-licui18n',
- '-licuuc',
- '-licudata',
- ],
- }],
- ],
- },
- }],
- ],
-}
diff --git a/src/core/resources/grit_action.gypi b/src/core/resources/grit_action.gypi
deleted file mode 100644
index e8b98b43d..000000000
--- a/src/core/resources/grit_action.gypi
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (c) 2011 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file is meant to be included into an action to invoke grit in a
-# consistent manner. To use this the following variables need to be
-# defined:
-# grit_grd_file: string: grd file path
-# grit_out_dir: string: the output directory path
-
-# It would be really nice to do this with a rule instead of actions, but it
-# would need to determine inputs and outputs via grit_info on a per-file
-# basis. GYP rules don’t currently support that. They could be extended to
-# do this, but then every generator would need to be updated to handle this.
-
-{
- 'variables': {
- 'grit_cmd': ['python', '<(DEPTH)/tools/grit/grit.py'],
- 'grit_resource_ids%': '<(DEPTH)/tools/gritsettings/resource_ids',
- # This makes it possible to add more defines in specific targets,
- # instead of build/common.gypi .
- 'grit_additional_defines%': [],
- },
- 'inputs': [
- '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) '
- '--inputs <(grit_grd_file) -f "<(grit_resource_ids)")',
- ],
- 'outputs': [
- '<!@pymod_do_main(grit_info <@(grit_defines) <@(grit_additional_defines) '
- '--outputs \'<(grit_out_dir)\' '
- '<(grit_grd_file) -f "<(grit_resource_ids)")',
- ],
- 'action': ['<@(grit_cmd)',
- '-i', '<(grit_grd_file)', 'build',
- '-f', '<(grit_resource_ids)',
- '-o', '<(grit_out_dir)',
- '<@(grit_defines)',
- '<@(grit_additional_defines)' ],
- 'msvs_cygwin_shell': 0,
- 'message': 'Generating resources from <(grit_grd_file)',
-}
diff --git a/src/core/resources/repack_locales.gypi b/src/core/resources/repack_locales.gypi
deleted file mode 100644
index d24da1b5d..000000000
--- a/src/core/resources/repack_locales.gypi
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'variables': {
- 'repack_extra_flags%': [],
- 'repack_output_dir%': '<(SHARED_INTERMEDIATE_DIR)',
- 'repack_locales_script%': ['python', '<(qtwebengine_root)/tools/buildscripts/repack_locales.py'],
- },
- 'inputs': [
- '<(qtwebengine_root)/tools/buildscripts/repack_locales.py',
- '<!@pymod_do_main(repack_locales -i -p <(OS) -s <(SHARED_INTERMEDIATE_DIR) -x <(repack_output_dir) <(repack_extra_flags) <(locales))'
- ],
- 'outputs': [
- '<@(locale_files)'
- ],
- 'action': [
- '<@(repack_locales_script)',
- '-p', '<(OS)',
- '-s', '<(SHARED_INTERMEDIATE_DIR)',
- '-x', '<(repack_output_dir)/.',
- '<@(repack_extra_flags)',
- '<@(locales)',
- ],
-}
diff --git a/src/core/resources/repack_resources.gypi b/src/core/resources/repack_resources.gypi
deleted file mode 100644
index ce224e625..000000000
--- a/src/core/resources/repack_resources.gypi
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'variables': {
- 'repack_path': '<(chromium_src_dir)/tools/grit/grit/format/repack.py',
- },
- 'inputs': [
- '<(repack_path)',
- '<@(pak_inputs)',
- ],
- 'outputs': [
- '<@(pak_outputs)',
- ],
- 'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'],
-}
diff --git a/src/core/resources/resources.gyp b/src/core/resources/resources.gyp
deleted file mode 100644
index 8b7d520a9..000000000
--- a/src/core/resources/resources.gyp
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- 'variables': {
- # Used in repack_locales
- 'locales': [
- 'am', 'ar', 'bg', 'bn', 'ca', 'cs', 'da', 'de', 'el', 'en-GB',
- 'en-US', 'es-419', 'es', 'et', 'fa', 'fi', 'fil', 'fr', 'gu', 'he',
- 'hi', 'hr', 'hu', 'id', 'it', 'ja', 'kn', 'ko', 'lt', 'lv',
- 'ml', 'mr', 'ms', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru',
- 'sk', 'sl', 'sr', 'sv', 'sw', 'ta', 'te', 'th', 'tr', 'uk',
- 'vi', 'zh-CN', 'zh-TW',
- ],
- 'locale_files': ['<!@pymod_do_main(repack_locales -o -p <(OS) -s <(SHARED_INTERMEDIATE_DIR) -x <(SHARED_INTERMEDIATE_DIR) <(locales))'],
- 'qt_install_data%': '',
- 'qt_install_translations%': '',
- },
- 'targets': [
- {
- 'target_name': 'qtwebengine_resources',
- 'type': 'none',
- 'dependencies': [
- '<(chromium_src_dir)/content/app/strings/content_strings.gyp:content_strings',
- '<(chromium_src_dir)/content/browser/devtools/devtools_resources.gyp:devtools_resources',
- '<(chromium_src_dir)/components/components_resources.gyp:components_resources',
- '<(chromium_src_dir)/components/components_strings.gyp:components_strings',
- '<(chromium_src_dir)/third_party/WebKit/public/blink_resources.gyp:blink_resources',
- '<(qtwebengine_root)/src/core/chrome_qt.gyp:chrome_resources',
- ],
- 'actions' : [
- {
- 'action_name': 'repack_resources',
- 'variables': {
- 'pak_inputs': [
- '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
- '<(SHARED_INTERMEDIATE_DIR)/components/components_resources.pak',
- '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak',
- '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_resources.pak',
- '<(SHARED_INTERMEDIATE_DIR)/ui/resources/webui_resources.pak',
- ],
- 'pak_outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/repack/qtwebengine_resources.pak'
- ]
- },
- 'includes': [ 'repack_resources.gypi' ],
- },
- {
- 'action_name': 'repack_resources_100_percent',
- 'variables': {
- 'pak_inputs': [
- '<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_resources_100_percent.pak',
- '<(SHARED_INTERMEDIATE_DIR)/components/components_resources_100_percent.pak',
- '<(SHARED_INTERMEDIATE_DIR)/content/app/resources/content_resources_100_percent.pak',
- '<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources_100_percent.pak',
- '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_image_resources_100_percent.pak',
- ],
- 'pak_outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/repack/qtwebengine_resources_100p.pak'
- ]
- },
- 'includes': [ 'repack_resources.gypi' ],
- },
- {
- 'action_name': 'repack_resources_200_percent',
- 'variables': {
- 'pak_inputs': [
- '<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_resources_200_percent.pak',
- '<(SHARED_INTERMEDIATE_DIR)/components/components_resources_200_percent.pak',
- '<(SHARED_INTERMEDIATE_DIR)/content/app/resources/content_resources_200_percent.pak',
- '<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources_200_percent.pak',
- '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_image_resources_200_percent.pak',
- ],
- 'pak_outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/repack/qtwebengine_resources_200p.pak'
- ]
- },
- 'includes': [ 'repack_resources.gypi' ],
- },
- {
- 'action_name': 'repack_resources_devtools',
- 'variables': {
- 'pak_inputs': [
- '<(SHARED_INTERMEDIATE_DIR)/blink/devtools_resources.pak',
- ],
- 'pak_outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/repack/qtwebengine_devtools_resources.pak'
- ]
- },
- 'includes': [ 'repack_resources.gypi' ],
- },
- {
- 'action_name': 'repack_locales',
- 'includes': [ 'repack_locales.gypi' ],
- },
- ],
- }
- ]
-}
diff --git a/src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro b/src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro
index 2bdfee304..4e2c8c847 100644
--- a/src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro
+++ b/src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro
@@ -1,34 +1,28 @@
option(host_build)
# Look for linking information produced by gyp for our target according to core_generated.gyp
-use?(gn): linking_pri = $$OUT_PWD/../../core/$$getConfigDir()/convert_dict.pri
-else: linking_pri = $$OUT_PWD/../../core/$$getConfigDir()/convert_dict_linking.pri
+linking_pri = $$OUT_PWD/../../core/$$getConfigDir()/convert_dict.pri
!include($$linking_pri) {
- error("Could not find the linking information that gyp/gn should have generated.")
+ error("Could not find the linking information that gn should have generated.")
}
-use?(gn){
- isEmpty(NINJA_OBJECTS): error("Missing object files from QtWebEngineCore linking pri.")
- isEmpty(NINJA_LFLAGS): error("Missing linker flags from QtWebEngineCore linking pri")
- isEmpty(NINJA_ARCHIVES): error("Missing archive files from QtWebEngineCore linking pri")
- isEmpty(NINJA_LIBS): error("Missing library files from QtWebEngineCore linking pri")
- OBJECTS = $$eval($$list($$NINJA_OBJECTS))
- linux {
- LIBS_PRIVATE = -Wl,--start-group $$NINJA_ARCHIVES -Wl,--end-group
- } else {
- LIBS_PRIVATE = $$NINJA_ARCHIVES
- }
- LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS
- QMAKE_LFLAGS += $$NINJA_LFLAGS
- POST_TARGETDEPS += $$NINJA_TARGETDEPS
+isEmpty(NINJA_OBJECTS): error("Missing object files from QtWebEngineCore linking pri.")
+isEmpty(NINJA_LFLAGS): error("Missing linker flags from QtWebEngineCore linking pri")
+isEmpty(NINJA_ARCHIVES): error("Missing archive files from QtWebEngineCore linking pri")
+isEmpty(NINJA_LIBS): error("Missing library files from QtWebEngineCore linking pri")
+OBJECTS = $$eval($$list($$NINJA_OBJECTS))
+linux {
+ LIBS_PRIVATE = -Wl,--start-group $$NINJA_ARCHIVES -Wl,--end-group
} else {
- # skip dummy main.cpp file
- OBJECTS =
+ LIBS_PRIVATE = $$NINJA_ARCHIVES
}
+LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS
+QMAKE_LFLAGS += $$NINJA_LFLAGS
+POST_TARGETDEPS += $$NINJA_TARGETDEPS
#ninja compiles with std::__debug
-use?(gn): linux: CONFIG(debug, debug|release) {
+linux: CONFIG(debug, debug|release) {
DEFINES += _GLIBCXX_DEBUG
}
diff --git a/tools/buildscripts/gyp_qtwebengine b/tools/buildscripts/gyp_qtwebengine
deleted file mode 100755
index 26f8d0f06..000000000
--- a/tools/buildscripts/gyp_qtwebengine
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/usr/bin/env python
-
-import glob
-import os
-import sys
-import subprocess
-
-print 'using python: ' + sys.executable + ' version: ' + str(sys.version_info.major) + '.' + str(sys.version_info.minor) + '.' + str(sys.version_info.micro)
-
-if sys.platform == "darwin":
- print 'xcode version: ' + subprocess.check_output(['xcodebuild', '-version']).replace('\n', ' ')
-
-qtwebengine_root = os.path.normcase(os.path.abspath(os.path.join(os.path.dirname(__file__), '../..')))
-import qtwebengine_utils as utils
-chrome_src = utils.getChromiumSrcDir()
-
-script_dir = os.path.abspath(os.path.join(chrome_src, 'build'))
-if not os.path.isdir(script_dir):
- print script_dir + " is not a valid directory"
- sys.exit(1)
-root_dir = os.path.normcase(os.path.abspath(os.path.join(os.getcwd(), os.pardir, os.pardir)))
-
-if sys.platform in ('cygwin', 'win32'):
- gnuwin_tools_dir = os.path.normcase(os.path.abspath(os.path.join(qtwebengine_root, "../gnuwin32/bin")))
- if os.path.isdir(gnuwin_tools_dir):
- os.environ['PATH'] = gnuwin_tools_dir + os.pathsep + os.environ['PATH']
-
-sys.path.insert(1, script_dir)
-import gyp_helper
-sys.path.insert(1, os.path.join(chrome_src, 'tools', 'gyp', 'pylib'))
-import gyp
-
-# Add paths so that pymod_do_main(...) can import files.
-sys.path.insert(1, os.path.join(chrome_src, 'tools', 'grit'))
-sys.path.insert(1, os.path.join(chrome_src, 'tools', 'generate_shim_headers'))
-sys.path.insert(1, os.path.join(chrome_src, 'third_party', 'WebKit', 'Source', 'build', 'scripts'))
-
-def additional_include_files(args=[]):
- """
- Returns a list of additional (.gypi) files to include, without
- duplicating ones that are already specified on the command line.
- """
- # Determine the include files specified on the command line.
- # This doesn't cover all the different option formats you can use,
- # but it's mainly intended to avoid duplicating flags on the automatic
- # makefile regeneration which only uses this format.
- specified_includes = set()
- for arg in args:
- if arg.startswith('-I') and len(arg) > 2:
- specified_includes.add(os.path.realpath(arg[2:]))
-
- result = []
- def AddInclude(path):
- if os.path.realpath(path) not in specified_includes:
- result.append(path)
-
- # Always include common.gypi.
- AddInclude(os.path.join(script_dir, 'common.gypi'))
-
- # Include extra gypi files for additional build tweaks such as file exclusions
- # and platform specific drop-in files.
- build_extras = glob.glob(os.path.join(qtwebengine_root, 'src', 'core', '*_extras.gypi'))
- for build in build_extras:
- print "Using extra options found in " + build
- AddInclude(build)
-
- # Include extra gypi files for common stuff we generate and extract from qmake.
- build_extras = glob.glob(os.path.join(output_dir, '*_extras.gypi'))
- for build in build_extras:
- print "Using extra options found in " + build
- AddInclude(build)
-
- # Optionally add supplemental .gypi files if present.
- supplements = glob.glob(os.path.join(chrome_src, '*', 'supplement.gypi'))
- for supplement in supplements:
- AddInclude(supplement)
-
- return result
-
-def purifyGypVarPath(path):
- # Backslash escapings are somehow reduced once every time a variable is resolved
- # Python is able to understand mixed slash paths anyway, so don't use backslashes.
- return path.replace('\\', '/')
-
-if __name__ == '__main__':
- output_dir = sys.argv[1]
- if not os.path.isdir(output_dir):
- os.mkdir(output_dir)
-
- args = sys.argv[2:]
-
- if 'qt_cross_compile=1' in sys.argv:
- os.environ['GYP_CROSSCOMPILE'] = '1'
-
- sysroot = 'sysroot='
- for opt in sys.argv:
- if opt.startswith(sysroot):
- os.environ['PKG_CONFIG_SYSROOT_DIR'] = opt[len(sysroot):]
-
- gyp_helper.apply_chromium_gyp_env()
-
- # This could give false positives since it doesn't actually do real option
- # parsing. Oh well.
- gyp_file_specified = False
- for arg in args:
- if arg.endswith('.gyp'):
- gyp_file_specified = True
- break
-
- if not gyp_file_specified:
- args.append(os.path.join(root_dir, 'src/core/resources/resources.gyp'))
- args.append(os.path.join(output_dir, 'core_generated.gyp'))
-
- args.extend(['-I' + i for i in additional_include_files(args)])
-
- # We always have to disable tcmalloc.
- # Allocating with tcmalloc in chromium code and freeing without
- # tcmalloc outside of chromium code would cause erratic behavior.
- args.extend(['-D', 'use_allocator=none'])
-
- # On Mac we want to build in x64 mode. And we want to use libc++.
- if sys.platform in ('darwin',) and not 'GYP_CROSSCOMPILE' in os.environ:
- args.extend(['-D', 'host_arch=x64', '-D', 'use_libcpp=1'])
-
- # There shouldn't be a circular dependency relationship between .gyp files,
- # but in Chromium's .gyp files, on non-iOS platforms, circular relationships
- # currently exist. The check for circular dependencies is currently
- # bypassed on other platforms, but is left enabled on iOS, where a violation
- # of the rule causes Xcode to misbehave badly.
- # TODO(mark): Find and kill remaining circular dependencies, and remove this
- # option. http://crbug.com/35878.
- # TODO(tc): Fix circular dependencies in ChromiumOS then add linux2 to the
- # list.
- args.append('--no-circular-check')
-
- # libtool on Mac warns about duplicate basenames in static libraries, so
- # they're disallowed in general by gyp. We are lax on this point, so disable
- # this check other than on Mac. GN does not use static libraries as heavily,
- # so over time this restriction will mostly go away anyway, even on Mac.
- # https://code.google.com/p/gyp/issues/detail?id=384
- if sys.platform != 'darwin':
- args.append('--no-duplicate-basename-check')
-
- args.extend(['-D', 'webkit_src_dir=' + chrome_src + '/third_party/WebKit'])
- # the top_level source directory is the first common ancestor of our module and the chromium source tree for the build to be sane.
- # commonprefix works on a character basis, so it might return a phony common prefix (not the common parent directory we expect),
- toplevel= os.path.commonprefix([root_dir, chrome_src])
- if not os.path.exists(toplevel):
- toplevel = os.path.join(toplevel, os.pardir)
- args.extend(["--toplevel-dir=" + purifyGypVarPath(toplevel)])
- # Chromium specific Hack: for Chromium to build, the depth has to be set to the chromium src dir.
- args.extend(["--depth=" + purifyGypVarPath(chrome_src)])
- args.extend(['-D', 'qtwebengine_root=' + purifyGypVarPath(qtwebengine_root)])
- args.extend(['-D', 'chromium_src_dir=' + purifyGypVarPath(chrome_src)])
-
- # Tweak the output location and format (hardcode ninja for now if not set)
- args.extend(['--generator-output', '.'])
- args.extend(['-Goutput_dir='+ purifyGypVarPath(os.path.relpath(output_dir, qtwebengine_root))])
-
- # Tell gyp not to try finding cl.exe on Windows, Qt already requires the env to be set prior to the build.
- args.extend(['-G', 'ninja_use_custom_environment_files'])
-
- if not os.environ.get('GYP_GENERATORS'):
- args.extend(['--format=ninja'])
- if "QTWEBENGINE_GYP_DEBUG" in os.environ:
- args.append("--check")
- args.append("-d all")
- print args
- ret_code = gyp.main(args)
- sys.exit(ret_code)
-
- ###################################
-
- print 'Updating projects from gyp files...'
- #sys.stdout.flush()
-
- # Off we go...
- sys.exit(gyp.main(args))
diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf
index 9caa1aa68..c61cf7ebe 100644
--- a/tools/qmake/mkspecs/features/configure.prf
+++ b/tools/qmake/mkspecs/features/configure.prf
@@ -41,11 +41,7 @@ defineTest(runConfigure) {
}
isQtMinimum(5, 9) {
qtConfig(appstore-compliant): WEBENGINE_CONFIG += use_appstore_compliant_code
- linux: WEBENGINE_CONFIG += use_gn
- macos: WEBENGINE_CONFIG += use_gn
- win32: WEBENGINE_CONFIG += use_gn
}
- !use?(gn): skipBuild("Chromium 55 and new can only be built with GN")
linux {
QT_FOR_CONFIG += gui-private
@@ -110,6 +106,8 @@ defineTest(runConfigure) {
!contains(WEBENGINE_CONFIG, embedded_build) {
packagesExist(nss): WEBENGINE_CONFIG += use_nss
else: log("System NSS not found, BoringSSL will be used.$${EOL}")
+ } else {
+ WEBENGINE_CONFIG *= reduce_binary_size
}
}