# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           crossgcc 1.0

# gcc 8.x is the latest release that supports Armv2 and Armv3 architectures
# and their variants. Support for Armv5 and Armv5E has also been removed with
# gcc 9, yet these architectures have no known implementation
crossgcc.setup      arm-none-eabi 8.3.0
name                ${crossgcc.target}-gcc8
crossgcc.setup_libc newlib 3.1.0
revision            1
extract.suffix      .gz

conflicts           arm-none-eabi-gcc

maintainers         nomaintainer

# specific to ARM
configure.args-append \
                    --enable-interwork \
                    --disable-newlib-supplied-syscalls \
                    --with-multilib-list=rmprofile

# GCC's arm target code contains bracket nesting exceeding clangs's default
# bracket limit.  (https://llvm.org/bugs/show_bug.cgi?id=19650)
if {[string match "*clang*" ${configure.compiler}]} {
    configure.cflags-append -fbracket-depth=512
    configure.cxxflags-append -fbracket-depth=512
}
