# This file assumes that the path to your Metrowerks Embedded ARM
# toolchain is added to the environment(PATH) variable, so that
# Meson can find the binaries while building.

# You should also do one of the following to ensure Meson can
# locate the .lcf linker script:
# - Add the cross directory to PATH as well
# - Edit c_link_args and cpp_link_args with the full
#   path to the .lcf file on your machine

[binaries]
c = 'mwccarm'
c_ld = 'mwldarm'
cpp = 'mwccarm'
cpp_ld = 'mwldarm'
ar = 'mwldarm'
as = 'mwasmarm'

[built-in options]
c_args = ['-lang', 'c99', '-D_NITRO', '-nosyspath']
c_link_args = 'metrowerks.lcf'
cpp_args = ['-lang', 'c++', '-D_NITRO', '-nosyspath']
cpp_link_args = 'metrowerks.lcf'

[host_machine]
system = 'bare metal'
cpu_family = 'arm'
endian = 'little'