# 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) { sources += [ "src/osfiber_aarch64.c", "src/osfiber_arm.c", "src/osfiber_asm_aarch64.S", "src/osfiber_asm_arm.S", "src/osfiber_asm_mips64.S", "src/osfiber_asm_ppc64.S", "src/osfiber_asm_x64.S", "src/osfiber_asm_x86.S", "src/osfiber_mips64.c", "src/osfiber_ppc64.c", "src/osfiber_x64.c", "src/osfiber_x86.c", ] } public_deps = [ ":Marl_headers", ] }