blob: 284cd6495ed22f406430e6329a3598c2b0fd917a [file] [log] [blame]
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
subdir('drivers')
# OTBN interface
sw_lib_crypto_otbn_util = declare_dependency(
link_with: static_library(
'sw_lib_crypto_otbn_util',
sources: [
'otbn_util.c',
],
dependencies: [
sw_lib_crypto_otbn,
]
)
)
# Setup for building OTBN assembly. OTBN software is build with a separate
# toolchain, which is called as an external target from Meson in
# subdirectories.
prog_otbn_build = meson.project_source_root() / 'util/otbn_build.py'
otbn_build_command = [
prog_env,
'OTBN_AS=@0@'.format(prog_otbn_as),
'OTBN_LD=@0@'.format(prog_otbn_ld),
'RV32_TOOL_OBJCOPY=@0@'.format(prog_objcopy.full_path()),
'RV32_TOOL_AS=@0@'.format(prog_as.full_path()),
'RV32_TOOL_LD=@0@'.format(prog_ld.full_path()),
prog_python,
prog_otbn_build,
'--out-dir',
'@OUTDIR@',
'@INPUT@',
]
otbn_build_depend_files = [
prog_otbn_as,
prog_otbn_ld,
prog_objcopy.full_path(),
prog_as.full_path(),
prog_ld.full_path(),
prog_otbn_build,
]
# Subdirectories with OTBN files or dependencies must come after the OTBN setup.
subdir('ecdsa_p256')
subdir('rsa_3072')