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