blob: 583f86f375a55063361edbf047d239d48e477b8c [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': [
borenet43bf5112016-04-29 14:01:34 -070036 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]',
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000037 {
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': [
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000066 'external/freetype/include',
67 ],
68 'libraries': [
69 '-lft2',
70 ],
71 }
djsollen@google.com2679ff82013-07-22 14:12:56 +000072 ],
djsollen@google.com2679ff82013-07-22 14:12:56 +000073 ],
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000074 }
75 ],
djsollen@google.com2679ff82013-07-22 14:12:56 +000076 ],
77 },
78 {
79 'target_name': 'freetype_static',
reed@google.comb76b34e2011-11-10 15:00:52 +000080 'type': 'static_library',
borenet@google.com5661c5b2013-02-27 14:12:55 +000081 'standalone_static_library': 1,
djsollen@google.com2e767c32013-07-23 12:22:11 +000082 'dependencies': [
83 # we are dependent upon PNG for color emoji glyphs
commit-bot@chromium.orgf84722e2014-02-24 20:22:34 +000084 'libpng.gyp:libpng',
djsollen@google.com2e767c32013-07-23 12:22:11 +000085 ],
commit-bot@chromium.org327c0812013-08-20 18:57:01 +000086 'includes': [
mtklein22712562015-03-11 11:55:13 -070087 # TODO: merge this back in here?
commit-bot@chromium.org327c0812013-08-20 18:57:01 +000088 'freetype.gypi',
vandebo@chromium.org54c538e2013-08-20 17:06:22 +000089 ],
borenet@google.com7158e6a2012-11-01 17:43:44 +000090 'conditions': [
borenet@google.com7158e6a2012-11-01 17:43:44 +000091 [ 'skia_os == "android"', {
92 # These flags are used by the Android OS. They are probably overkill
93 # for Skia, but we add them for consistency.
94 'cflags': [
95 '-W',
96 '-Wall',
97 '-fPIC',
98 '-DPIC',
99 '-DDARWIN_NO_CARBON',
100 '-DFT2_BUILD_LIBRARY',
101 '-O2',
102 ],
borenet@google.com7158e6a2012-11-01 17:43:44 +0000103 }],
djsollenf9deeb62016-03-07 12:30:47 -0800104 [ 'skia_clang_build == 1', {
105 'cflags':[
djsollen460f4052016-04-25 11:45:35 -0700106 '-w',
djsollenf9deeb62016-03-07 12:30:47 -0800107 ],
108 }],
borenet@google.com7158e6a2012-11-01 17:43:44 +0000109 ],
reed@google.comb76b34e2011-11-10 15:00:52 +0000110 },
reed@google.comb76b34e2011-11-10 15:00:52 +0000111 ],
112}