| # 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/finally.h", | 
 |     "include/marl/pool.h", | 
 |     "include/marl/sal.h", | 
 |     "include/marl/scheduler.h", | 
 |     "include/marl/sanitizers.h", | 
 |     "include/marl/thread.h", | 
 |     "include/marl/ticket.h", | 
 |     "include/marl/trace.h", | 
 |     "include/marl/utils.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_ppc64.S", | 
 |       "src/osfiber_asm_x64.S", | 
 |       "src/osfiber_asm_x86.S", | 
 |       "src/osfiber_ppc64.c", | 
 |       "src/osfiber_x64.c", | 
 |       "src/osfiber_x86.c", | 
 |     ] | 
 |   } | 
 |  | 
 |   public_deps = [ | 
 |     ":Marl_headers", | 
 |   ] | 
 | } |