/** @file
  Include file to support building the third-party libfdt library.

Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#include <LibFdtSupport.h>

