Upstream version 8.37.180.0
[platform/framework/web/crosswalk.git] / src / BUILD.gn
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 # This is the root build file for GN. GN will start processing by loading this
6 # file, and recursively load all dependencies until all dependencies are either
7 # resolved or known not to exist (which will cause the build to fail). So if
8 # you add a new build file, there must be some path of dependencies from this
9 # file to your new one or GN won't know about it.
10
11 import("//build/config/ui.gni")
12
13 # In GN, a "group" is a dummy target that just lists other targets.
14 group("root") {
15   # Note that some dependencies are commented out. These are things that are
16   # currently written but not hooked up to the build yet. They may need to be
17   # completed or possibly just tested and then re-enabled.
18   deps = [
19     # This is a temporary test of the not-yet-complete NaCl cross-compilation.
20     #"//base(//build/toolchain/nacl:x86_newlib)",
21
22     "//apps/common/api:apps_api",
23     "//cc",
24     "//chrome/common",
25     "//components:all_components",
26     "//content",
27     "//crypto",
28     "//extensions/common/api:extensions_api",
29     "//device/usb",
30     "//gin",
31     "//gpu",
32     "//google_apis",
33     "//ipc",
34     "//mojo",
35     "//mojo/common",
36     "//mojo/environment:chromium",
37     "//mojo/service_manager",
38     "//mojo/system",
39     "//net",
40     "//pdf",
41     "//ppapi:ppapi_c",
42     "//printing",
43     "//sandbox",
44     "//sdch",
45     "//skia",
46     "//sql",
47     "//third_party/angle:translator",
48     "//third_party/brotli",
49     "//third_party/ffmpeg",
50     "//third_party/flac",
51     "//third_party/harfbuzz-ng",
52     "//third_party/iccjpeg",
53     "//third_party/icu",
54     "//third_party/leveldatabase",
55     "//third_party/libpng",
56     "//third_party/libusb",
57     "//third_party/libwebm",
58     "//third_party/libwebp",
59     "//third_party/libxslt",
60     "//third_party/libyuv",
61     "//third_party/lzma_sdk",
62     "//third_party/mesa",
63     "//third_party/ots",
64     "//third_party/protobuf:protobuf_lite",
65     "//third_party/qcms",
66     "//third_party/re2",
67     "//third_party/smhasher:cityhash",
68     "//third_party/smhasher:murmurhash3",
69     "//third_party/smhasher:pmurhash",
70     "//third_party/speex",
71     "//third_party/WebKit/public:all_blink",
72     "//third_party/widevine/cdm:version_h",
73     "//third_party/zlib",
74     "//third_party:jpeg",
75     "//tools/gn",
76     "//ui/aura",
77     "//ui/accessibility",
78     "//ui/base",
79     "//ui/events",
80     "//ui/gfx",
81     "//ui/gl",
82     "//ui/native_theme",
83     "//ui/resources",
84     "//ui/snapshot",
85     "//ui/strings",
86     "//ui/surface",
87     "//url",
88     "//v8:v8",
89     "//webkit/browser:storage",
90     "//webkit/child",
91   ]
92
93   if (!is_win) {
94     deps += [ "//breakpad:symupload" ]
95   }
96
97   if (is_linux) {
98     deps += [
99       "//dbus",
100       "//third_party/fontconfig",
101       "//third_party/freetype2",
102     ]
103   }
104
105   if (is_win) {
106     deps += [
107       "//ui/metro_viewer",
108     ]
109   }
110
111   if (is_win || is_mac || is_chromeos) {
112     # RLZ works on these platforms.
113     deps += [
114       "//rlz:rlz_lib",
115     ]
116   }
117
118   if (cpu_arch == "x86" || cpu_arch == "x64") {
119     # YASM is x86/x64 only.
120     deps += [ "//third_party/yasm($host_toolchain)" ]
121   }
122
123   if (is_android) {
124     deps -= [
125       "//cc",
126       "//chrome/common",  # Blocked on content.
127       "//content",
128       "//extensions/common/api:extensions_api",
129       "//pdf",  # Not compiled on Android in GYP yet, either.
130       "//ppapi:ppapi_c",
131       "//sandbox",
132       "//third_party/libusb",
133
134       # Seems to not be compiled on Android. Otherwise it will need a config.h.
135       "//third_party/libxslt",
136
137       "//tools/gn",
138       "//ui/aura",
139
140       # Fails on Android for unknown reasons.
141       "//third_party/flac",
142       "//breakpad:symupload",
143
144       # TODO(brettw) make Blink work on Android.
145       "//third_party/WebKit/public:all_blink",
146
147       # Not tested on Android yet:
148       "//third_party/ffmpeg",
149       "//webkit/browser:storage",
150       "//webkit/child",
151     ]
152   }
153
154   if (use_ozone) {
155     deps += [
156       "//ui/events/ozone:events_ozone",
157       "//ui/events/ozone:events_ozone_evdev",
158     ]
159   }
160 }