xref: /aosp_15_r20/external/swiftshader/third_party/marl/BUILD.gn (revision 03ce13f70fcc45d86ee91b7ee4cab1936a95046e)
1*03ce13f7SAndroid Build Coastguard Worker# Copyright 2019 The SwiftShader Authors. All Rights Reserved.
2*03ce13f7SAndroid Build Coastguard Worker#
3*03ce13f7SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*03ce13f7SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*03ce13f7SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*03ce13f7SAndroid Build Coastguard Worker#
7*03ce13f7SAndroid Build Coastguard Worker#    http://www.apache.org/licenses/LICENSE-2.0
8*03ce13f7SAndroid Build Coastguard Worker#
9*03ce13f7SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*03ce13f7SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*03ce13f7SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*03ce13f7SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*03ce13f7SAndroid Build Coastguard Worker# limitations under the License.
14*03ce13f7SAndroid Build Coastguard Worker
15*03ce13f7SAndroid Build Coastguard Workerimport("../../src/swiftshader.gni")
16*03ce13f7SAndroid Build Coastguard Worker
17*03ce13f7SAndroid Build Coastguard Workerimport("//testing/test.gni")
18*03ce13f7SAndroid Build Coastguard Worker
19*03ce13f7SAndroid Build Coastguard Workerconfig("marl_config") {
20*03ce13f7SAndroid Build Coastguard Worker  include_dirs = [ "include" ]
21*03ce13f7SAndroid Build Coastguard Worker  if (!is_win) {
22*03ce13f7SAndroid Build Coastguard Worker    defines = [ "MARL_USE_PTHREAD_THREAD_LOCAL=1" ]
23*03ce13f7SAndroid Build Coastguard Worker  }
24*03ce13f7SAndroid Build Coastguard Worker}
25*03ce13f7SAndroid Build Coastguard Worker
26*03ce13f7SAndroid Build Coastguard Workerswiftshader_source_set("Marl_headers") {
27*03ce13f7SAndroid Build Coastguard Worker  sources = [
28*03ce13f7SAndroid Build Coastguard Worker    "include/marl/blockingcall.h",
29*03ce13f7SAndroid Build Coastguard Worker    "include/marl/conditionvariable.h",
30*03ce13f7SAndroid Build Coastguard Worker    "include/marl/containers.h",
31*03ce13f7SAndroid Build Coastguard Worker    "include/marl/debug.h",
32*03ce13f7SAndroid Build Coastguard Worker    "include/marl/defer.h",
33*03ce13f7SAndroid Build Coastguard Worker    "include/marl/event.h",
34*03ce13f7SAndroid Build Coastguard Worker    "include/marl/finally.h",
35*03ce13f7SAndroid Build Coastguard Worker    "include/marl/memory.h",
36*03ce13f7SAndroid Build Coastguard Worker    "include/marl/mutex.h",
37*03ce13f7SAndroid Build Coastguard Worker    "include/marl/parallelize.h",
38*03ce13f7SAndroid Build Coastguard Worker    "include/marl/pool.h",
39*03ce13f7SAndroid Build Coastguard Worker    "include/marl/sanitizers.h",
40*03ce13f7SAndroid Build Coastguard Worker    "include/marl/scheduler.h",
41*03ce13f7SAndroid Build Coastguard Worker    "include/marl/task.h",
42*03ce13f7SAndroid Build Coastguard Worker    "include/marl/thread.h",
43*03ce13f7SAndroid Build Coastguard Worker    "include/marl/ticket.h",
44*03ce13f7SAndroid Build Coastguard Worker    "include/marl/trace.h",
45*03ce13f7SAndroid Build Coastguard Worker    "include/marl/tsa.h",
46*03ce13f7SAndroid Build Coastguard Worker    "include/marl/waitgroup.h",
47*03ce13f7SAndroid Build Coastguard Worker  ]
48*03ce13f7SAndroid Build Coastguard Worker
49*03ce13f7SAndroid Build Coastguard Worker  public_configs = [ ":marl_config" ]
50*03ce13f7SAndroid Build Coastguard Worker}
51*03ce13f7SAndroid Build Coastguard Worker
52*03ce13f7SAndroid Build Coastguard Workerswiftshader_source_set("Marl") {
53*03ce13f7SAndroid Build Coastguard Worker  sources = [
54*03ce13f7SAndroid Build Coastguard Worker    "src/debug.cpp",
55*03ce13f7SAndroid Build Coastguard Worker    "src/memory.cpp",
56*03ce13f7SAndroid Build Coastguard Worker    "src/scheduler.cpp",
57*03ce13f7SAndroid Build Coastguard Worker    "src/thread.cpp",
58*03ce13f7SAndroid Build Coastguard Worker    "src/trace.cpp",
59*03ce13f7SAndroid Build Coastguard Worker  ]
60*03ce13f7SAndroid Build Coastguard Worker
61*03ce13f7SAndroid Build Coastguard Worker  if (!is_win) {
62*03ce13f7SAndroid Build Coastguard Worker    if (current_cpu == "arm64") {
63*03ce13f7SAndroid Build Coastguard Worker      sources += [
64*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_aarch64.c",
65*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_aarch64.h",
66*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_aarch64.S",
67*03ce13f7SAndroid Build Coastguard Worker      ]
68*03ce13f7SAndroid Build Coastguard Worker    } else if (current_cpu == "arm") {
69*03ce13f7SAndroid Build Coastguard Worker      sources += [
70*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_arm.c",
71*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_arm.h",
72*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_arm.S",
73*03ce13f7SAndroid Build Coastguard Worker      ]
74*03ce13f7SAndroid Build Coastguard Worker    } else if (current_cpu == "mips64") {
75*03ce13f7SAndroid Build Coastguard Worker      sources += [
76*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_mips64.c",
77*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_mips64.h",
78*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_mips64.S",
79*03ce13f7SAndroid Build Coastguard Worker      ]
80*03ce13f7SAndroid Build Coastguard Worker    } else if (current_cpu == "ppc64") {
81*03ce13f7SAndroid Build Coastguard Worker      sources += [
82*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_ppc64.c",
83*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_ppc64.h",
84*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_ppc64.S",
85*03ce13f7SAndroid Build Coastguard Worker      ]
86*03ce13f7SAndroid Build Coastguard Worker    } else if (current_cpu == "riscv64") {
87*03ce13f7SAndroid Build Coastguard Worker      sources += [
88*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_rv64.c",
89*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_rv64.h",
90*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_rv64.S",
91*03ce13f7SAndroid Build Coastguard Worker      ]
92*03ce13f7SAndroid Build Coastguard Worker    } else if (current_cpu == "loong64") {
93*03ce13f7SAndroid Build Coastguard Worker      sources += [
94*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_loongarch64.c",
95*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_loongarch64.h",
96*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_loongarch64.S",
97*03ce13f7SAndroid Build Coastguard Worker      ]
98*03ce13f7SAndroid Build Coastguard Worker    } else if (current_cpu == "x64") {
99*03ce13f7SAndroid Build Coastguard Worker      sources += [
100*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_x64.c",
101*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_x64.h",
102*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_x64.S",
103*03ce13f7SAndroid Build Coastguard Worker      ]
104*03ce13f7SAndroid Build Coastguard Worker    } else if (current_cpu == "x86") {
105*03ce13f7SAndroid Build Coastguard Worker      sources += [
106*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_x86.c",
107*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_x86.h",
108*03ce13f7SAndroid Build Coastguard Worker        "src/osfiber_asm_x86.S",
109*03ce13f7SAndroid Build Coastguard Worker      ]
110*03ce13f7SAndroid Build Coastguard Worker    } else {
111*03ce13f7SAndroid Build Coastguard Worker      assert(false, "Unhandled value for current-cpu=" + current_cpu)
112*03ce13f7SAndroid Build Coastguard Worker    }
113*03ce13f7SAndroid Build Coastguard Worker  }
114*03ce13f7SAndroid Build Coastguard Worker
115*03ce13f7SAndroid Build Coastguard Worker  public_deps = [ ":Marl_headers" ]
116*03ce13f7SAndroid Build Coastguard Worker}
117