# Copyright 2021 The Pigweed Authors # # 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 # # https://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("//build_overrides/pigweed.gni") import("clang_config.gni") cortex_m_common_flags = [ "-mabi=aapcs", "-mthumb", ] cortex_m_software_fpu_flags = [ "-mfloat-abi=soft" ] cortex_m_hardware_fpu_flags = [ "-mfloat-abi=hard", "-mfpu=fpv4-sp-d16", # Used by some pigweed tests/targets to correctly handle hardware FPU # behavior. "-DPW_ARMV7M_ENABLE_FPU=1", ] config("enable_float_printf") { ldflags = [ "-Wl,-u_printf_float" ] } pw_clang_arm_config("cortex_m3") { cflags = [ "-mcpu=cortex-m3" ] cflags += cortex_m_common_flags cflags += cortex_m_software_fpu_flags asmflags = cflags ldflags = cflags } pw_clang_arm_config("cortex_m4f") { cflags = [ "-mcpu=cortex-m4" ] cflags += cortex_m_common_flags cflags += cortex_m_hardware_fpu_flags asmflags = cflags ldflags = cflags }