1*61c4878aSAndroid Build Coastguard Worker# Copyright 2020 The Pigweed Authors 2*61c4878aSAndroid Build Coastguard Worker# 3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 5*61c4878aSAndroid Build Coastguard Worker# the License at 6*61c4878aSAndroid Build Coastguard Worker# 7*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 8*61c4878aSAndroid Build Coastguard Worker# 9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 13*61c4878aSAndroid Build Coastguard Worker# the License. 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Workerimport("//build_overrides/pigweed.gni") 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/defaults.gni") 18*61c4878aSAndroid Build Coastguard Worker 19*61c4878aSAndroid Build Coastguard Worker# Specifies the tools used by host GCC toolchains. 20*61c4878aSAndroid Build Coastguard Worker_host_gcc_toolchain = { 21*61c4878aSAndroid Build Coastguard Worker ar = "ar" 22*61c4878aSAndroid Build Coastguard Worker cc = "gcc" 23*61c4878aSAndroid Build Coastguard Worker cxx = "g++" 24*61c4878aSAndroid Build Coastguard Worker 25*61c4878aSAndroid Build Coastguard Worker is_host_toolchain = true 26*61c4878aSAndroid Build Coastguard Worker} 27*61c4878aSAndroid Build Coastguard Worker 28*61c4878aSAndroid Build Coastguard Worker# Common configs shared by all host GCC toolchains. 29*61c4878aSAndroid Build Coastguard Worker_configs = [ 30*61c4878aSAndroid Build Coastguard Worker "$dir_pw_toolchain/host_gcc:disable_psabi_warning", 31*61c4878aSAndroid Build Coastguard Worker "$dir_pw_toolchain/host_gcc:mingw_z_format", 32*61c4878aSAndroid Build Coastguard Worker] 33*61c4878aSAndroid Build Coastguard Worker 34*61c4878aSAndroid Build Coastguard Workerpw_toolchain_host_gcc = { 35*61c4878aSAndroid Build Coastguard Worker debug = { 36*61c4878aSAndroid Build Coastguard Worker name = "host_gcc_debug" 37*61c4878aSAndroid Build Coastguard Worker forward_variables_from(_host_gcc_toolchain, "*") 38*61c4878aSAndroid Build Coastguard Worker defaults = { 39*61c4878aSAndroid Build Coastguard Worker default_configs = pigweed_default_configs + _configs + 40*61c4878aSAndroid Build Coastguard Worker [ "$dir_pw_build:optimize_debugging" ] 41*61c4878aSAndroid Build Coastguard Worker } 42*61c4878aSAndroid Build Coastguard Worker } 43*61c4878aSAndroid Build Coastguard Worker 44*61c4878aSAndroid Build Coastguard Worker speed_optimized = { 45*61c4878aSAndroid Build Coastguard Worker name = "host_gcc_speed_optimized" 46*61c4878aSAndroid Build Coastguard Worker forward_variables_from(_host_gcc_toolchain, "*") 47*61c4878aSAndroid Build Coastguard Worker defaults = { 48*61c4878aSAndroid Build Coastguard Worker default_configs = pigweed_default_configs + _configs + 49*61c4878aSAndroid Build Coastguard Worker [ "$dir_pw_build:optimize_speed" ] 50*61c4878aSAndroid Build Coastguard Worker } 51*61c4878aSAndroid Build Coastguard Worker } 52*61c4878aSAndroid Build Coastguard Worker 53*61c4878aSAndroid Build Coastguard Worker size_optimized = { 54*61c4878aSAndroid Build Coastguard Worker name = "host_gcc_size_optimized" 55*61c4878aSAndroid Build Coastguard Worker forward_variables_from(_host_gcc_toolchain, "*") 56*61c4878aSAndroid Build Coastguard Worker defaults = { 57*61c4878aSAndroid Build Coastguard Worker default_configs = 58*61c4878aSAndroid Build Coastguard Worker pigweed_default_configs + _configs + [ "$dir_pw_build:optimize_size" ] 59*61c4878aSAndroid Build Coastguard Worker } 60*61c4878aSAndroid Build Coastguard Worker } 61*61c4878aSAndroid Build Coastguard Worker} 62*61c4878aSAndroid Build Coastguard Worker 63*61c4878aSAndroid Build Coastguard Worker# Describes host Linux GCC toolchains. 64*61c4878aSAndroid Build Coastguard Workerpw_toolchain_host_gcc_list = [ 65*61c4878aSAndroid Build Coastguard Worker pw_toolchain_host_gcc.debug, 66*61c4878aSAndroid Build Coastguard Worker pw_toolchain_host_gcc.speed_optimized, 67*61c4878aSAndroid Build Coastguard Worker pw_toolchain_host_gcc.size_optimized, 68*61c4878aSAndroid Build Coastguard Worker] 69