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_android.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_observer.cc', 156 'display_observer.h', 157 'favicon_size.cc', 158 'favicon_size.h', 159 'font.cc', 160 'font.h', 161 'font_fallback_win.cc', 162 'font_fallback_win.h', 163 'font_list.cc', 164 'font_list.h', 165 'font_list_impl.cc', 166 'font_list_impl.h', 167 'font_render_params_android.cc', 168 'font_render_params_linux.cc', 169 'font_render_params_linux.h', 170 'font_smoothing_win.cc', 171 'font_smoothing_win.h', 172 'frame_time.h', 173 'gfx_export.h', 174 'gfx_paths.cc', 175 'gfx_paths.h', 176 'gpu_memory_buffer.cc', 177 'gpu_memory_buffer.h', 178 'image/canvas_image_source.cc', 179 'image/canvas_image_source.h', 180 'image/image.cc', 181 'image/image.h', 182 'image/image_family.cc', 183 'image/image_family.h', 184 'image/image_ios.mm', 185 'image/image_mac.mm', 186 'image/image_png_rep.cc', 187 'image/image_png_rep.h', 188 'image/image_skia.cc', 189 'image/image_skia.h', 190 'image/image_skia_operations.cc', 191 'image/image_skia_operations.h', 192 'image/image_skia_rep.cc', 193 'image/image_skia_rep.h', 194 'image/image_skia_source.h', 195 'image/image_skia_util_ios.h', 196 'image/image_skia_util_ios.mm', 197 'image/image_skia_util_mac.h', 198 'image/image_skia_util_mac.mm', 199 'image/image_util.cc', 200 'image/image_util.h', 201 'image/image_util_ios.mm', 202 'interpolated_transform.cc', 203 'interpolated_transform.h', 204 'linux_font_delegate.cc', 205 'linux_font_delegate.h', 206 'mac/scoped_ns_disable_screen_updates.h', 207 'native_widget_types.h', 208 'nine_image_painter.cc', 209 'nine_image_painter.h', 210 'overlay_transform.h', 211 'pango_util.cc', 212 'pango_util.h', 213 'path.cc', 214 'path.h', 215 'path_aura.cc', 216 'path_win.cc', 217 'path_win.h', 218 'path_x11.cc', 219 'path_x11.h', 220 'platform_font.h', 221 'platform_font_android.cc', 222 'platform_font_ios.h', 223 'platform_font_ios.mm', 224 'platform_font_mac.h', 225 'platform_font_mac.mm', 226 'platform_font_ozone.cc', 227 'platform_font_pango.cc', 228 'platform_font_pango.h', 229 'platform_font_win.cc', 230 'platform_font_win.h', 231 'range/range.cc', 232 'range/range.h', 233 'range/range_mac.mm', 234 'range/range_win.cc', 235 'render_text.cc', 236 'render_text.h', 237 'render_text_harfbuzz.cc', 238 'render_text_harfbuzz.h', 239 'render_text_mac.cc', 240 'render_text_mac.h', 241 'render_text_ozone.cc', 242 'render_text_pango.cc', 243 'render_text_pango.h', 244 'render_text_win.cc', 245 'render_text_win.h', 246 'scoped_canvas.h', 247 'scoped_cg_context_save_gstate_mac.h', 248 'scoped_ns_graphics_context_save_gstate_mac.h', 249 'scoped_ns_graphics_context_save_gstate_mac.mm', 250 'scoped_ui_graphics_push_context_ios.h', 251 'scoped_ui_graphics_push_context_ios.mm', 252 'screen.cc', 253 'screen.h', 254 'screen_android.cc', 255 'screen_aura.cc', 256 'screen_ios.mm', 257 'screen_mac.mm', 258 'screen_win.cc', 259 'screen_win.h', 260 'scrollbar_size.cc', 261 'scrollbar_size.h', 262 'selection_model.cc', 263 'selection_model.h', 264 'sequential_id_generator.cc', 265 'sequential_id_generator.h', 266 'shadow_value.cc', 267 'shadow_value.h', 268 'skbitmap_operations.cc', 269 'skbitmap_operations.h', 270 'skia_util.cc', 271 'skia_util.h', 272 'switches.cc', 273 'switches.h', 274 'sys_color_change_listener.cc', 275 'sys_color_change_listener.h', 276 'text_constants.h', 277 'text_elider.cc', 278 'text_elider.h', 279 'text_utils.cc', 280 'text_utils.h', 281 'text_utils_android.cc', 282 'text_utils_ios.mm', 283 'text_utils_skia.cc', 284 'transform.cc', 285 'transform.h', 286 'transform_util.cc', 287 'transform_util.h', 288 'ui_gfx_exports.cc', 289 'utf16_indexing.cc', 290 'utf16_indexing.h', 291 'vsync_provider.h', 292 'win/dpi.cc', 293 'win/dpi.h', 294 'win/hwnd_util.cc', 295 'win/hwnd_util.h', 296 'win/scoped_set_map_mode.h', 297 'win/singleton_hwnd.cc', 298 'win/singleton_hwnd.h', 299 'win/window_impl.cc', 300 'win/window_impl.h', 301 ], 302 'conditions': [ 303 ['OS=="ios"', { 304 # iOS only uses a subset of UI. 305 'sources/': [ 306 ['exclude', '^codec/jpeg_codec\\.cc$'], 307 ], 308 }, { 309 'dependencies': [ 310 '<(libjpeg_gyp_path):libjpeg', 311 ], 312 }], 313 # TODO(asvitkine): Switch all platforms to use canvas_skia.cc. 314 # http://crbug.com/105550 315 ['use_canvas_skia==1', { 316 'sources!': [ 317 'canvas_android.cc', 318 ], 319 }, { # use_canvas_skia!=1 320 'sources!': [ 321 'canvas_skia.cc', 322 ], 323 }], 324 ['OS=="win"', { 325 'sources': [ 326 'gdi_util.cc', 327 'gdi_util.h', 328 'icon_util.cc', 329 'icon_util.h', 330 ], 331 # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int 332 # C4324 is structure was padded due to __declspec(align()), which is 333 # uninteresting. 334 'msvs_disabled_warnings': [ 4267, 4324 ], 335 }], 336 ['OS=="android"', { 337 'sources!': [ 338 'animation/throb_animation.cc', 339 'display_observer.cc', 340 'selection_model.cc', 341 ], 342 'dependencies': [ 343 'gfx_jni_headers', 344 ], 345 'link_settings': { 346 'libraries': [ 347 '-landroid', 348 '-ljnigraphics', 349 ], 350 }, 351 }], 352 ['use_aura==0 and toolkit_views==0', { 353 'sources!': [ 354 'nine_image_painter.cc', 355 'nine_image_painter.h', 356 ], 357 }], 358 ['OS=="android" and use_aura==0', { 359 'sources!': [ 360 'path.cc', 361 ], 362 }], 363 ['OS=="android" and use_aura==1', { 364 'sources!': [ 365 'screen_android.cc', 366 ], 367 }], 368 ['OS=="android" and android_webview_build==0', { 369 'dependencies': [ 370 '<(DEPTH)/base/base.gyp:base_java', 371 ], 372 }], 373 ['OS=="android" or OS=="ios"', { 374 'sources!': [ 375 'render_text.cc', 376 'render_text.h', 377 'render_text_harfbuzz.cc', 378 'render_text_harfbuzz.h', 379 'text_utils_skia.cc', 380 ], 381 }], 382 ['use_x11==1', { 383 'dependencies': [ 384 '../../build/linux/system.gyp:x11', 385 'x/gfx_x11.gyp:gfx_x11', 386 ], 387 }], 388 ['use_pango==1', { 389 'dependencies': [ 390 '<(DEPTH)/build/linux/system.gyp:pangocairo', 391 ], 392 'sources!': [ 393 'platform_font_ozone.cc', 394 'render_text_ozone.cc', 395 ], 396 }], 397 ['desktop_linux==1 or chromeos==1', { 398 'dependencies': [ 399 # font_render_params_linux.cc uses fontconfig 400 '<(DEPTH)/build/linux/system.gyp:fontconfig', 401 ], 402 }], 403 ], 404 'target_conditions': [ 405 # Need 'target_conditions' to override default filename_rules to include 406 # the file on iOS. 407 ['OS == "ios"', { 408 'sources/': [ 409 ['include', '^scoped_cg_context_save_gstate_mac\\.h$'], 410 ], 411 }], 412 ], 413 }, 414 { 415 'target_name': 'gfx_test_support', 416 'sources': [ 417 'test/gfx_util.cc', 418 'test/gfx_util.h', 419 'test/ui_cocoa_test_helper.h', 420 'test/ui_cocoa_test_helper.mm', 421 ], 422 'dependencies': [ 423 '../../base/base.gyp:base', 424 '../../skia/skia.gyp:skia', 425 '../../testing/gtest.gyp:gtest', 426 ], 427 'conditions': [ 428 ['OS == "mac"', { 429 'link_settings': { 430 'libraries': [ 431 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework', 432 ], 433 }, 434 }], 435 ['OS!="ios"', { 436 'type': 'static_library', 437 }, { # OS=="ios" 438 # None of the sources in this target are built on iOS, resulting in 439 # link errors when building targets that depend on this target 440 # because the static library isn't found. If this target is changed 441 # to have sources that are built on iOS, the target should be changed 442 # to be of type static_library on all platforms. 443 'type': 'none', 444 # The cocoa files don't apply to iOS. 445 'sources/': [ 446 ['exclude', 'cocoa'] 447 ], 448 }], 449 ], 450 }, 451 ], 452 'conditions': [ 453 ['OS=="android"' , { 454 'targets': [ 455 { 456 'target_name': 'gfx_jni_headers', 457 'type': 'none', 458 'sources': [ 459 '../android/java/src/org/chromium/ui/gfx/BitmapHelper.java', 460 '../android/java/src/org/chromium/ui/gfx/DeviceDisplayInfo.java', 461 '../android/java/src/org/chromium/ui/gfx/ViewConfigurationHelper.java', 462 ], 463 'variables': { 464 'jni_gen_package': 'ui/gfx', 465 }, 466 'includes': [ '../../build/jni_generator.gypi' ], 467 }, 468 ], 469 }], 470 ], 471 } 472