1# Copyright 2022 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15import("//build_overrides/pi_pico.gni") 16import("//build_overrides/pigweed.gni") 17 18import("$dir_pw_build/target_types.gni") 19 20# TODO(amontanez): This can go away if the GN build can be upstreamed to the 21# Pi Pico repo. 22_CWD = "${PICO_SRC_DIR}/src/common/pico_base" 23 24import("generate_version_header.gni") 25 26config("public_include_dirs") { 27 include_dirs = [ "${_CWD}/include" ] 28} 29 30config("board_define") { 31 defines = [ 32 "PICO_BOARD=${PICO_BOARD}", 33 "PICO_ON_DEVICE=1", 34 "PICO_NO_HARDWARE=0", 35 "PICO_BUILD=1", 36 ] 37} 38 39generate_version_header("version") { 40 version_major = PICO_SDK_VERSION_MAJOR 41 version_minor = PICO_SDK_VERSION_MINOR 42 version_revision = PICO_SDK_VERSION_REVISION 43 version_string = PICO_SDK_VERSION_STRING 44} 45 46pw_source_set("pico_base") { 47 public_configs = [ 48 ":board_define", 49 "${PICO_ROOT}/src/rp2_common/cmsis:rename_exceptions_config", 50 ":public_include_dirs", 51 "${PICO_ROOT}/gn:disable_warnings", 52 ] 53 public = [ 54 "${_CWD}/include/pico.h", 55 "${_CWD}/include/pico/assert.h", 56 "${_CWD}/include/pico/config.h", 57 "${_CWD}/include/pico/error.h", 58 "${_CWD}/include/pico/types.h", 59 ] 60 public_deps = [ 61 ":version", 62 "${PICO_GENERATED_CONFIG}", 63 "${PICO_ROOT}/src/rp2_common/pico_platform:headers", 64 ] 65 allow_circular_includes_from = 66 [ "${PICO_ROOT}/src/rp2_common/pico_platform:headers" ] 67} 68