#!/usr/bin/env bash

set -e

function build {
  (
    cd src/gmp-6.3.0
    ./configure --host=arm-none-eabi --disable-assembly CFLAGS="$2"
    make -j $(nproc)
    cp .libs/libgmp.a ../lib/
    cp gmp.h ../include/gmp.h
    #make distclean
  )

  (
    cd src/mpfr-4.2.2
    ./configure --with-gmp=../ --host=arm-none-eabi --disable-shared CFLAGS="$2"
    make -j $(nproc)
    cp src/.libs/libmpfr.a ../lib/
    cp src/mpfr.h ../include/mpfr.h
    #make distclean
  )

  (
    cd src/mpfi
    
    ./configure --with-mpfr=$(pwd)/../ --with-gmp=$(pwd)/../ --host=arm-none-eabi CFLAGS="$2"
    make -j $(nproc)
    cp src/.libs/libmpfi.a ../lib/
    cp src/mpfi.h ../include/mpfi.h
    #make distclean
    
    #rm -r build-aux
    #rm -r m4
  )
  
  (
    cd src/micropython-1.12/hpg1
    ./mklib
  )
}

build g1 "-Os -ffunction-sections -fdata-sections -fshort-wchar -fno-short-enums -Wall -Wno-narrowing -fno-tree-loop-distribute-patterns -fno-isolate-erroneous-paths-dereference -fomit-frame-pointer -pipe -DNDEBUG -DHPG1 -DMUTEKI_HAS_PRIME_UI_EVENT -mcpu=arm926ej-s -marm -mlittle-endian -mfloat-abi=soft -mthumb-interwork -mno-unaligned-access  -Os -fno-builtin-sprintf -fno-delete-null-pointer-checks -fno-strict-aliasing --specs=nosys.specs" # -i~/HP/g1sdk/include 
