mirror of
https://github.com/exaloop/codon.git
synced 2025-06-03 15:03:52 +08:00
Fix Jupyter, fix xeus build flags
This commit is contained in:
parent
039d604a56
commit
71cad478f7
@ -16,7 +16,7 @@ if(CODON_JUPYTER)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden -pedantic -Wall -Wno-return-type-c-linkage -Wno-gnu-zero-variadic-macro-arguments -Wno-unused-variable")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden -pedantic -Wno-return-type-c-linkage -Wno-gnu-zero-variadic-macro-arguments")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-g -fno-limit-debug-info")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
||||
include_directories(.)
|
||||
@ -29,7 +29,6 @@ message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
|
||||
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
|
||||
include(${CMAKE_SOURCE_DIR}/cmake/deps.cmake)
|
||||
|
||||
|
||||
set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
|
||||
if(APPLE)
|
||||
set(CMAKE_INSTALL_RPATH "@loader_path;@loader_path/../lib/codon")
|
||||
@ -84,7 +83,6 @@ add_custom_command(TARGET codonrt POST_BUILD
|
||||
# Codon compiler library
|
||||
include_directories(${LLVM_INCLUDE_DIRS})
|
||||
add_definitions(${LLVM_DEFINITIONS})
|
||||
|
||||
set(CODON_HPPFILES
|
||||
codon/compiler/compiler.h
|
||||
codon/compiler/debug_listener.h
|
||||
@ -297,7 +295,6 @@ if(CODON_JUPYTER)
|
||||
add_compile_definitions(CODON_JUPYTER)
|
||||
add_dependencies(codonc xeus-static nlohmann_json)
|
||||
target_link_libraries(codonc PRIVATE xeus-static)
|
||||
# set_target_properties(codonc PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
endif()
|
||||
if(ASAN)
|
||||
target_compile_options(codonc PRIVATE "-fno-omit-frame-pointer" "-fsanitize=address")
|
||||
|
@ -153,9 +153,10 @@ if(CODON_JUPYTER)
|
||||
GITHUB_REPOSITORY "jupyter-xeus/xeus"
|
||||
VERSION 2.2.0
|
||||
GIT_TAG 2.2.0
|
||||
PATCH_COMMAND sed -i bak "s/-Wunused-parameter -Wextra -Wreorder//g" CMakeLists.txt
|
||||
OPTIONS "BUILD_EXAMPLES OFF"
|
||||
"XEUS_BUILD_SHARED_LIBS OFF"
|
||||
"XEUS_STATIC_DEPENDENCIES ON")
|
||||
"XEUS_BUILD_SHARED_LIBS OFF"
|
||||
"XEUS_STATIC_DEPENDENCIES ON")
|
||||
if (xeus_ADDED)
|
||||
install(TARGETS nlohmann_json EXPORT xeus-targets)
|
||||
endif()
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include "codon/compiler/compiler.h"
|
||||
#include "codon/compiler/error.h"
|
||||
#include "codon/compiler/jit.h"
|
||||
#include "codon/parser/common.h"
|
||||
#include "codon/util/common.h"
|
||||
|
||||
using std::move;
|
||||
@ -29,7 +30,7 @@ nl::json CodonJupyter::execute_request_impl(int execution_counter, const string
|
||||
nl::json user_expressions,
|
||||
bool allow_stdin) {
|
||||
auto result = jit->exec(code);
|
||||
bool failed = false;
|
||||
string failed;
|
||||
llvm::handleAllErrors(
|
||||
result.takeError(),
|
||||
[&](const codon::error::ParserErrorInfo &e) {
|
||||
@ -38,17 +39,26 @@ nl::json CodonJupyter::execute_request_impl(int execution_counter, const string
|
||||
backtrace.push_back(msg.getMessage());
|
||||
string err = backtrace[0];
|
||||
backtrace.erase(backtrace.begin());
|
||||
publish_execution_error("ParserError", err, backtrace);
|
||||
failed = true;
|
||||
failed =
|
||||
fmt::format("Error: {}\nBacktrace:\n{}", err, ast::join(backtrace, " \n"));
|
||||
// publish_execution_error("ParserError", err, backtrace);
|
||||
// failed = true;
|
||||
},
|
||||
[&](const codon::error::RuntimeErrorInfo &e) {
|
||||
publish_execution_error(e.getType(), e.getMessage(), {});
|
||||
failed = true;
|
||||
failed = fmt::format("Error: {}", e.getMessage());
|
||||
// publish_execution_error(e.getType(), e.getMessage(), {});
|
||||
// failed = true;
|
||||
});
|
||||
if (!failed) {
|
||||
if (failed.empty()) {
|
||||
nl::json pub_data;
|
||||
pub_data["text/plain"] = *result;
|
||||
pub_data["text/plain"] = fmt::format(">> {}", *result);
|
||||
publish_execution_result(execution_counter, move(pub_data), nl::json::object());
|
||||
return nl::json{{"status", "ok"},
|
||||
{"payload", nl::json::array()},
|
||||
{"user_expressions", nl::json::object()}};
|
||||
} else {
|
||||
publish_stream("stderr", failed);
|
||||
return nl::json{{"status", "error"}};
|
||||
}
|
||||
}
|
||||
|
||||
@ -58,16 +68,16 @@ void CodonJupyter::configure_impl() {
|
||||
}
|
||||
|
||||
nl::json CodonJupyter::complete_request_impl(const string &code, int cursor_pos) {
|
||||
return xeus::create_complete_reply({}, cursor_pos, cursor_pos);
|
||||
return nl::json{{"status", "ok"}};
|
||||
}
|
||||
|
||||
nl::json CodonJupyter::inspect_request_impl(const string &code, int cursor_pos,
|
||||
int detail_level) {
|
||||
return xeus::create_inspect_reply();
|
||||
return nl::json{{"status", "ok"}};
|
||||
}
|
||||
|
||||
nl::json CodonJupyter::is_complete_request_impl(const string &code) {
|
||||
return xeus::create_is_complete_reply("complete");
|
||||
return nl::json{{"status", "complete"}};
|
||||
}
|
||||
|
||||
nl::json CodonJupyter::kernel_info_request_impl() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user