• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2019 The SwiftShader Authors. All Rights Reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#    http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15import("../../src/swiftshader.gni")
16
17import("//testing/test.gni")
18
19config("marl_config") {
20  include_dirs = [ "include" ]
21}
22
23swiftshader_source_set("Marl_headers") {
24  sources = [
25    "include/marl/blockingcall.h",
26    "include/marl/conditionvariable.h",
27    "include/marl/containers.h",
28    "include/marl/debug.h",
29    "include/marl/defer.h",
30    "include/marl/event.h",
31    "include/marl/finally.h",
32    "include/marl/memory.h",
33    "include/marl/mutex.h",
34    "include/marl/parallelize.h",
35    "include/marl/pool.h",
36    "include/marl/sanitizers.h",
37    "include/marl/scheduler.h",
38    "include/marl/task.h",
39    "include/marl/thread.h",
40    "include/marl/ticket.h",
41    "include/marl/trace.h",
42    "include/marl/tsa.h",
43    "include/marl/waitgroup.h",
44  ]
45
46  public_configs = [
47    ":marl_config",
48  ]
49}
50
51swiftshader_source_set("Marl") {
52  sources = [
53    "src/debug.cpp",
54    "src/memory.cpp",
55    "src/scheduler.cpp",
56    "src/thread.cpp",
57    "src/trace.cpp",
58  ]
59
60  if (!is_win) {
61    sources += [
62      "src/osfiber_aarch64.c",
63      "src/osfiber_arm.c",
64      "src/osfiber_asm_aarch64.S",
65      "src/osfiber_asm_arm.S",
66      "src/osfiber_asm_mips64.S",
67      "src/osfiber_asm_ppc64.S",
68      "src/osfiber_asm_x64.S",
69      "src/osfiber_asm_x86.S",
70      "src/osfiber_mips64.c",
71      "src/osfiber_ppc64.c",
72      "src/osfiber_x64.c",
73      "src/osfiber_x86.c",
74    ]
75  }
76
77  public_deps = [
78    ":Marl_headers",
79  ]
80}
81