#ifndef LPYTHON_UTILS_H #define LPYTHON_UTILS_H #include #include namespace LCompilers::LPython { void get_executable_path(std::string &executable_path, int &dirname_length); std::string get_runtime_library_dir(); std::string get_runtime_library_header_dir(); bool is_directory(std::string path); bool path_exists(std::string path); #ifdef HAVE_LFORTRAN_LLVM struct DynamicLibrary { void *l; DynamicLibrary(): l(nullptr) {} }; void open_cpython_library(DynamicLibrary &l); void close_cpython_library(DynamicLibrary &l); void open_symengine_library(DynamicLibrary &l); void close_symengine_library(DynamicLibrary &l); #endif // Decodes the exit status code of the process (in Unix) int32_t get_exit_status(int32_t err); } // LFortran #endif // LPYTHON_UTILS_H