summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-02-04 17:12:08 +0100
committerMichal Klocek <michal.klocek@qt.io>2021-05-12 09:41:01 +0200
commitd240e6647d48a87db324973e649c2b0aea5a6857 (patch)
treeb8517474be153b5c4a631f08b9fb104a52cbb49a /src
parent5cf3eaa127b4633b46e1d6b70eb42253464bcd97 (diff)
Add BUILD.gn generation for the gn root and gn toolchain
Use simple templates. This will get own target in followup changes. Task-number: QTBUG-91760 Change-Id: I0b6991f7b54183aa9fb667cec5ad347f66c78b99 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/core/CMakeLists.txt4
-rw-r--r--src/core/configure/BUILD.root.gn.in516
-rw-r--r--src/core/configure/BUILD.toolchain.gn.in43
-rw-r--r--src/core/generator.cmake263
4 files changed, 826 insertions, 0 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index cbec0aa13..bdb937e19 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -26,6 +26,10 @@ find_package(Python2 REQUIRED)
qt_build_repo_begin()
+include(generator.cmake)
+configure_file(${PROJECT_SOURCE_DIR}/configure/BUILD.toolchain.gn.in ${buildDir}/toolchain/BUILD.gn @ONLY)
+configure_file(${PROJECT_SOURCE_DIR}/configure/BUILD.root.gn.in ${buildDir}/BUILD.gn @ONLY)
+
get_target_property(gnCmd Gn::gn IMPORTED_LOCATION)
set(gnArg help)
diff --git a/src/core/configure/BUILD.root.gn.in b/src/core/configure/BUILD.root.gn.in
new file mode 100644
index 000000000..116c6bbeb
--- /dev/null
+++ b/src/core/configure/BUILD.root.gn.in
@@ -0,0 +1,516 @@
+import("//build/config/features.gni")
+import("//build/config/ui.gni")
+import("//chrome/common/features.gni")
+import("//components/spellcheck/spellcheck_build_features.gni")
+import("//pdf/features.gni")
+import("//ppapi/buildflags/buildflags.gni")
+import("//printing/buildflags/buildflags.gni")
+import("//extensions/buildflags/buildflags.gni")
+import("//tools/grit/repack.gni")
+import("//build/config/locales.gni")
+import("//chrome/chrome_repack_locales.gni")
+import("//extensions/buildflags/buildflags.gni")
+
+moc_source_h_files = exec_script("@WEBENGINE_ROOT_SOURCE_DIR@/tools/scripts/gn_find_mocables.py",
+ [
+ @GN_HEADERS@
+ ], "list lines", ["@WEBENGINE_ROOT_SOURCE_DIR@/src/core/CMakeLists.txt"]
+)
+moc_source_cpp_files = exec_script("@WEBENGINE_ROOT_SOURCE_DIR@/tools/scripts/gn_find_mocables.py",
+ [
+ @GN_SOURCES@
+ ], "list lines", ["@WEBENGINE_ROOT_SOURCE_DIR@/src/core/CMakeLists.txt"]
+)
+if (moc_source_h_files != []) {
+ action_foreach("generate_h_mocs") {
+ script = "@WEBENGINE_ROOT_SOURCE_DIR@/tools/scripts/gn_run_binary.py"
+ sources = moc_source_h_files
+ outputs = [ "${target_gen_dir}/.moc/moc_{{source_name_part}}.cpp" ]
+ inputs = [ "@WEBENGINE_ROOT_SOURCE_DIR@/CMakeLists.txt" ]
+ args = [
+ @GN_ARGS_MOC_BIN@,
+ @GN_ARGS_DEFINES@,
+ @GN_ARGS_INCLUDES@,
+ "{{source}}",
+ "-o",
+ rebase_path("${target_gen_dir}/.moc/moc_{{source_name_part}}.cpp")
+ ]
+ }
+}
+
+if (moc_source_cpp_files != []) {
+ action_foreach("generate_cpp_mocs") {
+ script = "@WEBENGINE_ROOT_SOURCE_DIR@/tools/scripts/gn_run_binary.py"
+ sources = moc_source_cpp_files
+ outputs = [ "${target_gen_dir}/.moc/{{source_name_part}}.moc" ]
+ inputs = [ "@WEBENGINE_ROOT_SOURCE_DIR@/src/core/CMakeLists.txt" ]
+ args = [
+ @GN_ARGS_MOC_BIN@,
+ @GN_ARGS_DEFINES@,
+ @GN_ARGS_INCLUDES@,
+ "{{source}}",
+ "-o",
+ rebase_path("${target_gen_dir}/.moc/{{source_name_part}}.moc")
+ ]
+ }
+}
+
+config("QtWebEngineCore_config") {
+ cflags = [
+ @GN_CFLAGS_C@,
+ ]
+ cflags_cc = [
+ @GN_CFLAGS_CC@,
+ ]
+ defines = [
+ @GN_DEFINES@,
+ ]
+ include_dirs = [
+ @GN_INCLUDE_DIRS@,
+ rebase_path("${target_gen_dir}/.moc/")
+ ]
+}
+
+config("cpp17_config") {
+ # static initialized constexpr expressions must be compiled always as c++14 or always as c++17
+ # and our qtwebengine core sources use them as c++17
+ if (is_win) {
+ cflags_cc = [ "/std:c++17" ]
+ } else {
+ cflags_cc = [ "-std=c++17" ]
+ }
+}
+
+shared_library("QtWebEngineCore") {
+ cmake_config = "@GN_CONFIG@"
+ import("@WEBENGINE_ROOT_SOURCE_DIR@/src/core/qtwebengine.gni")
+ configs += [
+ ":cpp17_config",
+ ":QtWebEngineCore_config",
+ "//build/config:precompiled_headers"
+ ]
+ sources = [
+ @GN_HEADERS@,
+ @GN_SOURCES@
+ ]
+ if (moc_source_h_files != []) {
+ deps += [
+ ":generate_h_mocs",
+ ]
+ sources += get_target_outputs(":generate_h_mocs")
+ }
+ if (moc_source_cpp_files != []) {
+ deps += [
+ ":generate_cpp_mocs",
+ ]
+ }
+}
+
+source_set("qtwebengine_spellcheck_sources") {
+ include_dirs = [ "@WEBENGINE_ROOT_SOURCE_DIR@/src/core/service" ]
+ configs += [ "//third_party/boringssl:external_config" ]
+ sources = [
+ "//chrome/browser/spellchecker/spell_check_host_chrome_impl.cc",
+ "//chrome/browser/spellchecker/spell_check_host_chrome_impl.h",
+ "//chrome/browser/spellchecker/spellcheck_custom_dictionary.cc",
+ "//chrome/browser/spellchecker/spellcheck_custom_dictionary.h",
+ "//chrome/browser/spellchecker/spellcheck_factory.cc",
+ "//chrome/browser/spellchecker/spellcheck_factory.h",
+ "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc",
+ "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h",
+ "//chrome/browser/spellchecker/spellcheck_service.cc",
+ "//chrome/browser/spellchecker/spellcheck_service.h",
+ "//components/language/core/browser/pref_names.cc",
+ "//components/language/core/browser/pref_names.h",
+ ]
+ deps = [
+ "//components/spellcheck/browser",
+ "//components/spellcheck/renderer",
+ "//third_party/blink/public:blink",
+ "//third_party/hunspell",
+ ]
+ if (is_mac && use_browser_spellchecker) {
+ sources += [
+ "//chrome/browser/spellchecker/spell_check_host_chrome_impl_mac.cc",
+ ]
+ }
+}
+
+source_set("qtwebengine_sources") {
+ configs += [
+ ":cpp17_config",
+ "//skia:skia_config",
+ "//third_party/boringssl:external_config",
+ ]
+ deps = [
+ "//build:branding_buildflags",
+ "//chrome/browser/resources/quota_internals:quota_internals_resources",
+ "//chrome/common:buildflags",
+ "//components/nacl/common:buildflags",
+ "//components/performance_manager",
+ "//components/plugins/renderer/",
+ "//extensions/buildflags:buildflags",
+ "//rlz/buildflags:buildflags",
+ "//third_party/blink/public/mojom:mojom_platform",
+ ]
+ sources = [
+ "//chrome/browser/accessibility/accessibility_ui.cc",
+ "//chrome/browser/accessibility/accessibility_ui.h",
+ "//chrome/browser/custom_handlers/protocol_handler_registry.cc",
+ "//chrome/browser/custom_handlers/protocol_handler_registry.h",
+ "//chrome/browser/custom_handlers/protocol_handler_registry_factory.cc",
+ "//chrome/browser/custom_handlers/protocol_handler_registry_factory.h",
+ "//chrome/browser/devtools/devtools_eye_dropper.cc",
+ "//chrome/browser/devtools/devtools_eye_dropper.h",
+ "//chrome/browser/media/webrtc/desktop_media_list.h",
+ "//chrome/browser/net/chrome_mojo_proxy_resolver_factory.cc",
+ "//chrome/browser/net/chrome_mojo_proxy_resolver_factory.h",
+ "//chrome/browser/prefs/chrome_command_line_pref_store.cc",
+ "//chrome/browser/prefs/chrome_command_line_pref_store.h",
+ "//chrome/browser/profiles/profile.cc",
+ "//chrome/browser/profiles/profile.h",
+ "//chrome/browser/tab_contents/form_interaction_tab_helper.cc",
+ "//chrome/browser/tab_contents/form_interaction_tab_helper.h",
+ "//chrome/browser/ui/webui/devtools_ui.cc",
+ "//chrome/browser/ui/webui/devtools_ui.h",
+ "//chrome/browser/ui/webui/devtools_ui_data_source.cc",
+ "//chrome/browser/ui/webui/devtools_ui_data_source.h",
+ "//chrome/browser/ui/webui/net_internals/net_internals_ui.cc",
+ "//chrome/browser/ui/webui/net_internals/net_internals_ui.h",
+ "//chrome/browser/ui/webui/quota_internals/quota_internals_handler.cc",
+ "//chrome/browser/ui/webui/quota_internals/quota_internals_handler.h",
+ "//chrome/browser/ui/webui/quota_internals/quota_internals_proxy.cc",
+ "//chrome/browser/ui/webui/quota_internals/quota_internals_proxy.h",
+ "//chrome/browser/ui/webui/quota_internals/quota_internals_types.cc",
+ "//chrome/browser/ui/webui/quota_internals/quota_internals_types.h",
+ "//chrome/browser/ui/webui/quota_internals/quota_internals_ui.cc",
+ "//chrome/browser/ui/webui/quota_internals/quota_internals_ui.h",
+ "//chrome/browser/ui/webui/user_actions/user_actions_ui.cc",
+ "//chrome/browser/ui/webui/user_actions/user_actions_ui.h",
+ "//chrome/browser/ui/webui/user_actions/user_actions_ui_handler.cc",
+ "//chrome/browser/ui/webui/user_actions/user_actions_ui_handler.h",
+ "//chrome/common/custom_handlers/protocol_handler.cc",
+ "//chrome/common/custom_handlers/protocol_handler.h",
+ "//chrome/browser/ui/webui/webui_util.cc",
+ "//chrome/browser/ui/webui/webui_util.h",
+ "//chrome/common/chrome_switches.cc",
+ "//chrome/common/chrome_switches.h",
+ "//chrome/common/pref_names.cc",
+ "//chrome/common/pref_names.h",
+ "//chrome/common/url_constants.cc",
+ "//chrome/common/url_constants.h",
+ "//chrome/common/webui_url_constants.cc",
+ "//chrome/common/webui_url_constants.h",
+ ]
+ if (enable_extensions) {
+ deps += [
+ ":qtwebengine_extensions_features",
+ "//chrome/app:generated_resources",
+ "//chrome/browser/extensions/api:api_registration",
+ "//chrome/browser/resources:component_extension_resources_grit",
+ "//chrome/common/extensions/api",
+ "//chrome/common/extensions/api:api",
+ "//chrome/common/extensions/api:extensions_features",
+ "//components/crx_file",
+ "//components/crx_file:crx_creator",
+ "//components/spellcheck:buildflags",
+ "//extensions/buildflags:buildflags",
+ "//extensions/common",
+ "//extensions/common/api",
+ "//extensions/common:core_api_provider",
+ "//extensions/browser",
+ "//extensions/browser/api",
+ "//extensions/browser:core_api_provider",
+ "//extensions/renderer",
+ "//extensions:extensions_resources",
+ "//extensions/strings",
+ "//qtwebengine/browser/extensions/api:api_registration",
+ "//qtwebengine/common/extensions/api:api",
+ ]
+ sources += [
+ "//chrome/browser/extensions/api/streams_private/streams_private_api.cc",
+ "//chrome/browser/extensions/api/streams_private/streams_private_api.h",
+ "//chrome/browser/extensions/api/enterprise_hardware_platform/enterprise_hardware_platform_api.cc",
+ "//chrome/browser/extensions/api/enterprise_hardware_platform/enterprise_hardware_platform_api.h",
+ "//chrome/common/extensions/permissions/chrome_api_permissions.cc",
+ "//chrome/common/extensions/permissions/chrome_api_permissions.h",
+ "//chrome/common/extensions/permissions/chrome_permission_message_provider.cc",
+ "//chrome/common/extensions/permissions/chrome_permission_message_provider.h",
+ "//chrome/common/extensions/permissions/chrome_permission_message_rules.cc",
+ "//chrome/common/extensions/permissions/chrome_permission_message_rules.h",
+ ]
+ } else {
+ deps += [
+ "//extensions/common:common_constants",
+ ]
+ sources += [
+ "//extensions/common/url_pattern.cc",
+ "//extensions/common/url_pattern.h",
+ ]
+ }
+ if (is_linux) {
+ sources += [
+ "//chrome/browser/ui/webui/sandbox/sandbox_internals_ui.cc",
+ "//chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h",
+ ]
+ }
+ if (enable_spellcheck) {
+ deps += [
+ ":qtwebengine_spellcheck_sources",
+ "//chrome/tools/convert_dict",
+ ]
+ }
+ if (enable_plugins) {
+ sources += [
+ "//chrome/renderer/pepper/pepper_flash_font_file_host.cc",
+ "//chrome/renderer/pepper/pepper_flash_font_file_host.h",
+ "//chrome/renderer/pepper/pepper_shared_memory_message_filter.cc",
+ "//chrome/renderer/pepper/pepper_shared_memory_message_filter.h",
+ ]
+ }
+ if (enable_basic_printing || enable_print_preview) {
+ sources += [
+ "//chrome/browser/printing/printer_query.cc",
+ "//chrome/browser/printing/printer_query.h",
+ "//chrome/browser/printing/print_job.cc",
+ "//chrome/browser/printing/print_job.h",
+ "//chrome/browser/printing/print_job_manager.cc",
+ "//chrome/browser/printing/print_job_manager.h",
+ "//chrome/browser/printing/print_job_worker.cc",
+ "//chrome/browser/printing/print_job_worker.h",
+ ]
+ deps += [
+ "//printing/buildflags:buildflags",
+ ]
+ }
+ if (enable_pdf) {
+ deps += [
+ "//pdf",
+ "//pdf:buildflags",
+ "//pdf:pdf_ppapi",
+ "//components/pdf/browser:browser",
+ "//components/pdf/renderer:renderer",
+ "//components/printing/browser",
+ "//components/printing/renderer",
+ ]
+ }
+
+ if (enable_webrtc && enable_extensions) {
+ deps += [
+ "//chrome/browser/resources/media:webrtc_logs_resources",
+ "//components/upload_list",
+ "//components/webrtc_logging/browser",
+ "//components/webrtc_logging/common",
+ ]
+
+ sources += [
+ "//chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc",
+ "//chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.h",
+ "//chrome/browser/media/webrtc/audio_debug_recordings_handler.cc",
+ "//chrome/browser/media/webrtc/audio_debug_recordings_handler.h",
+ "//chrome/browser/media/webrtc/webrtc_event_log_history.cc",
+ "//chrome/browser/media/webrtc/webrtc_event_log_history.h",
+ "//chrome/browser/media/webrtc/webrtc_event_log_manager.cc",
+ "//chrome/browser/media/webrtc/webrtc_event_log_manager.h",
+ "//chrome/browser/media/webrtc/webrtc_event_log_manager_common.cc",
+ "//chrome/browser/media/webrtc/webrtc_event_log_manager_common.h",
+ "//chrome/browser/media/webrtc/webrtc_event_log_manager_local.cc",
+ "//chrome/browser/media/webrtc/webrtc_event_log_manager_local.h",
+ "//chrome/browser/media/webrtc/webrtc_event_log_manager_remote.cc",
+ "//chrome/browser/media/webrtc/webrtc_event_log_manager_remote.h",
+ "//chrome/browser/media/webrtc/webrtc_event_log_uploader.cc",
+ "//chrome/browser/media/webrtc/webrtc_event_log_uploader.h",
+ "//chrome/browser/media/webrtc/webrtc_log_buffer.cc",
+ "//chrome/browser/media/webrtc/webrtc_log_buffer.h",
+ "//chrome/browser/media/webrtc/webrtc_log_uploader.cc",
+ "//chrome/browser/media/webrtc/webrtc_log_uploader.h",
+ "//chrome/browser/media/webrtc/webrtc_logging_controller.cc",
+ "//chrome/browser/media/webrtc/webrtc_logging_controller.h",
+ "//chrome/browser/media/webrtc/webrtc_rtp_dump_handler.cc",
+ "//chrome/browser/media/webrtc/webrtc_rtp_dump_handler.h",
+ "//chrome/browser/media/webrtc/webrtc_rtp_dump_writer.cc",
+ "//chrome/browser/media/webrtc/webrtc_rtp_dump_writer.h",
+ "//chrome/browser/media/webrtc/webrtc_text_log_handler.cc",
+ "//chrome/browser/media/webrtc/webrtc_text_log_handler.h",
+ "//chrome/browser/ui/webui/media/webrtc_logs_ui.cc",
+ "//chrome/browser/ui/webui/media/webrtc_logs_ui.h",
+ "//chrome/renderer/media/webrtc_logging_agent_impl.cc",
+ "//chrome/renderer/media/webrtc_logging_agent_impl.h",
+ ]
+ }
+}
+
+if (is_win) {
+ shared_library("qtwebengine_sandbox_win") {
+ cmake_config = "@GN_CONFIG@"
+ public_deps = [ "//sandbox/win:sandbox" ]
+ }
+}
+
+group("qtwebengine_resources") {
+ deps = [
+ "//chrome/app:generated_resources",
+ "//chrome/browser:resources",
+ "//chrome/browser/resources:component_extension_resources",
+ "//chrome/common:resources",
+ "//components/resources:components_resources",
+ ":qtwebengine_repack_resources",
+ ":qtwebengine_repack_resources_100",
+ ":qtwebengine_repack_resources_200",
+ ":qtwebengine_repack_resources_devtools",
+ ":qtwebengine_repack_locales_pack"
+ ]
+}
+
+repack("qtwebengine_repack_resources") {
+ sources = [
+ "$root_gen_dir/qtwebengine/qt_webengine_resources.pak",
+ "$root_gen_dir/chrome/common_resources.pak",
+ "$root_gen_dir/chrome/net_internals_resources.pak",
+ "$root_gen_dir/chrome/quota_internals_resources.pak",
+ "$root_gen_dir/components/components_resources.pak",
+ "$root_gen_dir/components/dev_ui_components_resources.pak",
+ "$root_gen_dir/content/browser/resources/media/media_internals_resources.pak",
+ "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
+ "$root_gen_dir/content/content_resources.pak",
+ "$root_gen_dir/content/dev_ui_content_resources.pak",
+ "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
+ "$root_gen_dir/net/net_resources.pak",
+ "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
+ "$root_gen_dir/ui/resources/webui_resources.pak",
+ "$root_gen_dir/ui/resources/webui_generated_resources.pak",
+ ]
+ output = "$root_out_dir/qtwebengine_resources.pak"
+ deps = [
+ "//qtwebengine/browser:qt_webengine_resources",
+ "//chrome/browser/resources/net_internals:net_internals_resources",
+ "//chrome/browser/resources/quota_internals:quota_internals_resources",
+ "//chrome/common:resources_grit",
+ "//components/resources:components_resources_grit",
+ "//components/resources:dev_ui_components_resources_grit",
+ "//content/browser/resources/media:media_internals_resources",
+ "//content/browser/tracing:resources",
+ "//content:content_resources_grit",
+ "//content:dev_ui_content_resources_grit",
+ "//mojo/public/js:resources",
+ "//net:net_resources_grit",
+ "//third_party/blink/public:resources_grit",
+ "//ui/resources:webui_resources_grd_grit",
+ "//ui/resources:webui_generated_resources_grd",
+ ]
+ if (enable_extensions) {
+ sources += [
+ "$root_gen_dir/chrome/component_extension_resources.pak",
+ "$root_gen_dir/extensions/extensions_renderer_resources.pak",
+ "$root_gen_dir/extensions/extensions_resources.pak",
+ ]
+ deps += [
+ "//chrome/browser/resources:component_extension_resources_grit",
+ "//extensions:extensions_renderer_resources_grit",
+ "//extensions:extensions_resources_grd_grit",
+ ]
+ }
+ if (enable_webrtc) {
+ sources += [
+ "$root_gen_dir/content/browser/webrtc/resources/webrtc_internals_resources.pak",
+ ]
+ deps += [
+ "//content/browser/webrtc/resources",
+ ]
+ }
+}
+
+repack("qtwebengine_repack_resources_100") {
+ sources = [
+ "$root_gen_dir/chrome/renderer_resources_100_percent.pak",
+ "$root_gen_dir/components/components_resources_100_percent.pak",
+ "$root_gen_dir/content/app/resources/content_resources_100_percent.pak",
+ "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_100_percent.pak",
+ "$root_gen_dir/ui/resources/ui_resources_100_percent.pak",
+ ]
+ output = "$root_out_dir/qtwebengine_resources_100p.pak"
+ deps = [
+ "//chrome/renderer:resources_grit",
+ "//components/resources:components_scaled_resources_grit",
+ "//content/app/resources:resources_grit",
+ "//third_party/blink/public:scaled_resources_100_percent",
+ "//ui/resources:ui_resources_grd_grit"
+ ]
+ if (enable_extensions) {
+ sources += [
+ "$root_gen_dir/extensions/extensions_browser_resources_100_percent.pak"
+ ]
+ deps += [
+ "//extensions:extensions_browser_resources_grit"
+ ]
+ }
+}
+
+repack("qtwebengine_repack_resources_200") {
+ sources = [
+ "$root_gen_dir/chrome/renderer_resources_200_percent.pak",
+ "$root_gen_dir/components/components_resources_200_percent.pak",
+ "$root_gen_dir/content/app/resources/content_resources_200_percent.pak",
+ "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_200_percent.pak",
+ "$root_gen_dir/ui/resources/ui_resources_200_percent.pak",
+ ]
+ output = "$root_out_dir/qtwebengine_resources_200p.pak"
+ deps = [
+ "//chrome/renderer:resources_grit",
+ "//components/resources:components_scaled_resources_grit",
+ "//content/app/resources:resources_grit",
+ "//third_party/blink/public:scaled_resources_200_percent",
+ "//ui/resources:ui_resources_grd_grit"
+ ]
+ if (enable_extensions) {
+ sources += [
+ "$root_gen_dir/extensions/extensions_browser_resources_200_percent.pak"
+ ]
+ deps += [
+ "//extensions:extensions_browser_resources_grit"
+ ]
+ }
+}
+
+repack("qtwebengine_repack_resources_devtools") {
+ sources = [
+ "$root_gen_dir/content/browser/devtools/devtools_resources.pak",
+ ]
+ output = "$root_out_dir/qtwebengine_devtools_resources.pak"
+ deps = [
+ "//content/browser/devtools:devtools_resources_grit",
+ ]
+}
+
+chrome_repack_locales("qtwebengine_repack_locales_pack") {
+ input_locales = locales
+ output_dir = "$root_out_dir/qtwebengine_locales"
+ output_locales = locales
+}
+
+if (enable_extensions) {
+ import("//tools/json_schema_compiler/json_features.gni")
+ json_features("qt_api_features") {
+ feature_type = "APIFeature"
+ method_name = "AddQtAPIFeatures"
+ sources = [
+ "//extensions/common/api/_webengine_api_features.json"
+ ]
+ }
+ json_features("qt_permission_features") {
+ feature_type = "PermissionFeature"
+ method_name = "AddQtPermissionFeatures"
+ sources = [
+ "//chrome/common/extensions/api/_permission_features.json",
+ "//extensions/common/api/_permission_features.json",
+ ]
+ }
+ group("qtwebengine_extensions_features") {
+ public_deps = [
+ ":qt_api_features",
+ ":qt_permission_features",
+ "//chrome/common/extensions/api:extensions_features",
+ "//extensions/common/api:extensions_features",
+ ]
+ }
+}
diff --git a/src/core/configure/BUILD.toolchain.gn.in b/src/core/configure/BUILD.toolchain.gn.in
new file mode 100644
index 000000000..e44fa42de
--- /dev/null
+++ b/src/core/configure/BUILD.toolchain.gn.in
@@ -0,0 +1,43 @@
+import("//build/config/sysroot.gni")
+import("//build/toolchain/gcc_toolchain.gni")
+gcc_toolchain("host") {
+ cc = "@CMAKE_C_COMPILER@"
+ cxx = "@CMAKE_CXX_COMPILER@"
+ ld = "@CMAKE_CXX_COMPILER@"
+ ar = "@CMAKE_AR@"
+ nm = "@CMAKE_NM@"
+ extra_cppflags = ""
+ toolchain_args = {
+ current_os = "linux"
+ current_cpu = "x64"
+ is_clang = false
+ use_gold = false
+ }
+}
+gcc_toolchain("v8_snapshot") {
+ cc = "@CMAKE_C_COMPILER@"
+ cxx = "@CMAKE_CXX_COMPILER@"
+ ld = "@CMAKE_CXX_COMPILER@"
+ ar = "@CMAKE_AR@"
+ nm = "@CMAKE_NM@"
+ toolchain_args = {
+ current_os = "linux"
+ current_cpu = "x64"
+ v8_current_cpu = "x64"
+ is_clang = false
+ use_gold = false
+ }
+ }
+gcc_toolchain("target") {
+ cc = "@CMAKE_C_COMPILER@"
+ cxx = "@CMAKE_CXX_COMPILER@"
+ ld = "@CMAKE_CXX_COMPILER@"
+ ar = "@CMAKE_AR@"
+ nm = "@CMAKE_NM@"
+ toolchain_args = {
+ current_os = "linux"
+ current_cpu = "x64"
+ is_clang = false
+ use_gold = false
+ }
+}
diff --git a/src/core/generator.cmake b/src/core/generator.cmake
new file mode 100644
index 000000000..60042fb97
--- /dev/null
+++ b/src/core/generator.cmake
@@ -0,0 +1,263 @@
+set(GN_DEFINES QT_NO_KEYWORDS
+ QT_USE_QSTRINGBUILDER
+ QTWEBENGINECORE_VERSION_STR=\\\"${QT_REPO_MODULE_VERSION}\\\"
+ QTWEBENGINEPROCESS_NAME=\\\"${QTWEBENGINEPROCESS_NAME}\\\"
+ BUILDING_CHROMIUM)
+
+set(GN_SOURCES_IN
+ accessibility_activation_observer.cpp
+ accessibility_tree_formatter_qt.cpp
+ authentication_dialog_controller.cpp
+ browser_accessibility_manager_qt.cpp
+ browser_accessibility_qt.cpp
+ browsing_data_remover_delegate_qt.cpp
+ browser_main_parts_qt.cpp
+ browser_message_filter_qt.cpp
+ certificate_error_controller.cpp
+ chromium_overrides.cpp
+ client_cert_select_controller.cpp
+ clipboard_qt.cpp
+ color_chooser_qt.cpp
+ color_chooser_controller.cpp
+ common/qt_ipc_logging.cpp
+ common/qt_messages.cpp
+ compositor/compositor.cpp
+ compositor/content_gpu_client_qt.cpp
+ compositor/display_overrides.cpp
+ compositor/display_software_output_surface.cpp
+ content_client_qt.cpp
+ content_browser_client_qt.cpp
+ content_main_delegate_qt.cpp
+ content_utility_client_qt.cpp
+ delegated_frame_host_client_qt.cpp
+ desktop_screen_qt.cpp
+ devtools_frontend_qt.cpp
+ devtools_manager_delegate_qt.cpp
+ download_manager_delegate_qt.cpp
+ favicon_manager.cpp
+ file_picker_controller.cpp
+ find_text_helper.cpp
+ javascript_dialog_controller.cpp
+ javascript_dialog_manager_qt.cpp
+ login_delegate_qt.cpp
+ media_capture_devices_dispatcher.cpp
+ native_web_keyboard_event_qt.cpp
+ net/client_cert_override.cpp
+ net/client_cert_store_data.cpp
+ net/cookie_monster_delegate_qt.cpp
+ net/custom_url_loader_factory.cpp
+ net/proxy_config_monitor.cpp
+ net/proxy_config_service_qt.cpp
+ net/proxying_url_loader_factory_qt.cpp
+ net/proxying_restricted_cookie_manager_qt.cpp
+ net/qrc_url_scheme_handler.cpp
+ net/ssl_host_state_delegate_qt.cpp
+ net/system_network_context_manager.cpp
+ net/url_request_custom_job_delegate.cpp
+ net/url_request_custom_job_proxy.cpp
+ net/webui_controller_factory_qt.cpp
+ ozone/gl_context_qt.cpp
+ ozone/gl_share_context_qt.cpp
+ ozone/gl_ozone_egl_qt.cpp
+ ozone/gl_surface_qt.cpp
+ ozone/gl_surface_egl_qt.cpp
+ ozone/gl_surface_wgl_qt.cpp
+ ozone/platform_window_qt.cpp
+ ozone/surface_factory_qt.cpp
+ permission_manager_qt.cpp
+ platform_notification_service_qt.cpp
+ process_main.cpp
+ profile_adapter.cpp
+ profile_adapter_client.cpp
+ profile_qt.cpp
+ profile_io_data_qt.cpp
+ quota_permission_context_qt.cpp
+ quota_request_controller_impl.cpp
+ pref_service_adapter.cpp
+ register_protocol_handler_request_controller_impl.cpp
+ render_view_context_menu_qt.cpp
+ render_widget_host_view_qt.cpp
+ render_widget_host_view_qt_delegate_client.cpp
+ renderer/content_renderer_client_qt.cpp
+ renderer/content_settings_observer_qt.cpp
+ renderer/render_frame_observer_qt.cpp
+ renderer/web_engine_page_render_frame.cpp
+ renderer/render_configuration.cpp
+ renderer/user_resource_controller.cpp
+ renderer/plugins/plugin_placeholder_qt.cpp
+ renderer_host/web_engine_page_host.cpp
+ renderer_host/user_resource_controller_host.cpp
+ resource_bundle_qt.cpp
+ resource_context_qt.cpp
+ touch_handle_drawable_qt.cpp
+ touch_selection_controller_client_qt.cpp
+ touch_selection_menu_controller.cpp
+ type_conversion.cpp
+ user_notification_controller.cpp
+ user_script.cpp
+ visited_links_manager_qt.cpp
+ web_contents_adapter.cpp
+ web_contents_delegate_qt.cpp
+ web_contents_view_qt.cpp
+ web_engine_context.cpp
+ web_engine_context_threads.cpp
+ web_engine_error.cpp
+ web_engine_library_info.cpp
+ web_engine_settings.cpp
+ web_event_factory.cpp
+ ozone/gl_surface_glx_qt.cpp
+ ozone/gl_ozone_glx_qt.cpp
+ compositor/compositor_resource_fence.cpp
+ compositor/display_gl_output_surface.cpp)
+
+set(GN_HEADERS_IN
+ accessibility_activation_observer.h
+ authentication_dialog_controller_p.h
+ authentication_dialog_controller.h
+ build_config_qt.h
+ browser_accessibility_manager_qt.h
+ browser_accessibility_qt.h
+ browsing_data_remover_delegate_qt.h
+ browser_main_parts_qt.h
+ browser_message_filter_qt.h
+ certificate_error_controller.h
+ client_cert_select_controller.h
+ clipboard_change_observer.h
+ clipboard_qt.h
+ color_chooser_qt.h
+ color_chooser_controller_p.h
+ color_chooser_controller.h
+ common/qt_messages.h
+ compositor/compositor.h
+ compositor/content_gpu_client_qt.h
+ compositor/display_software_output_surface.h
+ content_client_qt.h
+ content_browser_client_qt.h
+ content_main_delegate_qt.h
+ content_utility_client_qt.h
+ delegated_frame_host_client_qt.h
+ desktop_screen_qt.h
+ devtools_frontend_qt.h
+ devtools_manager_delegate_qt.h
+ download_manager_delegate_qt.h
+ favicon_manager.h
+ file_picker_controller.h
+ find_text_helper.h
+ global_descriptors_qt.h
+ javascript_dialog_controller_p.h
+ javascript_dialog_controller.h
+ javascript_dialog_manager_qt.h
+ login_delegate_qt.h
+ media_capture_devices_dispatcher.h
+ net/client_cert_override.h
+ net/client_cert_store_data.h
+ net/cookie_monster_delegate_qt.h
+ net/custom_url_loader_factory.h
+ net/proxying_url_loader_factory_qt.h
+ net/proxying_restricted_cookie_manager_qt.h
+ net/qrc_url_scheme_handler.h
+ net/ssl_host_state_delegate_qt.h
+ net/system_network_context_manager.h
+ net/url_request_custom_job_delegate.h
+ net/url_request_custom_job_proxy.h
+ net/webui_controller_factory_qt.h
+ ozone/gl_context_qt.h
+ ozone/gl_share_context_qt.h
+ ozone/gl_ozone_egl_qt.h
+ ozone/gl_surface_qt.h
+ ozone/gl_surface_egl_qt.h
+ ozone/gl_surface_wgl_qt.h
+ ozone/platform_window_qt.h
+ ozone/surface_factory_qt.h
+ permission_manager_qt.h
+ platform_notification_service_qt.h
+ pref_service_adapter.h
+ process_main.h
+ profile_adapter.h
+ profile_adapter_client.h
+ profile_qt.h
+ profile_io_data_qt.h
+ proxy_config_monitor.h
+ proxy_config_service_qt.h
+ quota_permission_context_qt.h
+ quota_request_controller.h
+ quota_request_controller_impl.h
+ register_protocol_handler_request_controller.h
+ register_protocol_handler_request_controller_impl.h
+ render_view_context_menu_qt.h
+ render_widget_host_view_qt.h
+ render_widget_host_view_qt_delegate.h
+ render_widget_host_view_qt_delegate_client.h
+ renderer/content_renderer_client_qt.h
+ renderer/content_settings_observer_qt.h
+ renderer/render_frame_observer_qt.h
+ renderer/web_engine_page_render_frame.h
+ renderer/render_configuration.h
+ renderer/user_resource_controller.h
+ renderer/plugins/plugin_placeholder_qt.h
+ renderer_host/web_engine_page_host.h
+ renderer_host/user_resource_controller_host.h
+ request_controller.h
+ resource_context_qt.h
+ touch_handle_drawable_client.h
+ touch_handle_drawable_qt.h
+ touch_selection_controller_client_qt.h
+ touch_selection_menu_controller.h
+ type_conversion.h
+ user_notification_controller.h
+ user_script.h
+ visited_links_manager_qt.h
+ web_contents_adapter.h
+ web_contents_adapter_client.h
+ web_contents_delegate_qt.h
+ web_contents_view_qt.h
+ web_engine_context.h
+ web_engine_error.h
+ web_engine_library_info.h
+ web_engine_settings.h
+ web_event_factory.h
+ ozone/gl_ozone_glx_qt.h
+ ozone/gl_surface_glx_qt.h
+ compositor/compositor_resource_fence.h
+ compositor/display_gl_output_surface.h)
+
+foreach(GN_HEADER_FILE ${GN_HEADERS_IN})
+ get_filename_component(GN_HEADER_PATH ${GN_HEADER_FILE} ABSOLUTE)
+ list(APPEND GN_HEADERS \"${GN_HEADER_PATH}\")
+endforeach()
+string(REPLACE ";" ",\n " GN_HEADERS "${GN_HEADERS}")
+foreach(GN_SOURCE_FILE ${GN_SOURCES_IN})
+ get_filename_component(GN_SOURCE_PATH ${GN_SOURCE_FILE} ABSOLUTE)
+ list(APPEND GN_SOURCES \"${GN_SOURCE_PATH}\")
+endforeach()
+string(REPLACE ";" ",\n " GN_SOURCES "${GN_SOURCES}")
+include(${CMAKE_WEBENGINE_ROOT_BUILD_PATH}/src/core/api/gn_config.cxx.cmake)
+include(${CMAKE_WEBENGINE_ROOT_BUILD_PATH}/src/core/api/gn_config.c.cmake)
+list(APPEND GN_DEFINES_IN ${GN_DEFINES})
+list(REMOVE_DUPLICATES GN_DEFINES_IN)
+unset(GN_DEFINES)
+foreach(GN_DEFINE ${GN_DEFINES_IN})
+ list(APPEND GN_ARGS_DEFINES \"-D${GN_DEFINE}\")
+ list(APPEND GN_DEFINES \"${GN_DEFINE}\")
+endforeach()
+string(REPLACE ";" ",\n " GN_ARGS_DEFINES "${GN_ARGS_DEFINES}")
+string(REPLACE ";" ",\n " GN_DEFINES "${GN_DEFINES}")
+list(REMOVE_DUPLICATES GN_INCLUDES_IN)
+foreach(GN_INCLUDE ${GN_INCLUDES_IN})
+ list(APPEND GN_ARGS_INCLUDES \"-I${GN_INCLUDE}\")
+ list(APPEND GN_INCLUDE_DIRS \"${GN_INCLUDE}\")
+endforeach()
+string(REPLACE ";" ",\n " GN_ARGS_INCLUDES "${GN_ARGS_INCLUDES}")
+string(REPLACE ";" ",\n " GN_INCLUDE_DIRS "${GN_INCLUDE_DIRS}")
+get_target_property(GN_MOC_BIN_IN Qt6::moc IMPORTED_LOCATION)
+set(GN_ARGS_MOC_BIN \"${GN_MOC_BIN_IN}\")
+foreach(GN_CXX_COMPILE_OPTION ${GN_CXX_COMPILE_OPTIONS_IN})
+ list(APPEND GN_CFLAGS_CC \"${GN_CXX_COMPILE_OPTION}\")
+endforeach()
+list(REMOVE_DUPLICATES GN_CFLAGS_CC)
+string(REPLACE ";" ",\n " GN_CFLAGS_CC "${GN_CFLAGS_CC}")
+foreach(GN_C_COMPILE_OPTION ${GN_C_COMPILE_OPTIONS_IN})
+ list(APPEND GN_CFLAGS_C \"${GN_C_COMPILE_OPTION}\")
+endforeach()
+list(REMOVE_DUPLICATES GN_CFLAGS_C)
+string(REPLACE ";" ",\n " GN_CFLAGS_C "${GN_CFLAGS_C}")