// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

/**
 * This file serves no purpose other than to ensure that Meson treats otherwise
 * empty static libraries as cross-compiled C.
 */
