From c5282c3479294f8d1c3ce310585aa9e3a8c4f4d7 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen <allan.jensen@qt.io> Date: Mon, 20 Mar 2017 13:50:46 +0100 Subject: [PATCH] Remove gyp handling Remove now dead GYP related code. Change-Id: I7d5b8f28f8925e553211dc88acd571b605ffe80d Reviewed-by: Michal Klocek <michal.klocek@qt.io> --- src/buildtools/buildtools.pro | 12 +- src/core/chrome_qt.gyp | 191 ----------- src/core/config/common.pri | 130 +++----- src/core/config/desktop_linux.pri | 39 +-- src/core/config/embedded_linux.gypi | 9 - src/core/config/embedded_linux.pri | 68 +--- src/core/config/embedded_qnx.gypi | 9 - src/core/config/linux.pri | 314 +++++++----------- src/core/config/mac_osx.pri | 56 +--- src/core/config/windows.gypi | 8 - src/core/config/windows.pri | 65 ---- src/core/core.pro | 90 ++--- src/core/core_generator.pro | 22 +- src/core/core_gyp_config.pri | 5 - src/core/core_module.pro | 57 ++-- src/core/gyp_configure_host.pro | 16 - src/core/gyp_configure_target.pro | 36 -- src/core/gyp_run.pro | 176 ---------- src/core/qtwebengine.gypi | 148 --------- src/core/qtwebengine_extras.gypi | 129 ------- src/core/resources/grit_action.gypi | 41 --- src/core/resources/repack_locales.gypi | 26 -- src/core/resources/repack_resources.gypi | 16 - src/core/resources/resources.gyp | 96 ------ .../qwebengine_convert_dict.pro | 34 +- tools/buildscripts/gyp_qtwebengine | 178 ---------- tools/qmake/mkspecs/features/configure.prf | 6 +- 27 files changed, 294 insertions(+), 1683 deletions(-) delete mode 100644 src/core/chrome_qt.gyp delete mode 100644 src/core/config/embedded_linux.gypi delete mode 100644 src/core/config/embedded_qnx.gypi delete mode 100644 src/core/config/windows.gypi delete mode 100644 src/core/core_gyp_config.pri delete mode 100644 src/core/gyp_configure_host.pro delete mode 100644 src/core/gyp_configure_target.pro delete mode 100644 src/core/gyp_run.pro delete mode 100644 src/core/qtwebengine.gypi delete mode 100644 src/core/qtwebengine_extras.gypi delete mode 100644 src/core/resources/grit_action.gypi delete mode 100644 src/core/resources/repack_locales.gypi delete mode 100644 src/core/resources/repack_resources.gypi delete mode 100644 src/core/resources/resources.gyp delete mode 100755 tools/buildscripts/gyp_qtwebengine 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 } } -- GitLab