OLD | NEW |
1 # Copyright 2016 Google Inc. | 1 # Copyright 2016 Google Inc. |
2 # | 2 # |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import("gn/shared_sources.gni") | 6 import("gn/shared_sources.gni") |
7 | 7 |
8 declare_args() { | 8 declare_args() { |
9 skia_enable_tools = !is_fuchsia && !is_component_build | |
10 | |
11 skia_use_expat = true | 9 skia_use_expat = true |
12 skia_use_fontconfig = is_linux | 10 skia_use_fontconfig = is_linux |
13 skia_use_freetype = is_android || is_fuchsia || is_linux | 11 skia_use_freetype = is_android || is_fuchsia || is_linux |
14 skia_use_giflib = !is_fuchsia | 12 skia_use_giflib = !is_fuchsia |
15 skia_use_libjpeg_turbo = true | 13 skia_use_libjpeg_turbo = true |
16 skia_use_libpng = true | 14 skia_use_libpng = true |
17 skia_use_libwebp = !is_fuchsia | 15 skia_use_libwebp = !is_fuchsia |
18 skia_use_sfntly = !is_fuchsia | 16 skia_use_sfntly = !is_fuchsia |
19 skia_use_vulkan = is_android && defined(ndk_api) && ndk_api >= 24 | 17 skia_use_vulkan = is_android && defined(ndk_api) && ndk_api >= 24 |
20 skia_use_zlib = true | 18 skia_use_zlib = true |
21 | 19 |
22 skia_enable_android_framework_defines = false | 20 skia_enable_android_framework_defines = false |
| 21 skia_enable_gpu = true |
| 22 skia_enable_tools = !is_fuchsia |
23 } | 23 } |
24 | 24 |
| 25 # Our tools require static linking (they use non-exported symbols) and GPU suppo
rt (just lazy). |
| 26 skia_enable_tools = skia_enable_tools && skia_enable_gpu && !is_component_build |
| 27 |
25 fontmgr_android_enabled = skia_use_expat && skia_use_freetype | 28 fontmgr_android_enabled = skia_use_expat && skia_use_freetype |
26 | 29 |
27 skia_public_includes = [ | 30 skia_public_includes = [ |
28 "include/android", | 31 "include/android", |
29 "include/c", | 32 "include/c", |
30 "include/codec", | 33 "include/codec", |
31 "include/config", | 34 "include/config", |
32 "include/core", | 35 "include/core", |
33 "include/effects", | 36 "include/effects", |
34 "include/gpu", | 37 "include/gpu", |
(...skipping 10 matching lines...) Expand all Loading... |
45 # Skia public API, generally provided by :skia. | 48 # Skia public API, generally provided by :skia. |
46 config("skia_public") { | 49 config("skia_public") { |
47 include_dirs = skia_public_includes | 50 include_dirs = skia_public_includes |
48 defines = [ "SKIA_DLL" ] | 51 defines = [ "SKIA_DLL" ] |
49 if (is_linux) { | 52 if (is_linux) { |
50 defines += [ "SK_SAMPLES_FOR_X" ] | 53 defines += [ "SK_SAMPLES_FOR_X" ] |
51 } | 54 } |
52 if (skia_enable_android_framework_defines) { | 55 if (skia_enable_android_framework_defines) { |
53 defines += skia_android_framework_defines | 56 defines += skia_android_framework_defines |
54 } | 57 } |
| 58 if (!skia_enable_gpu) { |
| 59 defines += [ "SK_SUPPORT_GPU=0" ] |
| 60 } |
55 } | 61 } |
56 | 62 |
57 # Skia internal APIs, used by Skia itself and a few test tools. | 63 # Skia internal APIs, used by Skia itself and a few test tools. |
58 config("skia_private") { | 64 config("skia_private") { |
59 visibility = [ ":*" ] | 65 visibility = [ ":*" ] |
60 | 66 |
61 include_dirs = [ | 67 include_dirs = [ |
62 "include/private", | 68 "include/private", |
63 "src/c", | 69 "src/c", |
64 "src/codec", | 70 "src/codec", |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
287 public_defines = [ "SK_HAS_GIF_LIBRARY" ] | 293 public_defines = [ "SK_HAS_GIF_LIBRARY" ] |
288 | 294 |
289 deps = [ | 295 deps = [ |
290 "//third_party/giflib", | 296 "//third_party/giflib", |
291 ] | 297 ] |
292 sources = [ | 298 sources = [ |
293 "src/codec/SkGifCodec.cpp", | 299 "src/codec/SkGifCodec.cpp", |
294 ] | 300 ] |
295 } | 301 } |
296 | 302 |
| 303 optional("gpu") { |
| 304 enabled = skia_enable_gpu |
| 305 sources = skia_gpu_sources + [ "src/gpu/gl/GrGLDefaultInterface_native.cpp" ] |
| 306 |
| 307 # These paths need to be absolute to match the ones produced by shared_sources
.gni. |
| 308 sources -= get_path_info([ |
| 309 "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", |
| 310 "src/gpu/gl/GrGLDefaultInterface_none.cpp", |
| 311 ], |
| 312 "abspath") |
| 313 if (is_android) { |
| 314 sources += [ "src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp" ] |
| 315 } else if (is_linux) { |
| 316 sources += [ "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp" ] |
| 317 } else if (is_mac) { |
| 318 sources += [ "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp" ] |
| 319 } else { |
| 320 sources += [ "src/gpu/gl/GrGLCreateNativeInterface_none.cpp" ] |
| 321 } |
| 322 } |
| 323 |
297 optional("jpeg") { | 324 optional("jpeg") { |
298 enabled = skia_use_libjpeg_turbo | 325 enabled = skia_use_libjpeg_turbo |
299 public_defines = [ "SK_HAS_JPEG_LIBRARY" ] | 326 public_defines = [ "SK_HAS_JPEG_LIBRARY" ] |
300 | 327 |
301 deps = [ | 328 deps = [ |
302 "//third_party/libjpeg-turbo:libjpeg", | 329 "//third_party/libjpeg-turbo:libjpeg", |
303 ] | 330 ] |
304 sources = [ | 331 sources = [ |
305 "src/codec/SkJpegCodec.cpp", | 332 "src/codec/SkJpegCodec.cpp", |
306 "src/codec/SkJpegDecoderMgr.cpp", | 333 "src/codec/SkJpegDecoderMgr.cpp", |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
393 ":arm64", | 420 ":arm64", |
394 ":armv7", | 421 ":armv7", |
395 ":avx", | 422 ":avx", |
396 ":crc32", | 423 ":crc32", |
397 ":dsp", | 424 ":dsp", |
398 ":fontmgr_android", | 425 ":fontmgr_android", |
399 ":fontmgr_custom", | 426 ":fontmgr_custom", |
400 ":fontmgr_fontconfig", | 427 ":fontmgr_fontconfig", |
401 ":fontmgr_fuchsia", | 428 ":fontmgr_fuchsia", |
402 ":gif", | 429 ":gif", |
| 430 ":gpu", |
403 ":jpeg", | 431 ":jpeg", |
404 ":none", | 432 ":none", |
405 ":pdf", | 433 ":pdf", |
406 ":png", | 434 ":png", |
407 ":sse2", | 435 ":sse2", |
408 ":sse41", | 436 ":sse41", |
409 ":sse42", | 437 ":sse42", |
410 ":ssse3", | 438 ":ssse3", |
411 ":typeface_freetype", | 439 ":typeface_freetype", |
412 ":vulkan", | 440 ":vulkan", |
413 ":webp", | 441 ":webp", |
414 ":xml", | 442 ":xml", |
415 ] | 443 ] |
416 | 444 |
417 sources = [] | 445 sources = [] |
418 sources += skia_core_sources | 446 sources += skia_core_sources |
419 sources += skia_effects_sources | 447 sources += skia_effects_sources |
420 sources += skia_gpu_sources | |
421 sources += skia_sksl_sources | 448 sources += skia_sksl_sources |
422 sources += skia_utils_sources | 449 sources += skia_utils_sources |
423 sources += [ | 450 sources += [ |
424 "src/android/SkBitmapRegionCodec.cpp", | 451 "src/android/SkBitmapRegionCodec.cpp", |
425 "src/android/SkBitmapRegionDecoder.cpp", | 452 "src/android/SkBitmapRegionDecoder.cpp", |
426 "src/codec/SkAndroidCodec.cpp", | 453 "src/codec/SkAndroidCodec.cpp", |
427 "src/codec/SkBmpCodec.cpp", | 454 "src/codec/SkBmpCodec.cpp", |
428 "src/codec/SkBmpMaskCodec.cpp", | 455 "src/codec/SkBmpMaskCodec.cpp", |
429 "src/codec/SkBmpRLECodec.cpp", | 456 "src/codec/SkBmpRLECodec.cpp", |
430 "src/codec/SkBmpStandardCodec.cpp", | 457 "src/codec/SkBmpStandardCodec.cpp", |
431 "src/codec/SkCodec.cpp", | 458 "src/codec/SkCodec.cpp", |
432 "src/codec/SkCodecImageGenerator.cpp", | 459 "src/codec/SkCodecImageGenerator.cpp", |
433 "src/codec/SkMaskSwizzler.cpp", | 460 "src/codec/SkMaskSwizzler.cpp", |
434 "src/codec/SkMasks.cpp", | 461 "src/codec/SkMasks.cpp", |
435 "src/codec/SkSampledCodec.cpp", | 462 "src/codec/SkSampledCodec.cpp", |
436 "src/codec/SkSampler.cpp", | 463 "src/codec/SkSampler.cpp", |
437 "src/codec/SkSwizzler.cpp", | 464 "src/codec/SkSwizzler.cpp", |
438 "src/codec/SkWbmpCodec.cpp", | 465 "src/codec/SkWbmpCodec.cpp", |
439 "src/gpu/gl/GrGLDefaultInterface_native.cpp", | |
440 "src/images/SkImageEncoder.cpp", | 466 "src/images/SkImageEncoder.cpp", |
441 "src/images/SkImageEncoder_Factory.cpp", | 467 "src/images/SkImageEncoder_Factory.cpp", |
442 "src/images/SkKTXImageEncoder.cpp", | 468 "src/images/SkKTXImageEncoder.cpp", |
443 "src/ports/SkDiscardableMemory_none.cpp", | 469 "src/ports/SkDiscardableMemory_none.cpp", |
444 "src/ports/SkGlobalInitialization_default.cpp", | 470 "src/ports/SkGlobalInitialization_default.cpp", |
445 "src/ports/SkImageGenerator_skia.cpp", | 471 "src/ports/SkImageGenerator_skia.cpp", |
446 "src/ports/SkMemory_malloc.cpp", | 472 "src/ports/SkMemory_malloc.cpp", |
447 "src/ports/SkOSFile_stdio.cpp", | 473 "src/ports/SkOSFile_stdio.cpp", |
448 "src/sfnt/SkOTTable_name.cpp", | 474 "src/sfnt/SkOTTable_name.cpp", |
449 "src/sfnt/SkOTUtils.cpp", | 475 "src/sfnt/SkOTUtils.cpp", |
450 "src/svg/SkSVGCanvas.cpp", | 476 "src/svg/SkSVGCanvas.cpp", |
451 "src/svg/SkSVGDevice.cpp", | 477 "src/svg/SkSVGDevice.cpp", |
452 "src/utils/mac/SkStream_mac.cpp", | 478 "src/utils/mac/SkStream_mac.cpp", |
453 "third_party/etc1/etc1.cpp", | 479 "third_party/etc1/etc1.cpp", |
454 "third_party/ktx/ktx.cpp", | 480 "third_party/ktx/ktx.cpp", |
455 ] | 481 ] |
456 | 482 |
457 # These paths need to be absolute to match the ones produced by | |
458 # shared_sources.gni, but this file may be used from different directory | |
459 # locations. | |
460 sources -= get_path_info([ | |
461 "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", | |
462 "src/gpu/gl/GrGLDefaultInterface_none.cpp", | |
463 ], | |
464 "abspath") | |
465 | |
466 libs = [] | 483 libs = [] |
467 | 484 |
468 if (is_win) { | 485 if (is_win) { |
469 sources += [ | 486 sources += [ |
470 "src/ports/SkDebug_win.cpp", | 487 "src/ports/SkDebug_win.cpp", |
471 "src/ports/SkFontHost_win.cpp", | 488 "src/ports/SkFontHost_win.cpp", |
472 "src/ports/SkFontMgr_win_dw.cpp", | 489 "src/ports/SkFontMgr_win_dw.cpp", |
473 "src/ports/SkFontMgr_win_dw_factory.cpp", | 490 "src/ports/SkFontMgr_win_dw_factory.cpp", |
474 "src/ports/SkImageEncoder_WIC.cpp", | 491 "src/ports/SkImageEncoder_WIC.cpp", |
475 "src/ports/SkImageGeneratorWIC.cpp", | 492 "src/ports/SkImageGeneratorWIC.cpp", |
(...skipping 11 matching lines...) Expand all Loading... |
487 "src/ports/SkTLS_pthread.cpp", | 504 "src/ports/SkTLS_pthread.cpp", |
488 "src/xps/SkDocument_XPS_None.cpp", | 505 "src/xps/SkDocument_XPS_None.cpp", |
489 ] | 506 ] |
490 } | 507 } |
491 | 508 |
492 if (is_android) { | 509 if (is_android) { |
493 deps += [ | 510 deps += [ |
494 "//third_party/cpu-features", | 511 "//third_party/cpu-features", |
495 "//third_party/expat", | 512 "//third_party/expat", |
496 ] | 513 ] |
497 sources += [ | 514 sources += [ "src/ports/SkDebug_android.cpp" ] |
498 "src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp", | |
499 "src/ports/SkDebug_android.cpp", | |
500 ] | |
501 libs += [ | 515 libs += [ |
502 "EGL", | 516 "EGL", |
503 "GLESv2", | 517 "GLESv2", |
504 "log", | 518 "log", |
505 ] | 519 ] |
506 } | 520 } |
507 | 521 |
508 if (is_linux) { | 522 if (is_linux) { |
509 libs += [ | 523 libs += [ |
510 "GL", | 524 "GL", |
511 "GLU", | 525 "GLU", |
512 "X11", | 526 "X11", |
513 ] | 527 ] |
514 sources += [ | 528 sources += [ "src/ports/SkDebug_stdio.cpp" ] |
515 "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp", | |
516 "src/ports/SkDebug_stdio.cpp", | |
517 ] | |
518 } | 529 } |
519 | 530 |
520 if (is_mac) { | 531 if (is_mac) { |
521 sources += [ | 532 sources += [ |
522 "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp", | |
523 "src/ports/SkDebug_stdio.cpp", | 533 "src/ports/SkDebug_stdio.cpp", |
524 "src/ports/SkFontHost_mac.cpp", | 534 "src/ports/SkFontHost_mac.cpp", |
525 "src/ports/SkImageEncoder_CG.cpp", | 535 "src/ports/SkImageEncoder_CG.cpp", |
526 "src/ports/SkImageGeneratorCG.cpp", | 536 "src/ports/SkImageGeneratorCG.cpp", |
527 ] | 537 ] |
528 libs += [ | 538 libs += [ |
529 "ApplicationServices.framework", | 539 "ApplicationServices.framework", |
530 "OpenGL.framework", | 540 "OpenGL.framework", |
531 ] | 541 ] |
532 } | 542 } |
533 | 543 |
534 if (is_fuchsia) { | 544 if (is_fuchsia) { |
535 sources += [ | 545 sources += [ "src/ports/SkDebug_stdio.cpp" ] |
536 "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", | |
537 "src/ports/SkDebug_stdio.cpp", | |
538 ] | |
539 } | 546 } |
540 } | 547 } |
541 | 548 |
542 skia_h_headers = exec_script("gyp/find.py", | 549 skia_h_headers = exec_script("gyp/find.py", |
543 [ "*.h" ] + rebase_path(skia_public_includes), | 550 [ "*.h" ] + rebase_path(skia_public_includes), |
544 "list lines", | 551 "list lines", |
545 []) - | 552 []) - |
546 [ | 553 [ |
547 rebase_path("include/gpu/gl/GrGLConfig_chrome.h"), | 554 rebase_path("include/gpu/gl/GrGLConfig_chrome.h"), |
548 rebase_path("include/gpu/vk/GrVkBackendContext.h"), | 555 rebase_path("include/gpu/vk/GrVkBackendContext.h"), |
549 rebase_path("include/gpu/vk/GrVkDefines.h"), | 556 rebase_path("include/gpu/vk/GrVkDefines.h"), |
550 rebase_path("include/gpu/vk/GrVkInterface.h"), | 557 rebase_path("include/gpu/vk/GrVkInterface.h"), |
551 rebase_path("include/gpu/vk/GrVkTypes.h"), | 558 rebase_path("include/gpu/vk/GrVkTypes.h"), |
552 rebase_path("include/ports/SkFontMgr_fontconfig.h"), | 559 rebase_path("include/ports/SkFontMgr_fontconfig.h"), |
553 ] | 560 ] |
554 | 561 |
555 action("skia.h") { | 562 action("skia.h") { |
556 script = "gn/echo_headers.py" | 563 script = "gn/echo_headers.py" |
557 args = [ rebase_path("$target_gen_dir/skia.h", root_build_dir) ] + | 564 args = [ rebase_path("$target_gen_dir/skia.h", root_build_dir) ] + |
558 rebase_path(skia_h_headers, target_gen_dir) | 565 rebase_path(skia_h_headers, target_gen_dir) |
559 outputs = [ | 566 outputs = [ |
560 "$target_gen_dir/skia.h", | 567 "$target_gen_dir/skia.h", |
561 ] | 568 ] |
562 } | 569 } |
563 | 570 |
564 if (target_cpu == "x64") { | 571 if (skia_enable_gpu && target_cpu == "x64") { |
565 # Our bots only have 64-bit libOSMesa installed. | 572 # Our bots only have 64-bit libOSMesa installed. |
566 # TODO: worth fixing? | 573 # TODO: worth fixing? |
567 executable("fiddle") { | 574 executable("fiddle") { |
568 include_dirs = [ "$target_gen_dir" ] | 575 include_dirs = [ "$target_gen_dir" ] |
569 libs = [] | 576 libs = [] |
570 if (is_linux) { | 577 if (is_linux) { |
571 libs += [ "OSMesa" ] | 578 libs += [ "OSMesa" ] |
572 } | 579 } |
573 | 580 |
574 sources = [ | 581 sources = [ |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
880 "tools/get_images_from_skps.cpp", | 887 "tools/get_images_from_skps.cpp", |
881 ] | 888 ] |
882 deps = [ | 889 deps = [ |
883 ":flags", | 890 ":flags", |
884 ":skia", | 891 ":skia", |
885 "//third_party/jsoncpp", | 892 "//third_party/jsoncpp", |
886 ] | 893 ] |
887 testonly = true | 894 testonly = true |
888 } | 895 } |
889 } | 896 } |
OLD | NEW |