1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 { 6 'variables': { 7 'chromium_code': 1, 8 }, 9 'targets': [ 10 { 11 'target_name': 'gfx_geometry', 12 'type': '<(component)', 13 'dependencies': [ 14 '<(DEPTH)/base/base.gyp:base', 15 ], 16 'defines': [ 17 'GFX_IMPLEMENTATION', 18 ], 19 'sources': [ 20 'geometry/box_f.cc', 21 'geometry/box_f.h', 22 'geometry/cubic_bezier.h', 23 'geometry/cubic_bezier.cc', 24 'geometry/insets.cc', 25 'geometry/insets.h', 26 'geometry/insets_base.h', 27 'geometry/insets_f.cc', 28 'geometry/insets_f.h', 29 'geometry/matrix3_f.cc', 30 'geometry/matrix3_f.h', 31 'geometry/point.cc', 32 'geometry/point.h', 33 'geometry/point3_f.cc', 34 'geometry/point3_f.h', 35 'geometry/point_base.h', 36 'geometry/point_conversions.cc', 37 'geometry/point_conversions.h', 38 'geometry/point_f.cc', 39 'geometry/point_f.h', 40 'geometry/quad_f.cc', 41 'geometry/quad_f.h', 42 'geometry/rect.cc', 43 'geometry/rect.h', 44 'geometry/rect_base.h', 45 'geometry/rect_base_impl.h', 46 'geometry/rect_conversions.cc', 47 'geometry/rect_conversions.h', 48 'geometry/rect_f.cc', 49 'geometry/rect_f.h', 50 'geometry/r_tree.h', 51 'geometry/r_tree_base.cc', 52 'geometry/r_tree_base.h', 53 'geometry/safe_integer_conversions.h', 54 'geometry/size.cc', 55 'geometry/size.h', 56 'geometry/size_base.h', 57 'geometry/size_conversions.cc', 58 'geometry/size_conversions.h', 59 'geometry/size_f.cc', 60 'geometry/size_f.h', 61 'geometry/vector2d.cc', 62 'geometry/vector2d.h', 63 'geometry/vector2d_conversions.cc', 64 'geometry/vector2d_conversions.h', 65 'geometry/vector2d_f.cc', 66 'geometry/vector2d_f.h', 67 'geometry/vector3d_f.cc', 68 'geometry/vector3d_f.h', 69 ], 70 }, 71 { 72 'target_name': 'gfx', 73 'type': '<(component)', 74 'dependencies': [ 75 '<(DEPTH)/base/base.gyp:base', 76 '<(DEPTH)/base/base.gyp:base_i18n', 77 '<(DEPTH)/base/base.gyp:base_static', 78 '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', 79 '<(DEPTH)/skia/skia.gyp:skia', 80 '<(DEPTH)/third_party/harfbuzz-ng/harfbuzz.gyp:harfbuzz-ng', 81 '<(DEPTH)/third_party/icu/icu.gyp:icui18n', 82 '<(DEPTH)/third_party/icu/icu.gyp:icuuc', 83 '<(DEPTH)/third_party/libpng/libpng.gyp:libpng', 84 '<(DEPTH)/third_party/zlib/zlib.gyp:zlib', 85 'gfx_geometry', 86 ], 87 # text_elider.h includes ICU headers. 88 'export_dependent_settings': [ 89 '<(DEPTH)/skia/skia.gyp:skia', 90 '<(DEPTH)/third_party/icu/icu.gyp:icui18n', 91 '<(DEPTH)/third_party/icu/icu.gyp:icuuc', 92 ], 93 'defines': [ 94 'GFX_IMPLEMENTATION', 95 ], 96 'include_dirs': [ 97 '<(DEPTH)/third_party/icu/source/common' 98 ], 99 'sources': [ 100 'android/device_display_info.cc', 101 'android/device_display_info.h', 102 'android/gfx_jni_registrar.cc', 103 'android/gfx_jni_registrar.h', 104 'android/java_bitmap.cc', 105 'android/java_bitmap.h', 106 'android/scroller.cc', 107 'android/scroller.h', 108 'android/shared_device_display_info.cc', 109 'android/shared_device_display_info.h', 110 'android/view_configuration.cc', 111 'android/view_configuration.h', 112 'animation/animation.cc', 113 'animation/animation.h', 114 'animation/animation_container.cc', 115 'animation/animation_container.h', 116 'animation/animation_container_element.h', 117 'animation/animation_container_observer.h', 118 'animation/animation_delegate.h', 119 'animation/linear_animation.cc', 120 'animation/linear_animation.h', 121 'animation/multi_animation.cc', 122 'animation/multi_animation.h', 123 'animation/slide_animation.cc', 124 'animation/slide_animation.h', 125 'animation/throb_animation.cc', 126 'animation/throb_animation.h', 127 'animation/tween.cc', 128 'animation/tween.h', 129 'blit.cc', 130 'blit.h', 131 'break_list.h', 132 'canvas.cc', 133 'canvas.h', 134 'canvas_notimplemented.cc', 135 'canvas_paint_mac.h', 136 'canvas_paint_mac.mm', 137 'canvas_paint_win.cc', 138 'canvas_paint_win.h', 139 'canvas_skia.cc', 140 'canvas_skia_paint.h', 141 'codec/jpeg_codec.cc', 142 'codec/jpeg_codec.h', 143 'codec/png_codec.cc', 144 'codec/png_codec.h', 145 'color_analysis.cc', 146 'color_analysis.h', 147 'color_profile.cc', 148 'color_profile.h', 149 'color_profile_mac.mm', 150 'color_profile_win.cc', 151 'color_utils.cc', 152 'color_utils.h', 153 'display.cc', 154 'display.h', 155 'display_change_notifier.cc', 156 'display_change_notifier.h', 157 'display_observer.cc', 158 'display_observer.h', 159 'favicon_size.cc', 160 'favicon_size.h', 161 'font.cc', 162 'font.h', 163 'font_fallback.h', 164 'font_fallback_linux.cc', 165 'font_fallback_mac.cc', 166 'font_fallback_win.cc', 167 'font_fallback_win.h', 168 'font_list.cc', 169 'font_list.h', 170 'font_list_impl.cc', 171 'font_list_impl.h', 172 'font_render_params.cc', 173 'font_render_params.h', 174 'font_render_params_android.cc', 175 'font_render_params_linux.cc', 176 'font_render_params_mac.cc', 177 'font_render_params_win.cc', 178 'frame_time.h', 179 'gfx_export.h', 180 'gfx_paths.cc', 181 'gfx_paths.h', 182 'gpu_memory_buffer.cc', 183 'gpu_memory_buffer.h', 184 'image/canvas_image_source.cc', 185 'image/canvas_image_source.h', 186 'image/image.cc', 187 'image/image.h', 188 'image/image_family.cc', 189 'image/image_family.h', 190 'image/image_ios.mm', 191 'image/image_mac.mm', 192 'image/image_png_rep.cc', 193 'image/image_png_rep.h', 194 'image/image_skia.cc', 195 'image/image_skia.h', 196 'image/image_skia_operations.cc', 197 'image/image_skia_operations.h', 198 'image/image_skia_rep.cc', 199 'image/image_skia_rep.h', 200 'image/image_skia_source.h', 201 'image/image_skia_util_ios.h', 202 'image/image_skia_util_ios.mm', 203 'image/image_skia_util_mac.h', 204 'image/image_skia_util_mac.mm', 205 'image/image_util.cc', 206 'image/image_util.h', 207 'image/image_util_ios.mm', 208 'interpolated_transform.cc', 209 'interpolated_transform.h', 210 'linux_font_delegate.cc', 211 'linux_font_delegate.h', 212 'mac/coordinate_conversion.h', 213 'mac/coordinate_conversion.mm', 214 'mac/scoped_ns_disable_screen_updates.h', 215 'native_widget_types.h', 216 'nine_image_painter.cc', 217 'nine_image_painter.h', 218 'overlay_transform.h', 219 'pango_util.cc', 220 'pango_util.h', 221 'path.cc', 222 'path.h', 223 'path_aura.cc', 224 'path_win.cc', 225 'path_win.h', 226 'path_x11.cc', 227 'path_x11.h', 228 'platform_font.h', 229 'platform_font_android.cc', 230 'platform_font_ios.h', 231 'platform_font_ios.mm', 232 'platform_font_mac.h', 233 'platform_font_mac.mm', 234 'platform_font_ozone.cc', 235 'platform_font_pango.cc', 236 'platform_font_pango.h', 237 'platform_font_win.cc', 238 'platform_font_win.h', 239 'range/range.cc', 240 'range/range.h', 241 'range/range_mac.mm', 242 'range/range_win.cc', 243 'render_text.cc', 244 'render_text.h', 245 'render_text_harfbuzz.cc', 246 'render_text_harfbuzz.h', 247 'render_text_mac.cc', 248 'render_text_mac.h', 249 'render_text_ozone.cc', 250 'render_text_pango.cc', 251 'render_text_pango.h', 252 'render_text_win.cc', 253 'render_text_win.h', 254 'scoped_canvas.h', 255 'scoped_cg_context_save_gstate_mac.h', 256 'scoped_ns_graphics_context_save_gstate_mac.h', 257 'scoped_ns_graphics_context_save_gstate_mac.mm', 258 'scoped_ui_graphics_push_context_ios.h', 259 'scoped_ui_graphics_push_context_ios.mm', 260 'screen.cc', 261 'screen.h', 262 'screen_android.cc', 263 'screen_aura.cc', 264 'screen_ios.mm', 265 'screen_mac.mm', 266 'screen_win.cc', 267 'screen_win.h', 268 'scrollbar_size.cc', 269 'scrollbar_size.h', 270 'selection_model.cc', 271 'selection_model.h', 272 'sequential_id_generator.cc', 273 'sequential_id_generator.h', 274 'shadow_value.cc', 275 'shadow_value.h', 276 'skbitmap_operations.cc', 277 'skbitmap_operations.h', 278 'skia_util.cc', 279 'skia_util.h', 280 'switches.cc', 281 'switches.h', 282 'sys_color_change_listener.cc', 283 'sys_color_change_listener.h', 284 'text_constants.h', 285 'text_elider.cc', 286 'text_elider.h', 287 'text_utils.cc', 288 'text_utils.h', 289 'text_utils_android.cc', 290 'text_utils_ios.mm', 291 'text_utils_skia.cc', 292 'transform.cc', 293 'transform.h', 294 'transform_util.cc', 295 'transform_util.h', 296 'ui_gfx_exports.cc', 297 'utf16_indexing.cc', 298 'utf16_indexing.h', 299 'vsync_provider.h', 300 'win/dpi.cc', 301 'win/dpi.h', 302 'win/hwnd_util.cc', 303 'win/hwnd_util.h', 304 'win/scoped_set_map_mode.h', 305 'win/singleton_hwnd.cc', 306 'win/singleton_hwnd.h', 307 'win/window_impl.cc', 308 'win/window_impl.h', 309 ], 310 'conditions': [ 311 ['OS=="ios"', { 312 'dependencies': [ 313 '<(DEPTH)/ui/ios/ui_ios.gyp:ui_ios', 314 ], 315 # iOS only uses a subset of UI. 316 'sources/': [ 317 ['exclude', '^codec/jpeg_codec\\.cc$'], 318 ], 319 }, { 320 'dependencies': [ 321 '<(libjpeg_gyp_path):libjpeg', 322 ], 323 }], 324 # TODO(asvitkine): Switch all platforms to use canvas_skia.cc. 325 # http://crbug.com/105550 326 ['use_canvas_skia==1', { 327 'sources!': [ 328 'canvas_notimplemented.cc', 329 ], 330 }, { # use_canvas_skia!=1 331 'sources!': [ 332 'canvas_skia.cc', 333 ], 334 }], 335 ['OS=="win"', { 336 'sources': [ 337 'gdi_util.cc', 338 'gdi_util.h', 339 'icon_util.cc', 340 'icon_util.h', 341 ], 342 # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int 343 # C4324 is structure was padded due to __declspec(align()), which is 344 # uninteresting. 345 'msvs_disabled_warnings': [ 4267, 4324 ], 346 }], 347 ['OS=="android"', { 348 'sources!': [ 349 'animation/throb_animation.cc', 350 'display_observer.cc', 351 'selection_model.cc', 352 ], 353 'dependencies': [ 354 'gfx_jni_headers', 355 ], 356 'link_settings': { 357 'libraries': [ 358 '-landroid', 359 '-ljnigraphics', 360 ], 361 }, 362 }], 363 ['use_aura==0 and toolkit_views==0', { 364 'sources!': [ 365 'nine_image_painter.cc', 366 'nine_image_painter.h', 367 ], 368 }], 369 ['OS=="android" and use_aura==0', { 370 'sources!': [ 371 'path.cc', 372 ], 373 }], 374 ['OS=="android" and use_aura==1', { 375 'sources!': [ 376 'screen_android.cc', 377 ], 378 }], 379 ['OS=="android" and android_webview_build==0', { 380 'dependencies': [ 381 '<(DEPTH)/base/base.gyp:base_java', 382 ], 383 }], 384 ['OS=="android" or OS=="ios"', { 385 'sources!': [ 386 'render_text.cc', 387 'render_text.h', 388 'render_text_harfbuzz.cc', 389 'render_text_harfbuzz.h', 390 'text_utils_skia.cc', 391 ], 392 }], 393 ['use_x11==1', { 394 'dependencies': [ 395 '../../build/linux/system.gyp:x11', 396 'x/gfx_x11.gyp:gfx_x11', 397 ], 398 }], 399 ['use_pango==1', { 400 'dependencies': [ 401 '<(DEPTH)/build/linux/system.gyp:pangocairo', 402 ], 403 'sources!': [ 404 'platform_font_ozone.cc', 405 'render_text_ozone.cc', 406 ], 407 }], 408 ['desktop_linux==1 or chromeos==1', { 409 'dependencies': [ 410 # font_render_params_linux.cc uses fontconfig 411 '<(DEPTH)/build/linux/system.gyp:fontconfig', 412 ], 413 }], 414 ], 415 'target_conditions': [ 416 # Need 'target_conditions' to override default filename_rules to include 417 # the file on iOS. 418 ['OS == "ios"', { 419 'sources/': [ 420 ['include', '^scoped_cg_context_save_gstate_mac\\.h$'], 421 ], 422 }], 423 ], 424 }, 425 { 426 'target_name': 'gfx_test_support', 427 'type': 'static_library', 428 'sources': [ 429 'image/image_unittest_util.cc', 430 'image/image_unittest_util.h', 431 'image/image_unittest_util_ios.mm', 432 'image/image_unittest_util_mac.mm', 433 'test/fontconfig_util_linux.cc', 434 'test/fontconfig_util_linux.h', 435 'test/gfx_util.cc', 436 'test/gfx_util.h', 437 'test/ui_cocoa_test_helper.h', 438 'test/ui_cocoa_test_helper.mm', 439 ], 440 'dependencies': [ 441 '../../base/base.gyp:base', 442 '../../skia/skia.gyp:skia', 443 '../../testing/gtest.gyp:gtest', 444 ], 445 'conditions': [ 446 ['OS == "mac"', { 447 'link_settings': { 448 'libraries': [ 449 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework', 450 ], 451 }, 452 }], 453 ['OS=="ios"', { 454 # The cocoa files don't apply to iOS. 455 'sources/': [ 456 ['exclude', 'cocoa'] 457 ], 458 }], 459 ['OS=="linux"', { 460 'dependencies': [ 461 '../../build/linux/system.gyp:fontconfig', 462 ], 463 }], 464 ], 465 }, 466 ], 467 'conditions': [ 468 ['OS=="android"' , { 469 'targets': [ 470 { 471 'target_name': 'gfx_jni_headers', 472 'type': 'none', 473 'sources': [ 474 '../android/java/src/org/chromium/ui/gfx/BitmapHelper.java', 475 '../android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java', 476 '../android/java/src/org/chromium/ui/gfx/ViewConfigurationHelper.java', 477 ], 478 'variables': { 479 'jni_gen_package': 'ui/gfx', 480 }, 481 'includes': [ '../../build/jni_generator.gypi' ], 482 }, 483 ], 484 }], 485 ], 486 } 487