blob: 85018a49acf1bed0b32a33700afad17c922ea72c [file] [log] [blame]
scroggo3e562272015-03-25 10:22:41 -07001# Copyright 2015 Google Inc.
2#
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
commit-bot@chromium.org2982a4f2014-01-21 19:48:47 +00005# Target for building freetype.
reed@google.comb76b34e2011-11-10 15:00:52 +00006{
reed@google.comb76b34e2011-11-10 15:00:52 +00007 'targets': [
8 {
borenet@google.com7158e6a2012-11-01 17:43:44 +00009 'target_name': 'freetype',
djsollen@google.com2679ff82013-07-22 14:12:56 +000010 'type': 'none',
11 'conditions': [
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000012 [ 'skia_freetype_static',
13 {
14 'dependencies': [
15 'freetype_static'
djsollen@google.com2679ff82013-07-22 14:12:56 +000016 ],
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000017 'export_dependent_settings': [
18 'freetype_static'
19 ],
20 'conditions': [
borenet48087572015-04-02 12:16:36 -070021 [ 'skia_os == "android"',
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000022 {
23 'direct_dependent_settings': {
24 'defines': [
borenet48087572015-04-02 12:16:36 -070025 # Android provides at least FreeType 2.4.0
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000026 'SK_FONTHOST_FREETYPE_RUNTIME_VERSION=0x020400',
27 'SK_CAN_USE_DLOPEN=0',
28 ],
29 }
30 }
31 ]
32 ],
33 }, { # (not skia_freetype_static)
34 # dynamic linking depends on the OS:
35 'conditions': [
36 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos"]',
37 {
38 'direct_dependent_settings': {
39 'include_dirs' : [
40 '/usr/include/freetype2',
41 ],
42 'link_settings': {
43 'libraries': [
44 '-lfreetype',
45 ],
46 },
47 'defines': [
bungeman5ec443c2014-11-21 13:18:34 -080048 # Skia's FreeType port requires at least FreeType 2.3.8
49 # for building and at runtime.
50 'SK_FONTHOST_FREETYPE_RUNTIME_VERSION=0x020308',
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000051 'SK_CAN_USE_DLOPEN=1',
52 ],
53 }
54 },
djsollen@google.com2679ff82013-07-22 14:12:56 +000055 ],
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000056 [ 'skia_android_framework',
57 {
58 'direct_dependent_settings': {
59 'defines': [
60 # Android provides at least FreeType 2.4.0
61 'SK_FONTHOST_FREETYPE_RUNTIME_VERSION=0x020400',
62 'SK_CAN_USE_DLOPEN=0',
63 ],
64 },
65 'include_dirs': [
66 'external/expat/lib',
67 'external/freetype/include',
68 ],
69 'libraries': [
70 '-lft2',
71 ],
72 }
djsollen@google.com2679ff82013-07-22 14:12:56 +000073 ],
djsollen@google.com2679ff82013-07-22 14:12:56 +000074 ],
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000075 }
76 ],
djsollen@google.com2679ff82013-07-22 14:12:56 +000077 ],
78 },
79 {
80 'target_name': 'freetype_static',
reed@google.comb76b34e2011-11-10 15:00:52 +000081 'type': 'static_library',
borenet@google.com5661c5b2013-02-27 14:12:55 +000082 'standalone_static_library': 1,
djsollen@google.com2e767c32013-07-23 12:22:11 +000083 'dependencies': [
84 # we are dependent upon PNG for color emoji glyphs
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000085 'libpng.gyp:libpng',
djsollen@google.com2e767c32013-07-23 12:22:11 +000086 ],
commit-bot@chromium.org327c0812013-08-20 18:57:01 +000087 'includes': [
mtklein22712562015-03-11 11:55:13 -070088 # TODO: merge this back in here?
commit-bot@chromium.org327c0812013-08-20 18:57:01 +000089 'freetype.gypi',
vandebo@chromium.org54c538e2013-08-20 17:06:22 +000090 ],
91 'include_dirs': [
92 '../third_party/freetype/include_overrides',
reed@google.comb76b34e2011-11-10 15:00:52 +000093 ],
94 'direct_dependent_settings': {
95 'include_dirs': [
djsollen@google.combcc6d7d2013-07-23 15:51:12 +000096 '../third_party/freetype/include_overrides',
reed@google.comb76b34e2011-11-10 15:00:52 +000097 ],
98 },
borenet@google.com7158e6a2012-11-01 17:43:44 +000099 'conditions': [
borenet@google.com7158e6a2012-11-01 17:43:44 +0000100 [ 'skia_os == "android"', {
101 # These flags are used by the Android OS. They are probably overkill
102 # for Skia, but we add them for consistency.
103 'cflags': [
104 '-W',
105 '-Wall',
106 '-fPIC',
107 '-DPIC',
108 '-DDARWIN_NO_CARBON',
109 '-DFT2_BUILD_LIBRARY',
110 '-O2',
111 ],
borenet@google.com7158e6a2012-11-01 17:43:44 +0000112 }],
113 ],
reed@google.comb76b34e2011-11-10 15:00:52 +0000114 },
reed@google.comb76b34e2011-11-10 15:00:52 +0000115 ],
116}