Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Side by Side Diff: BUILD.gn

Issue 2167163002: Basic standalone GN configs. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fmt Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « .gn ('k') | DEPS » ('j') | gn/BUILDCONFIG.gn » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 declare_args() { 6 declare_args() {
7 } 7 }
8 8
9 # Skia public API, generally provided by :skia. 9 # Skia public API, generally provided by :skia.
10 config("skia_public") { 10 config("skia_public") {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 "src/sfnt", 44 "src/sfnt",
45 "src/utils", 45 "src/utils",
46 "third_party/etc1", 46 "third_party/etc1",
47 "third_party/ktx", 47 "third_party/ktx",
48 ] 48 ]
49 } 49 }
50 50
51 # Any code that's linked into Skia-the-library should use this config via += ski a_library_configs. 51 # Any code that's linked into Skia-the-library should use this config via += ski a_library_configs.
52 config("skia_library") { 52 config("skia_library") {
53 visibility = [ ":*" ] 53 visibility = [ ":*" ]
54
55 cflags = [
56 "-Winit-self",
57 "-Wpointer-arith",
58 "-Wsign-compare",
59 "-Wvla",
60 "-fstrict-aliasing",
61 ]
62 cflags_cc = [ "-Wnon-virtual-dtor" ]
63
64 defines = [ "SKIA_IMPLEMENTATION=1" ] 54 defines = [ "SKIA_IMPLEMENTATION=1" ]
65 } 55 }
66 56
67 skia_library_configs = [ 57 skia_library_configs = [
68 ":skia_public", 58 ":skia_public",
69 ":skia_private", 59 ":skia_private",
70 ":skia_library", 60 ":skia_library",
71 ] 61 ]
72 62
73 if (!defined(is_fuchsia)) { 63 core_gypi = exec_script("gn/gypi_to_gn.py",
74 is_fuchsia = current_os == "fuchsia"
75 }
76
77 unwanted_configs = []
78
79 if (!is_fuchsia) {
80 # Chrome's GN environment is mostly helpful, but a couple default configs tend to get in the way.
81 unwanted_configs += [
82 "//build/config/clang:find_bad_constructs", # Chrome style checks.
83 "//build/config:feature_flags", # A bunch of #defines we don't care about.
84 ]
85 }
86
87 core_gypi = exec_script("//build/gypi_to_gn.py",
88 [ 64 [
89 rebase_path("gyp/core.gypi"), 65 rebase_path("gyp/core.gypi"),
90 "--replace=<(skia_include_path)=include", 66 "--replace=<(skia_include_path)=include",
91 "--replace=<(skia_src_path)=src", 67 "--replace=<(skia_src_path)=src",
92 ], 68 ],
93 "scope", 69 "scope",
94 [ "gyp/core.gypi" ]) 70 [ "gyp/core.gypi" ])
95 71
96 effects_gypi = exec_script("//build/gypi_to_gn.py", 72 effects_gypi = exec_script("gn/gypi_to_gn.py",
97 [ 73 [
98 rebase_path("gyp/effects.gypi"), 74 rebase_path("gyp/effects.gypi"),
99 "--replace=<(skia_include_path)=include", 75 "--replace=<(skia_include_path)=include",
100 "--replace=<(skia_src_path)=src", 76 "--replace=<(skia_src_path)=src",
101 ], 77 ],
102 "scope", 78 "scope",
103 [ "gyp/effects.gypi" ]) 79 [ "gyp/effects.gypi" ])
104 80
105 gpu_gypi = exec_script("//build/gypi_to_gn.py", 81 gpu_gypi = exec_script("gn/gypi_to_gn.py",
106 [ 82 [
107 rebase_path("gyp/gpu.gypi"), 83 rebase_path("gyp/gpu.gypi"),
108 "--replace=<(skia_include_path)=include", 84 "--replace=<(skia_include_path)=include",
109 "--replace=<(skia_src_path)=src", 85 "--replace=<(skia_src_path)=src",
110 ], 86 ],
111 "scope", 87 "scope",
112 [ "gyp/gpu.gypi" ]) 88 [ "gyp/gpu.gypi" ])
113 89
114 opts_gypi = exec_script("//build/gypi_to_gn.py", 90 opts_gypi = exec_script("gn/gypi_to_gn.py",
115 [ 91 [
116 rebase_path("gyp/opts.gypi"), 92 rebase_path("gyp/opts.gypi"),
117 "--replace=<(skia_include_path)=include", 93 "--replace=<(skia_include_path)=include",
118 "--replace=<(skia_src_path)=src", 94 "--replace=<(skia_src_path)=src",
119 ], 95 ],
120 "scope", 96 "scope",
121 [ "gyp/opts.gypi" ]) 97 [ "gyp/opts.gypi" ])
122 98
123 pdf_gypi = exec_script("//build/gypi_to_gn.py", 99 pdf_gypi = exec_script("gn/gypi_to_gn.py",
124 [ 100 [
125 rebase_path("gyp/pdf.gypi"), 101 rebase_path("gyp/pdf.gypi"),
126 "--replace=<(skia_include_path)=include", 102 "--replace=<(skia_include_path)=include",
127 "--replace=<(skia_src_path)=src", 103 "--replace=<(skia_src_path)=src",
128 ], 104 ],
129 "scope", 105 "scope",
130 [ "gyp/pdf.gypi" ]) 106 [ "gyp/pdf.gypi" ])
131 107
132 utils_gypi = exec_script("//build/gypi_to_gn.py", 108 utils_gypi = exec_script("gn/gypi_to_gn.py",
133 [ 109 [
134 rebase_path("gyp/utils.gypi"), 110 rebase_path("gyp/utils.gypi"),
135 "--replace=<(skia_include_path)=include", 111 "--replace=<(skia_include_path)=include",
136 "--replace=<(skia_src_path)=src", 112 "--replace=<(skia_src_path)=src",
137 ], 113 ],
138 "scope", 114 "scope",
139 [ "gyp/utils.gypi" ]) 115 [ "gyp/utils.gypi" ])
140 116
141 source_set("opts_ssse3") { 117 source_set("opts_ssse3") {
142 configs += skia_library_configs 118 configs += skia_library_configs
143 configs -= unwanted_configs
144 119
145 sources = opts_gypi.ssse3_sources 120 sources = opts_gypi.ssse3_sources
146 cflags = [ "-mssse3" ] 121 cflags = [ "-mssse3" ]
147 } 122 }
148 123
149 source_set("opts_sse41") { 124 source_set("opts_sse41") {
150 configs += skia_library_configs 125 configs += skia_library_configs
151 configs -= unwanted_configs
152 126
153 sources = opts_gypi.sse41_sources 127 sources = opts_gypi.sse41_sources
154 cflags = [ "-msse4.1" ] 128 cflags = [ "-msse4.1" ]
155 } 129 }
156 130
157 source_set("opts_avx") { 131 source_set("opts_avx") {
158 configs += skia_library_configs 132 configs += skia_library_configs
159 configs -= unwanted_configs
160 133
161 sources = opts_gypi.avx_sources 134 sources = opts_gypi.avx_sources
162 cflags = [ "-mavx" ] 135 cflags = [ "-mavx" ]
163 } 136 }
164 137
165 component("skia") { 138 component("skia") {
166 public_configs = [ ":skia_public" ] 139 public_configs = [ ":skia_public" ]
167 configs += skia_library_configs 140 configs += skia_library_configs
168 configs -= unwanted_configs
169 141
170 deps = [ 142 deps = [
171 ":opts_avx", 143 ":opts_avx",
172 ":opts_sse41", 144 ":opts_sse41",
173 ":opts_ssse3", 145 ":opts_ssse3",
174 "//third_party/zlib", 146 "//third_party/zlib",
175 ] 147 ]
176 148
177 libs = [] 149 libs = [ "pthread" ]
178 150
179 sources = [] 151 sources = []
180 sources += core_gypi.sources 152 sources += core_gypi.sources
181 sources += effects_gypi.sources 153 sources += effects_gypi.sources
182 sources += gpu_gypi.skgpu_sources 154 sources += gpu_gypi.skgpu_sources
183 sources += opts_gypi.sse2_sources 155 sources += opts_gypi.sse2_sources
184 sources += pdf_gypi.sources 156 sources += pdf_gypi.sources
185 sources += utils_gypi.sources 157 sources += utils_gypi.sources
186 sources += [ 158 sources += [
187 "src/images/SkImageEncoder.cpp", 159 "src/images/SkImageEncoder.cpp",
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 ] 219 ]
248 libs += [ "ApplicationServices.framework" ] 220 libs += [ "ApplicationServices.framework" ]
249 } 221 }
250 222
251 if (is_fuchsia) { 223 if (is_fuchsia) {
252 sources += [ "src/ports/SkFontMgr_empty_factory.cpp" ] 224 sources += [ "src/ports/SkFontMgr_empty_factory.cpp" ]
253 } 225 }
254 } 226 }
255 227
256 executable("example") { 228 executable("example") {
257 configs -= unwanted_configs
258
259 sources = [ 229 sources = [
260 "cmake/example.cpp", 230 "cmake/example.cpp",
261 ] 231 ]
262 deps = [ 232 deps = [
263 ":skia", 233 ":skia",
264 ] 234 ]
265 235
266 libs = [] 236 libs = []
267 if (is_mac) { 237 if (is_mac) {
268 libs += [ "OpenGL.framework" ] 238 libs += [ "OpenGL.framework" ]
269 } 239 }
270 } 240 }
OLDNEW
« no previous file with comments | « .gn ('k') | DEPS » ('j') | gn/BUILDCONFIG.gn » ('J')

Powered by Google App Engine
This is Rietveld 408576698