| # Copyright 2014 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. |
| |
| import("//build/config/ui.gni") |
| import("//testing/test.gni") |
| import("//third_party/WebKit/Source/build/scripts/scripts.gni") |
| import("//third_party/WebKit/Source/config.gni") |
| import("//third_party/WebKit/Source/platform/platform.gni") |
| import("//third_party/WebKit/Source/platform/platform_generated.gni") |
| |
| # Most targets in this file are private actions so use that as the default. |
| visibility = [ ":*" ] |
| |
| heap_gypi = exec_script("//build/gypi_to_gn.py", |
| [ rebase_path("heap/blink_heap.gypi") ], |
| "scope", |
| [ "heap/blink_heap.gypi" ]) |
| |
| blink_platform_neon_files = [ "graphics/cpu/arm/WebGLImageConversionNEON.h" ] |
| |
| blink_platform_sse_files = [ "graphics/cpu/x86/WebGLImageConversionSSE.h" ] |
| |
| # blink_common in blink_platform.gyp |
| component("blink_common") { |
| visibility = [] # Allow re-assignment of list. |
| visibility = [ "//third_party/WebKit/*" ] |
| sources = [ |
| "exported/URLConversion.cpp", |
| "exported/WebCString.cpp", |
| "exported/WebCommon.cpp", |
| "exported/WebString.cpp", |
| ] |
| |
| defines = [ |
| "BLINK_COMMON_IMPLEMENTATION=1", |
| "INSIDE_BLINK", |
| ] |
| |
| configs += [ |
| "//build/config/compiler:wexit_time_destructors", |
| "//third_party/WebKit/Source:config", |
| "//third_party/WebKit/Source:non_test_config", |
| ] |
| |
| deps = [ |
| "//base", |
| "//third_party/WebKit/Source/wtf", |
| "//url", |
| ] |
| } |
| |
| # FontFamilyNames action in make_platform_generated in |
| # platform_generated.gyp |
| action("font_family_names") { |
| script = "../build/scripts/make_names.py" |
| |
| font_family_names_in = "fonts/FontFamilyNames.in" |
| inputs = make_names_files + [ font_family_names_in ] |
| |
| outputs = [ |
| "$blink_platform_output_dir/FontFamilyNames.cpp", |
| "$blink_platform_output_dir/FontFamilyNames.h", |
| ] |
| |
| args = [ |
| rebase_path(font_family_names_in, root_build_dir), |
| "--output_dir", |
| rebase_path(blink_platform_output_dir, root_build_dir), |
| ] |
| } |
| |
| # HTTPNames action in make_platform_generated in |
| # platform_generated.gyp |
| action("http_names") { |
| script = "../build/scripts/make_names.py" |
| |
| http_names_in = "network/HTTPNames.in" |
| inputs = make_names_files + [ http_names_in ] |
| |
| outputs = [ |
| "$blink_platform_output_dir/HTTPNames.cpp", |
| "$blink_platform_output_dir/HTTPNames.h", |
| ] |
| |
| args = [ |
| rebase_path(http_names_in, root_build_dir), |
| "--output_dir", |
| rebase_path(blink_platform_output_dir, root_build_dir), |
| ] |
| } |
| |
| # RuntimeEnabledFeatures action in make_platform_generated in |
| # platform_generated.gyp |
| action("runtime_enabled_features") { |
| script = "../build/scripts/make_runtime_features.py" |
| |
| runtime_enabled_features_in = "RuntimeEnabledFeatures.in" |
| inputs = scripts_for_in_files + [ |
| runtime_enabled_features_in, |
| "../build/scripts/templates/RuntimeEnabledFeatures.cpp.tmpl", |
| "../build/scripts/templates/RuntimeEnabledFeatures.h.tmpl", |
| ] |
| |
| outputs = [ |
| "$blink_platform_output_dir/RuntimeEnabledFeatures.cpp", |
| "$blink_platform_output_dir/RuntimeEnabledFeatures.h", |
| ] |
| |
| args = [ |
| rebase_path(runtime_enabled_features_in, root_build_dir), |
| "--output_dir", |
| rebase_path(blink_platform_output_dir, root_build_dir), |
| ] |
| } |
| |
| # ColorData action in make_platform_generated in platform_generated.gyp |
| action("color_data") { |
| script = "../build/scripts/gperf.py" |
| |
| color_data_gperf = "ColorData.gperf" |
| inputs = [ |
| color_data_gperf, |
| ] |
| |
| output_file = "$blink_platform_output_dir/ColorData.cpp" |
| outputs = [ |
| output_file, |
| ] |
| |
| args = [ |
| gperf_exe, |
| "--key-positions=*", |
| "-D", |
| "-s", |
| "2", |
| rebase_path(color_data_gperf, root_build_dir), |
| "--output-file=" + rebase_path(output_file, root_build_dir), |
| ] |
| } |
| |
| # This isn't strictly necessary since we can just add the deps to "platform", |
| # but it helps to have the targets match the GYP build. |
| group("make_platform_generated") { |
| visibility = [] # Allow re-assignment of list. |
| visibility = [ "//third_party/WebKit/Source/*" ] |
| public_deps = [ |
| ":blink_common", |
| ":color_data", |
| ":font_family_names", |
| ":http_names", |
| ":runtime_enabled_features", |
| ] |
| } |
| |
| # TODO(brettw) Objective C Renaming postbuild steps on Mac. |
| # blink_platform target in blink_platform.gyp |
| component("platform") { |
| visibility = [] # Allow re-assignment of list. |
| visibility = [ "//third_party/WebKit/*" ] |
| output_name = "blink_platform" |
| |
| sources = platform_files |
| sources -= blink_platform_neon_files |
| sources -= blink_platform_sse_files |
| |
| # Add in the generated files. |
| sources += get_target_outputs(":font_family_names") + |
| get_target_outputs(":http_names") + |
| get_target_outputs(":runtime_enabled_features") + |
| get_target_outputs(":color_data") |
| |
| configs += [ |
| # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. |
| "//build/config/compiler:no_size_t_to_int_warning", |
| "//third_party/WebKit/Source:config", |
| "//third_party/WebKit/Source:non_test_config", |
| ] |
| |
| defines = [ |
| "BLINK_PLATFORM_IMPLEMENTATION=1", |
| "INSIDE_BLINK", |
| ] |
| |
| include_dirs = [ |
| #"$angle_path/include", |
| "$root_gen_dir/blink", |
| ] |
| |
| public_deps = [ |
| "//base", |
| "//cc", |
| "//gpu/command_buffer/client:gles2_c_lib", |
| "//skia", |
| "//third_party:jpeg", |
| "//third_party/WebKit/Source/wtf", |
| "//third_party/iccjpeg", |
| "//third_party/libpng", |
| "//third_party/libwebp", |
| "//third_party/ots", |
| "//third_party/qcms", |
| "//url", |
| "//v8", |
| ] |
| deps = [ |
| ":make_platform_generated", |
| "//third_party/WebKit/Source/platform/heap", |
| "//third_party/harfbuzz-ng", |
| "//third_party/icu", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| ] |
| |
| if (is_mac) { |
| sources -= [ |
| # Uses KillRingMac.mm instead. |
| "KillRingNone.cpp", |
| "fonts/skia/FontCacheSkia.cpp", |
| "scroll/ScrollAnimator.cpp", |
| "scroll/ScrollAnimator.h", |
| |
| # Mac uses only ScrollAnimatorMac. |
| "scroll/ScrollbarThemeNonMacCommon.cpp", |
| "scroll/ScrollbarThemeNonMacCommon.h", |
| |
| # Uses LocaleMac instead. |
| "text/LocaleICU.cpp", |
| "text/LocaleICU.h", |
| ] |
| |
| configs += [ "//third_party/WebKit/Source:mac_precompiled_headers" ] |
| libs = [ |
| "Accelerate.framework", |
| "Carbon.framework", |
| "Foundation.framework", |
| ] |
| } else { |
| sources -= [ |
| "geometry/cg/FloatPointCG.cpp", |
| "geometry/cg/FloatRectCG.cpp", |
| "geometry/cg/FloatSizeCG.cpp", |
| "geometry/cg/IntPointCG.cpp", |
| "geometry/cg/IntRectCG.cpp", |
| "geometry/cg/IntSizeCG.cpp", |
| ] |
| } |
| |
| if (is_win) { |
| sources -= [ |
| "clipboard/ClipboardUtilitiesPosix.cpp", |
| |
| # Uses LocaleWin instead. |
| "text/LocaleICU.cpp", |
| "text/LocaleICU.h", |
| ] |
| cflags = [ |
| "/wd4334", # Result of 32-bit shift implicitly converted to 64 bits. |
| "/wd4724", # Modulo by 0. |
| ] |
| } else { |
| sources -= [ |
| "clipboard/ClipboardUtilitiesWin.cpp", |
| "text/LocaleWin.cpp", |
| ] |
| } |
| |
| if (is_android) { |
| # Add in some Linux files also shared with Android. |
| set_sources_assignment_filter([]) |
| sources += [ |
| "exported/linux/WebFontRenderStyle.cpp", |
| "fonts/linux/FontPlatformDataLinux.cpp", |
| ] |
| set_sources_assignment_filter(sources_assignment_filter) |
| } else { |
| sources -= [ "scroll/ScrollbarThemeAndroid.cpp" ] |
| } |
| |
| if (is_linux) { |
| public_deps += [ "//build/linux:fontconfig" ] |
| } |
| |
| if (!use_default_render_theme) { |
| sources -= [ |
| "scroll/ScrollbarThemeAura.cpp", |
| "scroll/ScrollbarThemeAura.h", |
| ] |
| } |
| |
| if (current_cpu == "arm") { |
| deps += [ ":blink_arm_neon" ] |
| } |
| |
| if (current_cpu == "x86" || current_cpu == "x64") { |
| deps += [ ":blink_x86_sse" ] |
| } |
| |
| if (use_webaudio_ffmpeg) { |
| include_dirs += [ "//third_party/ffmpeg" ] |
| deps += [ "//third_party/ffmpeg" ] |
| } |
| if (use_openmax_dl_fft) { |
| include_dirs += [ "//third_party/openmax_dl" ] |
| deps += [ "//third_party/openmax_dl/dl" ] |
| } |
| } |
| |
| source_set("test_support") { |
| sources = platform_test_support_files |
| visibility += [ "//third_party/WebKit/*" ] |
| |
| configs += [ |
| "//third_party/WebKit/Source:config", |
| "//third_party/WebKit/Source:inside_blink", |
| "//third_party/WebKit/Source:non_test_config", |
| ] |
| |
| deps = [ |
| ":platform", |
| ] |
| |
| if (is_win) { |
| cflags = [ "/wd4267" ] # Truncation from size_t to int. |
| } |
| } |
| |
| # TODO(GYP): Delete this after we've converted everything to GN. |
| # The _run targets exist only for compatibility w/ GYP. |
| group("blink_heap_unittests_run") { |
| testonly = true |
| deps = [ |
| ":blink_heap_unittests", |
| ] |
| } |
| |
| # GYP: blink_heap_unittests |
| test("blink_heap_unittests") { |
| visibility = [] # Allow re-assignment of list. |
| visibility = [ "*" ] |
| |
| sources = rebase_path(heap_gypi.platform_heap_test_files, ".", "heap") |
| sources += [ "heap/RunAllTests.cpp" ] |
| |
| configs += [ |
| "//third_party/WebKit/Source/wtf:wtf_config", |
| "//third_party/WebKit/Source:config", |
| ] |
| |
| defines = [ "INSIDE_BLINK" ] |
| |
| deps = [ |
| ":platform", |
| "//base", |
| "//base/allocator", |
| "//base/test:test_support", |
| "//content/test:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/WebKit/Source/wtf", |
| "//third_party/WebKit/Source/wtf:test_support", |
| ] |
| if (is_android) { |
| deps += [ |
| "//base:base_java", |
| "//content/shell/android:content_shell_assets", |
| "//net/android:net_java", |
| ] |
| } |
| } |
| |
| # TODO(GYP): Delete this after we've converted everything to GN. |
| # The _run targets exist only for compatibility w/ GYP. |
| group("blink_platform_unittests_run") { |
| testonly = true |
| deps = [ |
| ":blink_platform_unittests", |
| ] |
| } |
| |
| test("blink_platform_unittests") { |
| visibility = [] # Allow re-assignment of list. |
| visibility = [ "*" ] |
| |
| sources = platform_test_files |
| |
| if (is_win) { |
| sources += [ "text/LocaleWinTest.cpp" ] |
| } else if (is_mac) { |
| sources += [ "text/LocaleMacTest.cpp" ] |
| } else if (is_posix) { |
| sources += [ "text/LocaleICUTest.cpp" ] |
| } |
| |
| if (!is_mac) { |
| sources += [ "scroll/ScrollAnimatorTest.cpp" ] |
| } |
| |
| sources += [ "testing/RunAllTests.cpp" ] |
| |
| configs += [ |
| "//third_party/WebKit/Source/wtf:wtf_config", |
| "//third_party/WebKit/Source:config", |
| ] |
| |
| deps = [ |
| ":blink_common", |
| ":platform", |
| ":test_support", |
| "//base", |
| "//base/allocator", |
| "//base/test:test_support", |
| "//cc", |
| "//cc:test_support", |
| "//cc/blink", |
| "//skia", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/WebKit/Source/wtf", |
| "//third_party/WebKit/Source/wtf:test_support", |
| "//third_party/harfbuzz-ng", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//url", |
| ] |
| |
| defines = [ "INSIDE_BLINK" ] |
| |
| include_dirs = [ "$root_gen_dir/blink" ] |
| } |
| |
| if (current_cpu == "arm") { |
| source_set("blink_arm_neon") { |
| sources = blink_platform_neon_files |
| |
| # The *NEON.cpp files fail to compile when -mthumb is passed. Force |
| # them to build in ARM mode. |
| # See https://bugs.webkit.org/show_bug.cgi?id=62916. |
| # TODO(GYP) |
| #'cflags': ['-marm'], |
| # 'conditions': [ |
| # ['OS=="android"', { |
| # 'cflags!': ['-mthumb'], |
| # }], |
| # ], |
| |
| deps = [ |
| ":blink_common", |
| ] |
| } |
| } |
| |
| if (current_cpu == "x86" || current_cpu == "x64") { |
| source_set("blink_x86_sse") { |
| sources = blink_platform_sse_files |
| deps = [ |
| ":blink_common", |
| ] |
| } |
| } |