# Copyright 2020 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.

# This file defines a directory variable for each of Pigweed's modules. This
# allows modules to be moved or swapped out without breaking existing builds.
# All module variables are prefixed with dir_.

dir_pw_base64 = "$dir_pigweed/pw_base64"
dir_pw_bloat = "$dir_pigweed/pw_bloat"
dir_pw_boot_armv7m = "$dir_pigweed/pw_boot_armv7m"
dir_pw_build = "$dir_pigweed/pw_build"
dir_pw_checksum = "$dir_pigweed/pw_checksum"
dir_pw_cpu_exception = "$dir_pigweed/pw_cpu_exception"
dir_pw_cpu_exception_armv7m = "$dir_pigweed/pw_cpu_exception_armv7m"
dir_pw_docgen = "$dir_pigweed/pw_docgen"
dir_pw_doctor = "$dir_pigweed/pw_doctor"
dir_pw_dumb_io = "$dir_pigweed/pw_dumb_io"
dir_pw_dumb_io_baremetal_stm32f429 =
    "$dir_pigweed/pw_dumb_io_baremetal_stm32f429"
dir_pw_dumb_io_stdio = "$dir_pigweed/pw_dumb_io_stdio"
dir_pw_kvs = "$dir_pigweed/pw_kvs"
dir_pw_log = "$dir_pigweed/pw_log"
dir_pw_log_basic = "$dir_pigweed/pw_log_basic"
dir_pw_minimal_cpp_stdlib = "$dir_pigweed/pw_minimal_cpp_stdlib"
dir_pw_module = "$dir_pigweed/pw_module"
dir_pw_polyfill = "$dir_pigweed/pw_polyfill"
dir_pw_preprocessor = "$dir_pigweed/pw_preprocessor"
dir_pw_presubmit = "$dir_pigweed/pw_presubmit"
dir_pw_protobuf = "$dir_pigweed/pw_protobuf"
dir_pw_protobuf_compiler = "$dir_pigweed/pw_protobuf_compiler"
dir_pw_span = "$dir_pigweed/pw_span"
dir_pw_status = "$dir_pigweed/pw_status"
dir_pw_string = "$dir_pigweed/pw_string"
dir_pw_target_runner = "$dir_pigweed/pw_target_runner"
dir_pw_tokenizer = "$dir_pigweed/pw_tokenizer"
dir_pw_toolchain = "$dir_pigweed/pw_toolchain"
dir_pw_unit_test = "$dir_pigweed/pw_unit_test"
dir_pw_varint = "$dir_pigweed/pw_varint"
