| OLD | NEW |
| (Empty) |
| 1 # Copyright 2016 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 import("../mojo_sdk.gni") | |
| 6 | |
| 7 config("c_config") { | |
| 8 include_dirs = [ "include" ] | |
| 9 } | |
| 10 | |
| 11 # Catch-all for all public C headers/libraries, except for the bindings. | |
| 12 group("c") { | |
| 13 public_deps = [ | |
| 14 ":common", | |
| 15 ":system", | |
| 16 ] | |
| 17 } | |
| 18 | |
| 19 # bindings --------------------------------------------------------------------- | |
| 20 | |
| 21 # Headers in include/mojo/bindings (to be included as <mojo/bindings/HEADER.h>) | |
| 22 # and library in lib/bindings. | |
| 23 # | |
| 24 # Depends on :common and :system (minimally -- just <mojo/system/handle.h>). | |
| 25 | |
| 26 mojo_sdk_source_set("bindings") { | |
| 27 public_configs = [ ":c_config" ] | |
| 28 | |
| 29 sources = [ | |
| 30 # Public headers. | |
| 31 "include/mojo/bindings/array.h", | |
| 32 "include/mojo/bindings/buffer.h", | |
| 33 "include/mojo/bindings/interface.h", | |
| 34 "include/mojo/bindings/map.h", | |
| 35 "include/mojo/bindings/message.h", | |
| 36 "include/mojo/bindings/string.h", | |
| 37 "include/mojo/bindings/struct.h", | |
| 38 "include/mojo/bindings/union.h", | |
| 39 "include/mojo/bindings/validation.h", | |
| 40 | |
| 41 # Internal headers. | |
| 42 "include/mojo/bindings/internal/type_descriptor.h", | |
| 43 "include/mojo/bindings/internal/util.h", | |
| 44 | |
| 45 # Implementation library. | |
| 46 # TODO(vtl): Maybe separate this out into a separate source set (or even | |
| 47 # static library?). | |
| 48 "lib/bindings/array.c", | |
| 49 "lib/bindings/buffer.c", | |
| 50 "lib/bindings/map.c", | |
| 51 "lib/bindings/message.c", | |
| 52 "lib/bindings/struct.c", | |
| 53 "lib/bindings/type_descriptor.c", | |
| 54 "lib/bindings/union.c", | |
| 55 ] | |
| 56 | |
| 57 deps = [ | |
| 58 ":system", | |
| 59 ] | |
| 60 } | |
| 61 | |
| 62 mojo_sdk_source_set("bindings_unittests") { | |
| 63 testonly = true | |
| 64 | |
| 65 sources = [ | |
| 66 "tests/bindings/array_unittest.cc", | |
| 67 "tests/bindings/buffer_unittest.cc", | |
| 68 "tests/bindings/message_unittest.cc", | |
| 69 "tests/bindings/struct_unittest.cc", | |
| 70 "tests/bindings/testing_util.h", | |
| 71 "tests/bindings/union_unittest.cc", | |
| 72 "tests/bindings/validation_unittest.cc", | |
| 73 ] | |
| 74 | |
| 75 deps = [ | |
| 76 ":bindings", | |
| 77 ] | |
| 78 | |
| 79 mojo_sdk_deps = [ | |
| 80 "mojo/public:gtest", | |
| 81 "mojo/public/cpp/bindings/tests:mojo_public_bindings_test_utils", | |
| 82 "mojo/public/cpp/bindings/tests:validation_util", | |
| 83 "mojo/public/cpp/test_support", | |
| 84 "mojo/public/cpp/system", | |
| 85 | |
| 86 # The "_c" suffix'd target compiles the generated C bindings to this mojom | |
| 87 # target. | |
| 88 "mojo/public/interfaces/bindings/tests:test_interfaces_c", | |
| 89 ] | |
| 90 } | |
| 91 | |
| 92 # common ----------------------------------------------------------------------- | |
| 93 | |
| 94 # Headers in include/mojo (to be included as <mojo/HEADER.h>). | |
| 95 # | |
| 96 # Depends on nothing. | |
| 97 | |
| 98 mojo_sdk_source_set("common") { | |
| 99 public_configs = [ ":c_config" ] | |
| 100 | |
| 101 sources = [ | |
| 102 "include/mojo/macros.h", | |
| 103 "include/mojo/result.h", | |
| 104 ] | |
| 105 } | |
| 106 | |
| 107 mojo_sdk_source_set("common_unittests") { | |
| 108 testonly = true | |
| 109 | |
| 110 sources = [ | |
| 111 "tests/macros_unittest.cc", | |
| 112 "tests/result_unittest.cc", | |
| 113 ] | |
| 114 | |
| 115 deps = [ | |
| 116 ":common", | |
| 117 ] | |
| 118 | |
| 119 mojo_sdk_deps = [ "mojo/public:gtest" ] | |
| 120 } | |
| 121 | |
| 122 # environment ------------------------------------------------------------------ | |
| 123 | |
| 124 # Headers in include/mojo/environment (to be included as | |
| 125 # <mojo//environment/HEADER.h>). | |
| 126 # | |
| 127 # Depends on :system (and thus :common). | |
| 128 | |
| 129 mojo_sdk_source_set("environment") { | |
| 130 public_configs = [ ":c_config" ] | |
| 131 | |
| 132 sources = [ | |
| 133 "include/mojo/environment/async_waiter.h", | |
| 134 "include/mojo/environment/logger.h", | |
| 135 ] | |
| 136 | |
| 137 public_deps = [ | |
| 138 ":system", | |
| 139 ] | |
| 140 } | |
| 141 | |
| 142 mojo_sdk_source_set("environment_perftest_helpers") { | |
| 143 testonly = true | |
| 144 | |
| 145 sources = [ | |
| 146 "tests/environment/async_waiter_perftest_helpers.cc", | |
| 147 "tests/environment/async_waiter_perftest_helpers.h", | |
| 148 ] | |
| 149 | |
| 150 public_deps = [ | |
| 151 ":environment", | |
| 152 ] | |
| 153 | |
| 154 mojo_sdk_deps = [ "mojo/public/cpp/system" ] | |
| 155 } | |
| 156 | |
| 157 # gpu / gpu_onscreen ----------------------------------------------------------- | |
| 158 | |
| 159 # TODO(vtl): Rationalize this to be more like the others. Probably, we should | |
| 160 # just have :GLES2, :MGL, etc. targets (and no :gpu/:gpu_onscreen). | |
| 161 | |
| 162 group("gpu") { | |
| 163 public_deps = [ | |
| 164 ":GLES2", | |
| 165 ":MGL", | |
| 166 ":MGL_signal_sync_point", | |
| 167 ] | |
| 168 | |
| 169 deps = [ | |
| 170 "../platform/native:gles2_thunks", | |
| 171 ] | |
| 172 if (!is_nacl) { | |
| 173 deps += [ "../platform/native:mgl_thunks" ] | |
| 174 } | |
| 175 } | |
| 176 | |
| 177 group("gpu_onscreen") { | |
| 178 public_deps = [ | |
| 179 ":MGL_onscreen", | |
| 180 ":gpu", | |
| 181 ] | |
| 182 | |
| 183 if (!is_nacl) { | |
| 184 deps = [ | |
| 185 "../platform/native:mgl_onscreen_thunks", | |
| 186 ] | |
| 187 } | |
| 188 } | |
| 189 | |
| 190 mojo_sdk_source_set("MGL") { | |
| 191 public_configs = [ ":c_config" ] | |
| 192 | |
| 193 sources = [ | |
| 194 "include/MGL/mgl.h", | |
| 195 "include/MGL/mgl_types.h", | |
| 196 ] | |
| 197 | |
| 198 public_deps = [ | |
| 199 ":system", | |
| 200 ] | |
| 201 } | |
| 202 | |
| 203 mojo_sdk_source_set("MGL_onscreen") { | |
| 204 public_configs = [ ":c_config" ] | |
| 205 | |
| 206 sources = [ | |
| 207 "include/MGL/mgl_onscreen.h", | |
| 208 ] | |
| 209 | |
| 210 public_deps = [ | |
| 211 ":MGL", | |
| 212 ] | |
| 213 } | |
| 214 | |
| 215 mojo_sdk_source_set("MGL_echo") { | |
| 216 public_configs = [ ":c_config" ] | |
| 217 | |
| 218 sources = [ | |
| 219 "include/MGL/mgl_echo.h", | |
| 220 ] | |
| 221 | |
| 222 public_deps = [ | |
| 223 ":MGL", | |
| 224 ] | |
| 225 } | |
| 226 | |
| 227 mojo_sdk_source_set("MGL_signal_sync_point") { | |
| 228 public_configs = [ ":c_config" ] | |
| 229 | |
| 230 sources = [ | |
| 231 "include/MGL/mgl_signal_sync_point.h", | |
| 232 ] | |
| 233 | |
| 234 public_deps = [ | |
| 235 ":MGL", | |
| 236 ] | |
| 237 } | |
| 238 | |
| 239 mojo_sdk_source_set("GLES2") { | |
| 240 public_configs = [ ":c_config" ] | |
| 241 | |
| 242 sources = [ | |
| 243 "include/GLES2/gl2.h", | |
| 244 "include/GLES2/gl2ext.h", | |
| 245 "include/GLES2/gl2extmojo.h", | |
| 246 "include/GLES2/gl2mojo_autogen.h", | |
| 247 "include/GLES2/gl2mojo_internal.h", | |
| 248 "include/GLES2/gl2platform.h", | |
| 249 ] | |
| 250 | |
| 251 public_deps = [ | |
| 252 ":KHR", | |
| 253 ] | |
| 254 } | |
| 255 | |
| 256 mojo_sdk_source_set("KHR") { | |
| 257 public_configs = [ ":c_config" ] | |
| 258 | |
| 259 sources = [ | |
| 260 "include/KHR/khrplatform.h", | |
| 261 ] | |
| 262 } | |
| 263 | |
| 264 # system ----------------------------------------------------------------------- | |
| 265 | |
| 266 # Headers in include/mojo/system (to be included as <mojo/system/HEADER.h>). | |
| 267 # | |
| 268 # Depends on :common. | |
| 269 | |
| 270 mojo_sdk_source_set("system") { | |
| 271 public_configs = [ ":c_config" ] | |
| 272 | |
| 273 sources = [ | |
| 274 "include/mojo/system/buffer.h", | |
| 275 "include/mojo/system/data_pipe.h", | |
| 276 "include/mojo/system/handle.h", | |
| 277 "include/mojo/system/main.h", | |
| 278 "include/mojo/system/message_pipe.h", | |
| 279 "include/mojo/system/time.h", | |
| 280 "include/mojo/system/wait.h", | |
| 281 "include/mojo/system/wait_set.h", | |
| 282 ] | |
| 283 | |
| 284 public_deps = [ | |
| 285 ":common", | |
| 286 ] | |
| 287 } | |
| 288 | |
| 289 mojo_sdk_source_set("system_unittests") { | |
| 290 testonly = true | |
| 291 | |
| 292 sources = [ | |
| 293 "tests/system/buffer_unittest.cc", | |
| 294 "tests/system/data_pipe_unittest.cc", | |
| 295 "tests/system/handle_unittest.cc", | |
| 296 "tests/system/message_pipe_unittest.cc", | |
| 297 "tests/system/time_unittest.cc", | |
| 298 "tests/system/wait_set_unittest.cc", | |
| 299 "tests/system/wait_unittest.cc", | |
| 300 ] | |
| 301 | |
| 302 deps = [ | |
| 303 ":system", | |
| 304 ] | |
| 305 | |
| 306 mojo_sdk_deps = [ "mojo/public:gtest" ] | |
| 307 } | |
| 308 | |
| 309 mojo_sdk_source_set("system_perftests") { | |
| 310 testonly = true | |
| 311 | |
| 312 sources = [ | |
| 313 "tests/system/message_pipe_perftest.cc", | |
| 314 "tests/system/perftest_utils.cc", | |
| 315 "tests/system/perftest_utils.h", | |
| 316 "tests/system/reference_perftest.cc", | |
| 317 "tests/system/wait_set_perftest.cc", | |
| 318 ] | |
| 319 | |
| 320 deps = [ | |
| 321 ":system", | |
| 322 ] | |
| 323 | |
| 324 mojo_sdk_deps = [ | |
| 325 "mojo/public:gtest", | |
| 326 "mojo/public/cpp/test_support", | |
| 327 ] | |
| 328 } | |
| 329 | |
| 330 # Compilation tests ------------------------------------------------------------ | |
| 331 | |
| 332 # This test ensures that various headers compile and link properly. | |
| 333 mojo_sdk_source_set("compile_unittests") { | |
| 334 testonly = true | |
| 335 | |
| 336 sources = [ | |
| 337 "tests/compile/compile_unittest.cc", | |
| 338 ] | |
| 339 | |
| 340 deps = [ | |
| 341 ":pure_compile_tests", | |
| 342 ] | |
| 343 | |
| 344 mojo_sdk_deps = [ "mojo/public:gtest" ] | |
| 345 } | |
| 346 | |
| 347 # This source set contains "pure" tests that only depend on the public SDK (and | |
| 348 # the standard library), and in particular not on gtest (whose headers don't | |
| 349 # compile with "-Wundef"). | |
| 350 mojo_sdk_source_set("pure_compile_tests") { | |
| 351 testonly = true | |
| 352 | |
| 353 visibility = [ ":compile_unittests" ] | |
| 354 | |
| 355 cflags = [ "-Wundef" ] | |
| 356 | |
| 357 sources = [ | |
| 358 "tests/compile/pure_c.c", | |
| 359 "tests/compile/pure_cpp.cc", | |
| 360 ] | |
| 361 | |
| 362 mojo_sdk_deps = [ "mojo/public/c:environment" ] | |
| 363 } | |
| OLD | NEW |