From fd261c9035b93e01bd2437c9956a7a9f4a98a5b5 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 30 Aug 2023 00:29:41 +0800 Subject: [PATCH] fix compile error for wasm --- src/tbox/platform/file.c | 2 ++ src/tbox/platform/impl/mutex.h | 2 +- src/tbox/platform/pipe.c | 7 ++++++- src/tbox/platform/sched.h | 2 ++ src/tbox/platform/socket.c | 10 +++++----- xmake.lua | 5 +++++ 6 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/tbox/platform/file.c b/src/tbox/platform/file.c index 210c86d32..910ca7267 100644 --- a/src/tbox/platform/file.c +++ b/src/tbox/platform/file.c @@ -29,6 +29,8 @@ * includes */ #include "file.h" +#include "path.h" +#include "../libc/libc.h" /* ////////////////////////////////////////////////////////////////////////////////////// * implementation diff --git a/src/tbox/platform/impl/mutex.h b/src/tbox/platform/impl/mutex.h index 879897165..fed8f53bc 100644 --- a/src/tbox/platform/impl/mutex.h +++ b/src/tbox/platform/impl/mutex.h @@ -30,7 +30,7 @@ #elif defined(TB_CONFIG_POSIX_HAVE_PTHREAD_MUTEX_INIT) # include #else -# include "spinlock.h" +# include "../spinlock.h" #endif /* ////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/tbox/platform/pipe.c b/src/tbox/platform/pipe.c index 0c51af109..449f16ddd 100644 --- a/src/tbox/platform/pipe.c +++ b/src/tbox/platform/pipe.c @@ -45,7 +45,7 @@ tb_pipe_file_ref_t tb_pipe_file_init(tb_char_t const* name, tb_size_t mode, tb_s tb_trace_noimpl(); return tb_null; } -tb_bool_t tb_pipe_file_init_pair(tb_pipe_file_ref_t pair[2], tb_size_t buffer_size) +tb_bool_t tb_pipe_file_init_pair(tb_pipe_file_ref_t pair[2], tb_size_t mode[2], tb_size_t buffer_size) { tb_trace_noimpl(); return tb_false; @@ -70,6 +70,11 @@ tb_long_t tb_pipe_file_wait(tb_pipe_file_ref_t file, tb_size_t events, tb_long_t tb_trace_noimpl(); return -1; } +tb_long_t tb_pipe_file_connect(tb_pipe_file_ref_t file) +{ + tb_trace_noimpl(); + return -1; +} #endif tb_bool_t tb_pipe_file_bread(tb_pipe_file_ref_t file, tb_byte_t* data, tb_size_t size) diff --git a/src/tbox/platform/sched.h b/src/tbox/platform/sched.h index d766a5a7f..846ae79cc 100644 --- a/src/tbox/platform/sched.h +++ b/src/tbox/platform/sched.h @@ -31,6 +31,8 @@ # include "windows/prefix.h" #elif defined(TB_CONFIG_POSIX_HAVE_SCHED_YIELD) # include +#else +# include "time.h" #endif /* ////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/tbox/platform/socket.c b/src/tbox/platform/socket.c index 816ad50d7..6c219341d 100644 --- a/src/tbox/platform/socket.c +++ b/src/tbox/platform/socket.c @@ -78,10 +78,10 @@ tb_long_t tb_socket_connect(tb_socket_ref_t sock, tb_ipaddr_ref_t addr) tb_trace_noimpl(); return -1; } -tb_size_t tb_socket_bind(tb_socket_ref_t sock, tb_ipaddr_ref_t addr) +tb_bool_t tb_socket_bind(tb_socket_ref_t sock, tb_ipaddr_ref_t addr) { tb_trace_noimpl(); - return 0; + return tb_false; } tb_bool_t tb_socket_listen(tb_socket_ref_t sock, tb_size_t backlog) { @@ -118,17 +118,17 @@ tb_long_t tb_socket_send(tb_socket_ref_t sock, tb_byte_t const* data, tb_size_t tb_trace_noimpl(); return -1; } -tb_long_t tb_socket_recvv(tb_handle_t socket, tb_iovec_t const* list, tb_size_t size) +tb_long_t tb_socket_recvv(tb_socket_ref_t sock, tb_iovec_t const* list, tb_size_t size) { tb_trace_noimpl(); return -1; } -tb_long_t tb_socket_sendv(tb_handle_t socket, tb_iovec_t const* list, tb_size_t size) +tb_long_t tb_socket_sendv(tb_socket_ref_t sock, tb_iovec_t const* list, tb_size_t size) { tb_trace_noimpl(); return -1; } -tb_hong_t tb_socket_sendf(tb_handle_t socket, tb_file_ref_t file, tb_hize_t offset, tb_hize_t size) +tb_hong_t tb_socket_sendf(tb_socket_ref_t sock, tb_file_ref_t file, tb_hize_t offset, tb_hize_t size) { tb_trace_noimpl(); return -1; diff --git a/xmake.lua b/xmake.lua index 075692d80..690bacd3d 100644 --- a/xmake.lua +++ b/xmake.lua @@ -26,6 +26,11 @@ if has_config("coroutine") then add_cxflags("gcc::-Wno-error=dangling-pointer") end +if is_plat("wasm") then + add_requires("emscripten") + set_toolchains("emcc@emscripten") +end + -- add build modes add_rules("mode.release", "mode.debug", "mode.profile", "mode.coverage", "mode.valgrind", "mode.asan", "mode.tsan", "mode.ubsan") if is_mode("debug") then