#!/bin/sh

PICOLIBC_DIR=/build/picolibc
GLIBC_DIR=/build/glibc

set -e

#test=echo

options="-Dwant-math-errno=true -Dio-long-double=true -Dwerror=true -Dmb-capable=true -Dmb-extended-charsets=true -Dsanitize=undefined"
stdoptions="$options --buildtype=release -Ddebug=true"

for arch in aarch64 arm riscv; do

    DIR=$PICOLIBC_DIR/builds/build-$arch

    $test rm -rf $DIR
    $test mkdir -p $DIR
    $test cd $DIR

    if [ $arch = aarch64 ]; then
	conf=$arch-none-elf
    else
	conf=$arch
    fi

    echo '###################################'
    echo '####' ../../scripts/do-$conf-configure $stdoptions
    echo '###################################'

    $test ../../scripts/do-$conf-configure $stdoptions

    $test ninja
    $test meson test -t 10
    $test ninja install

done

options="-Dwerror=true"
stdoptions="$options --buildtype=release -Ddebug=true"

for arch in aarch64 arm riscv; do

    DIR=$GLIBC_DIR/builds/build-$arch

    $test rm -rf $DIR
    $test mkdir -p $DIR
    $test cd $DIR

    echo '###################################'
    echo '####' ../../picolibc/do-$arch-configure $stdoptions
    echo '###################################'

    $test ../../picolibc/do-$arch-configure $stdoptions
    $test ninja test

done
