blob: f4b67fae253ffb9fae9315d508f329b6d6d2bc77 [file] [log] [blame]
Alexis Hetu9441b072017-08-02 08:40:37 -04001# Copyright (c) 2017 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# This file contains configs that need to be added or removed to all
6# SwiftShader libraries
7
Saman Sami7e954712019-06-06 11:46:59 -04008import("//build_overrides/build.gni")
9
10if (build_with_chromium) {
11 import("//build/config/sanitizers/sanitizers.gni")
12} else {
13 declare_args() {
14 is_ubsan_vptr = false
15 }
16}
17
Alexis Hetu9441b072017-08-02 08:40:37 -040018configs_to_add = []
19configs_to_delete = []
20
21if (is_win) {
22 configs_to_delete += [ "//build/config/win:unicode" ]
23}
24
Alexis Hetu5bf72ee2017-08-10 13:52:42 -040025if (is_debug) {
26 # always build optimized version of SwiftShader for performance reasons
27 configs_to_delete += [ "//build/config/compiler:default_optimization" ]
28 configs_to_add += [ "//build/config/compiler:optimize" ]
29}
30
Alexis Hetu9441b072017-08-02 08:40:37 -040031configs_to_delete += [ "//build/config/compiler:chromium_code" ]
32configs_to_add += [
33 "//build/config/compiler:no_chromium_code",
34 "//third_party/swiftshader:swiftshader_config",
35]
36
37template("swiftshader_source_set") {
38 source_set(target_name) {
Alexis Hetu8aa07682017-08-02 17:00:55 -040039 configs -= configs_to_delete
40 configs += configs_to_add
Alexis Hetu9441b072017-08-02 08:40:37 -040041 forward_variables_from(invoker, "*", [ "configs" ])
42 if (defined(invoker.configs)) {
43 configs += invoker.configs
44 }
Alexis Hetu9441b072017-08-02 08:40:37 -040045 }
46}
47
48template("swiftshader_shared_library") {
49 shared_library(target_name) {
Alexis Hetu8aa07682017-08-02 17:00:55 -040050 configs -= configs_to_delete
51 configs += configs_to_add
Alexis Hetu9441b072017-08-02 08:40:37 -040052 forward_variables_from(invoker, "*", [ "configs" ])
53 if (defined(invoker.configs)) {
54 configs += invoker.configs
55 }
Alexis Hetu9441b072017-08-02 08:40:37 -040056 }
57}
Corentin Wallez57eb0632017-10-24 15:17:18 -040058
59template("swiftshader_static_library") {
60 static_library(target_name) {
61 configs -= configs_to_delete
62 configs += configs_to_add
63 forward_variables_from(invoker, "*", [ "configs" ])
64 if (defined(invoker.configs)) {
65 configs += invoker.configs
66 }
67 }
68}