# please run after mrubyc.sh
cp -r mrubyc-release3.4.1/src ~/Arduino/libraries/mrubyc_arduino
cd ~/Arduino/libraries/mrubyc_arduino
#sed -i -e 's@extern@#if defined(CH32V20x)\n  extern@' -e 's@(mrblib_bytecode);@(mrblib_bytecode);\n  #endif@' class.c
sed -i -e 's@#include "rrt0.h"@#if !defined(CH32V20x)\n#include "rrt0.h"\n#endif@' mrubyc.h
# arduino files
wget -O mrbc_api.h https://www.ipc.shimane-u.ac.jp/weda/mrubyc/mrbc_api_arduino.h
wget https://www.ipc.shimane-u.ac.jp/weda/mrubyc/arduino_wifi.h
wget https://www.ipc.shimane-u.ac.jp/weda/mrubyc/arduino_wifi.cpp
wget https://www.ipc.shimane-u.ac.jp/weda/mrubyc/arduino_sleep.h
wget https://www.ipc.shimane-u.ac.jp/weda/mrubyc/arduino_sleep.cpp
#
sed -i -e 's@#endif@#ifdef __cplusplus\n}\n#endif\n#endif@' -e 's@#define hal_init@#include <Arduino.h>\n\n#ifdef __cplusplus\nextern "C" {\n#endif\n#define hal_init@' hal.h
sed -i -e 's/#define MRBC_USE_FLOAT 2/#if defined(CH32V20x)\n#define MRBC_USE_FLOAT 0\n#else\n#define MRBC_USE_FLOAT 2\n#endif/' -e 's@// #define MRBC_REQUIRE_32BIT_ALIGNMENT@#if defined(ARDUINO_ARCH_ESP8266) || defined(CH32V20x)\n#define MRBC_REQUIRE_32BIT_ALIGNMENT\n#endif@' vm_config.h
sed -i -e 's@#include "mrubyc.h"@#include "mrubyc.h"\n#include "rrt0.h"@' rrt0.c
