xref: /aosp_15_r20/external/open-dice/third_party/cose-c/BUILD.gn (revision 60b67249c2e226f42f35cc6cfe66c6048e0bae6b)
1*60b67249SAndroid Build Coastguard Worker# Copyright 2020 Google LLC
2*60b67249SAndroid Build Coastguard Worker#
3*60b67249SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4*60b67249SAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of
5*60b67249SAndroid Build Coastguard Worker# the License at
6*60b67249SAndroid Build Coastguard Worker#
7*60b67249SAndroid Build Coastguard Worker#     https://www.apache.org/licenses/LICENSE-2.0
8*60b67249SAndroid Build Coastguard Worker#
9*60b67249SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*60b67249SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11*60b67249SAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12*60b67249SAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under
13*60b67249SAndroid Build Coastguard Worker# the License.
14*60b67249SAndroid Build Coastguard Worker
15*60b67249SAndroid Build Coastguard Workerimport("//build_overrides/pigweed.gni")
16*60b67249SAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni")
17*60b67249SAndroid Build Coastguard Worker
18*60b67249SAndroid Build Coastguard Workerconfig("external_config_ed25519") {
19*60b67249SAndroid Build Coastguard Worker  include_dirs = [
20*60b67249SAndroid Build Coastguard Worker    "src/include",
21*60b67249SAndroid Build Coastguard Worker    "include/ed25519",
22*60b67249SAndroid Build Coastguard Worker  ]
23*60b67249SAndroid Build Coastguard Worker}
24*60b67249SAndroid Build Coastguard Worker
25*60b67249SAndroid Build Coastguard Workerconfig("external_config_p256") {
26*60b67249SAndroid Build Coastguard Worker  include_dirs = [
27*60b67249SAndroid Build Coastguard Worker    "src/include",
28*60b67249SAndroid Build Coastguard Worker    "include/p256",
29*60b67249SAndroid Build Coastguard Worker  ]
30*60b67249SAndroid Build Coastguard Worker}
31*60b67249SAndroid Build Coastguard Worker
32*60b67249SAndroid Build Coastguard Workerconfig("external_config_p384") {
33*60b67249SAndroid Build Coastguard Worker  include_dirs = [
34*60b67249SAndroid Build Coastguard Worker    "src/include",
35*60b67249SAndroid Build Coastguard Worker    "include/p384",
36*60b67249SAndroid Build Coastguard Worker  ]
37*60b67249SAndroid Build Coastguard Worker}
38*60b67249SAndroid Build Coastguard Worker
39*60b67249SAndroid Build Coastguard Workerconfig("external_config_multialg") {
40*60b67249SAndroid Build Coastguard Worker  include_dirs = [
41*60b67249SAndroid Build Coastguard Worker    "src/include",
42*60b67249SAndroid Build Coastguard Worker    "include/multialg",
43*60b67249SAndroid Build Coastguard Worker  ]
44*60b67249SAndroid Build Coastguard Worker}
45*60b67249SAndroid Build Coastguard Worker
46*60b67249SAndroid Build Coastguard Workerconfig("internal_config") {
47*60b67249SAndroid Build Coastguard Worker  visibility = [ ":*" ]  # Only targets in this file can depend on this.
48*60b67249SAndroid Build Coastguard Worker  include_dirs = [ "src/src" ]
49*60b67249SAndroid Build Coastguard Worker  cflags = [ "-Wno-cast-qual" ]
50*60b67249SAndroid Build Coastguard Worker}
51*60b67249SAndroid Build Coastguard Worker
52*60b67249SAndroid Build Coastguard Workercose_c_sources = [
53*60b67249SAndroid Build Coastguard Worker  "cose_deps.cc",
54*60b67249SAndroid Build Coastguard Worker  "src/src/Cose.cpp",
55*60b67249SAndroid Build Coastguard Worker  "src/src/CoseKey.cpp",
56*60b67249SAndroid Build Coastguard Worker  "src/src/Sign1.cpp",
57*60b67249SAndroid Build Coastguard Worker  "src/src/cbor.cpp",
58*60b67249SAndroid Build Coastguard Worker]
59*60b67249SAndroid Build Coastguard Worker
60*60b67249SAndroid Build Coastguard Workerpw_static_library("cose-c_ed25519") {
61*60b67249SAndroid Build Coastguard Worker  public = [ "src/include/cose/cose.h" ]
62*60b67249SAndroid Build Coastguard Worker  sources = cose_c_sources
63*60b67249SAndroid Build Coastguard Worker  public_configs = [ ":external_config_ed25519" ]
64*60b67249SAndroid Build Coastguard Worker  configs = [ ":internal_config" ]
65*60b67249SAndroid Build Coastguard Worker  public_deps = [
66*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
67*60b67249SAndroid Build Coastguard Worker    "//third_party/cn-cbor:cn-cbor",
68*60b67249SAndroid Build Coastguard Worker  ]
69*60b67249SAndroid Build Coastguard Worker}
70*60b67249SAndroid Build Coastguard Worker
71*60b67249SAndroid Build Coastguard Workerpw_static_library("cose-c_p256") {
72*60b67249SAndroid Build Coastguard Worker  public = [ "src/include/cose/cose.h" ]
73*60b67249SAndroid Build Coastguard Worker  sources = cose_c_sources
74*60b67249SAndroid Build Coastguard Worker  public_configs = [ ":external_config_p256" ]
75*60b67249SAndroid Build Coastguard Worker  configs = [ ":internal_config" ]
76*60b67249SAndroid Build Coastguard Worker  public_deps = [
77*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
78*60b67249SAndroid Build Coastguard Worker    "//third_party/cn-cbor:cn-cbor",
79*60b67249SAndroid Build Coastguard Worker  ]
80*60b67249SAndroid Build Coastguard Worker}
81*60b67249SAndroid Build Coastguard Worker
82*60b67249SAndroid Build Coastguard Workerpw_static_library("cose-c_p384") {
83*60b67249SAndroid Build Coastguard Worker  public = [ "src/include/cose/cose.h" ]
84*60b67249SAndroid Build Coastguard Worker  sources = cose_c_sources
85*60b67249SAndroid Build Coastguard Worker  public_configs = [ ":external_config_p384" ]
86*60b67249SAndroid Build Coastguard Worker  configs = [ ":internal_config" ]
87*60b67249SAndroid Build Coastguard Worker  public_deps = [
88*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
89*60b67249SAndroid Build Coastguard Worker    "//third_party/cn-cbor:cn-cbor",
90*60b67249SAndroid Build Coastguard Worker  ]
91*60b67249SAndroid Build Coastguard Worker}
92*60b67249SAndroid Build Coastguard Worker
93*60b67249SAndroid Build Coastguard Workerpw_static_library("cose-c_multialg") {
94*60b67249SAndroid Build Coastguard Worker  public = [ "src/include/cose/cose.h" ]
95*60b67249SAndroid Build Coastguard Worker  sources = [
96*60b67249SAndroid Build Coastguard Worker    "cose_deps.cc",
97*60b67249SAndroid Build Coastguard Worker    "src/src/Cose.cpp",
98*60b67249SAndroid Build Coastguard Worker    "src/src/CoseKey.cpp",
99*60b67249SAndroid Build Coastguard Worker    "src/src/Sign1.cpp",
100*60b67249SAndroid Build Coastguard Worker    "src/src/cbor.cpp",
101*60b67249SAndroid Build Coastguard Worker  ]
102*60b67249SAndroid Build Coastguard Worker  public_configs = [ ":external_config_multialg" ]
103*60b67249SAndroid Build Coastguard Worker  configs = [ ":internal_config" ]
104*60b67249SAndroid Build Coastguard Worker  public_deps = [
105*60b67249SAndroid Build Coastguard Worker    "//third_party/boringssl:crypto",
106*60b67249SAndroid Build Coastguard Worker    "//third_party/cn-cbor:cn-cbor",
107*60b67249SAndroid Build Coastguard Worker  ]
108*60b67249SAndroid Build Coastguard Worker}
109