108 lines
2.8 KiB
Plaintext
108 lines
2.8 KiB
Plaintext
# Copyright 2019 The SwiftShader Authors. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import("../../src/swiftshader.gni")
|
|
|
|
import("//testing/test.gni")
|
|
|
|
config("marl_config") {
|
|
include_dirs = [ "include" ]
|
|
}
|
|
|
|
swiftshader_source_set("Marl_headers") {
|
|
sources = [
|
|
"include/marl/blockingcall.h",
|
|
"include/marl/conditionvariable.h",
|
|
"include/marl/containers.h",
|
|
"include/marl/debug.h",
|
|
"include/marl/defer.h",
|
|
"include/marl/event.h",
|
|
"include/marl/finally.h",
|
|
"include/marl/memory.h",
|
|
"include/marl/mutex.h",
|
|
"include/marl/parallelize.h",
|
|
"include/marl/pool.h",
|
|
"include/marl/sanitizers.h",
|
|
"include/marl/scheduler.h",
|
|
"include/marl/task.h",
|
|
"include/marl/thread.h",
|
|
"include/marl/ticket.h",
|
|
"include/marl/trace.h",
|
|
"include/marl/tsa.h",
|
|
"include/marl/waitgroup.h",
|
|
]
|
|
|
|
public_configs = [ ":marl_config" ]
|
|
}
|
|
|
|
swiftshader_source_set("Marl") {
|
|
sources = [
|
|
"src/debug.cpp",
|
|
"src/memory.cpp",
|
|
"src/scheduler.cpp",
|
|
"src/thread.cpp",
|
|
"src/trace.cpp",
|
|
]
|
|
|
|
if (!is_win) {
|
|
if (current_cpu == "arm64") {
|
|
sources += [
|
|
"src/osfiber_aarch64.c",
|
|
"src/osfiber_asm_aarch64.h",
|
|
"src/osfiber_asm_aarch64.S",
|
|
]
|
|
} else if (current_cpu == "arm") {
|
|
sources += [
|
|
"src/osfiber_arm.c",
|
|
"src/osfiber_asm_arm.h",
|
|
"src/osfiber_asm_arm.S",
|
|
]
|
|
} else if (current_cpu == "mips64") {
|
|
sources += [
|
|
"src/osfiber_mips64.c",
|
|
"src/osfiber_asm_mips64.h",
|
|
"src/osfiber_asm_mips64.S",
|
|
]
|
|
} else if (current_cpu == "ppc64") {
|
|
sources += [
|
|
"src/osfiber_ppc64.c",
|
|
"src/osfiber_asm_ppc64.h",
|
|
"src/osfiber_asm_ppc64.S",
|
|
]
|
|
} else if (current_cpu == "riscv64") {
|
|
sources += [
|
|
"src/osfiber_rv64.c",
|
|
"src/osfiber_asm_rv64.h",
|
|
"src/osfiber_asm_rv64.S",
|
|
]
|
|
} else if (current_cpu == "x64") {
|
|
sources += [
|
|
"src/osfiber_x64.c",
|
|
"src/osfiber_asm_x64.h",
|
|
"src/osfiber_asm_x64.S",
|
|
]
|
|
} else if (current_cpu == "x86") {
|
|
sources += [
|
|
"src/osfiber_x86.c",
|
|
"src/osfiber_asm_x86.h",
|
|
"src/osfiber_asm_x86.S",
|
|
]
|
|
} else {
|
|
assert(false, "Unhandled value for current-cpu=" + current_cpu)
|
|
}
|
|
}
|
|
|
|
public_deps = [ ":Marl_headers" ]
|
|
}
|