/* Copyright (c) 2024 Lean FRO, LLC. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Author: Markus Himmel, Sofia Rodrigues */ #include #include "runtime/libuv.h" #include "runtime/object.h" namespace lean { #ifndef LEAN_EMSCRIPTEN #include extern "C" void initialize_libuv() { initialize_libuv_timer(); initialize_libuv_loop(); lthread([]() { event_loop_run_loop(&global_ev); }); } /* Lean.libUVVersionFn : Unit → Nat */ extern "C" LEAN_EXPORT lean_obj_res lean_libuv_version(lean_obj_arg o) { return lean_unsigned_to_nat(uv_version()); } #else extern "C" void initialize_libuv() {} extern "C" LEAN_EXPORT lean_obj_res lean_libuv_version(lean_obj_arg o) { return lean_box(0); } #endif }