blob: 8b99407e9fd952cf53767b70d0f55414ddcb7ea8 [file] [log] [blame]
Armando Montanez70095662020-01-09 14:25:04 -08001# Copyright 2020 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
Armando Montanezfb3d3fb2020-06-09 18:12:12 -070015import("//build_overrides/pigweed.gni")
16
Armando Montanez70095662020-01-09 14:25:04 -080017import("$dir_pw_build/linker_script.gni")
Alexei Frolovedd2f142020-06-09 19:11:27 -070018import("$dir_pw_build/target_types.gni")
Armando Montanez70095662020-01-09 14:25:04 -080019import("$dir_pw_docgen/docs.gni")
Wyatt Heplerd49f8fe2020-10-15 10:13:47 -070020
Alexei Frolov4c0428a2020-06-10 10:46:04 -070021declare_args() {
Armando Montanezfd5de702020-06-10 16:51:01 -070022 # TODO(frolv): Move this into pw_boot module when it is created.
Alexei Frolov4c0428a2020-06-10 10:46:04 -070023 pw_boot_BACKEND = ""
24
Armando Montanezfd5de702020-06-10 16:51:01 -070025 # This list should contain the necessary defines for setting pw_boot linker
26 # script memory regions.
27 pw_boot_armv7m_LINK_CONFIG_DEFINES = []
Alexei Frolov4c0428a2020-06-10 10:46:04 -070028}
29
30if (pw_boot_BACKEND == dir_pw_boot_armv7m) {
Armando Montanez70095662020-01-09 14:25:04 -080031 config("default_config") {
32 include_dirs = [ "public" ]
33 }
34
35 pw_linker_script("armv7m_linker_script") {
Armando Montanezfd5de702020-06-10 16:51:01 -070036 # pw_boot_armv7m_LINK_CONFIG_DEFINES is a list of defines provided by the
37 # target.
38 defines = pw_boot_armv7m_LINK_CONFIG_DEFINES
Armando Montanez70095662020-01-09 14:25:04 -080039 linker_script = "basic_armv7m.ld"
40 }
41
Alexei Frolovedd2f142020-06-09 19:11:27 -070042 pw_source_set("pw_boot_armv7m") {
Armando Montanez70095662020-01-09 14:25:04 -080043 public_configs = [ ":default_config" ]
Rob Mohra0ba54f2020-02-27 11:43:49 -080044 public = [ "public/pw_boot_armv7m/boot.h" ]
Ewout van Bekkum0f82b332020-08-24 13:29:16 -070045 public_deps = [ "$dir_pw_preprocessor" ]
46 deps = [ ":armv7m_linker_script" ]
Wyatt Hepler7e3f1d92020-08-07 14:09:03 -070047 sources = [ "core_init.c" ]
Armando Montanez70095662020-01-09 14:25:04 -080048 }
49}
50
51pw_doc_group("docs") {
Rob Mohra0ba54f2020-02-27 11:43:49 -080052 sources = [ "docs.rst" ]
Armando Montanez70095662020-01-09 14:25:04 -080053}