mirror of
https://github.com/apache/nuttx-apps.git
synced 2026-08-01 20:29:00 +00:00
310 lines
7.9 KiB
Diff
310 lines
7.9 KiB
Diff
commit cb2d8c8e6c8e120c6b09830fbb89487ed1048e3c
|
|
Author: wenlingyun1 <wenlingyun1@xiaomi.com>
|
|
Date: Mon Nov 11 11:43:56 2024 +0800
|
|
|
|
update quickjs patch
|
|
|
|
Signed-off-by: wenlingyun1 <wenlingyun1@xiaomi.com>
|
|
|
|
diff --git a/quickjs-libc.c b/quickjs-libc.c
|
|
index 141f79f..67f31e8 100644
|
|
--- a/quickjs-libc.c
|
|
+++ b/quickjs-libc.c
|
|
@@ -3695,10 +3695,10 @@ static const JSCFunctionListEntry js_os_funcs[] = {
|
|
JS_CFUNC_MAGIC_DEF("setWriteHandler", 2, js_os_setReadHandler, 1 ),
|
|
JS_CFUNC_DEF("signal", 2, js_os_signal ),
|
|
OS_FLAG(SIGINT),
|
|
- OS_FLAG(SIGABRT),
|
|
- OS_FLAG(SIGFPE),
|
|
- OS_FLAG(SIGILL),
|
|
- OS_FLAG(SIGSEGV),
|
|
+ // OS_FLAG(SIGABRT),
|
|
+ // OS_FLAG(SIGFPE),
|
|
+ // OS_FLAG(SIGILL),
|
|
+ // OS_FLAG(SIGSEGV),
|
|
OS_FLAG(SIGTERM),
|
|
#if !defined(_WIN32)
|
|
OS_FLAG(SIGQUIT),
|
|
@@ -3710,8 +3710,8 @@ static const JSCFunctionListEntry js_os_funcs[] = {
|
|
OS_FLAG(SIGCONT),
|
|
OS_FLAG(SIGSTOP),
|
|
OS_FLAG(SIGTSTP),
|
|
- OS_FLAG(SIGTTIN),
|
|
- OS_FLAG(SIGTTOU),
|
|
+ // OS_FLAG(SIGTTIN),
|
|
+ // OS_FLAG(SIGTTOU),
|
|
#endif
|
|
JS_CFUNC_DEF("now", 0, js_os_now ),
|
|
JS_CFUNC_DEF("setTimeout", 2, js_os_setTimeout ),
|
|
@@ -3743,7 +3743,7 @@ static const JSCFunctionListEntry js_os_funcs[] = {
|
|
JS_CFUNC_MAGIC_DEF("lstat", 1, js_os_stat, 1 ),
|
|
JS_CFUNC_DEF("symlink", 2, js_os_symlink ),
|
|
JS_CFUNC_DEF("readlink", 1, js_os_readlink ),
|
|
- JS_CFUNC_DEF("exec", 1, js_os_exec ),
|
|
+ // JS_CFUNC_DEF("exec", 1, js_os_exec ),
|
|
JS_CFUNC_DEF("getpid", 0, js_os_getpid ),
|
|
JS_CFUNC_DEF("waitpid", 2, js_os_waitpid ),
|
|
OS_FLAG(WNOHANG),
|
|
commit 33590bf30396733a5f5365feec47f40a73bdfd5a
|
|
Author: wenlingyun1 <wenlingyun1@xiaomi.com>
|
|
Date: Tue May 28 11:16:56 2024 +0800
|
|
|
|
add CMakeLists.txt for building qjsc
|
|
|
|
VELAPLATFO-30697
|
|
|
|
Change-Id: Idcb98f8b0b3f7b694b381f9f376202938d562048
|
|
Signed-off-by: wenlingyun1 <wenlingyun1@xiaomi.com>
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
new file mode 100644
|
|
index 0000000..0dc6fd5
|
|
--- /dev/null
|
|
+++ b/CMakeLists.txt
|
|
@@ -0,0 +1,121 @@
|
|
+cmake_minimum_required(VERSION 3.16)
|
|
+project(jsc)
|
|
+
|
|
+set(CONFIG_LTO y)
|
|
+set(prefix "/usr/local")
|
|
+
|
|
+set(QUICKJS_DIR ${CMAKE_CURRENT_LIST_DIR})
|
|
+
|
|
+if(CONFIG_DARWIN)
|
|
+ set(CONFIG_CLANG y)
|
|
+ set(CONFIG_DEFAULT_AR y)
|
|
+endif()
|
|
+
|
|
+if(CONFIG_WIN32)
|
|
+ if(CONFIG_M32)
|
|
+ set(CROSS_PREFIX i686-w64-mingw32-)
|
|
+ else()
|
|
+ set(CROSS_PREFIX x86_64-w64-mingw32-)
|
|
+ endif()
|
|
+else()
|
|
+ set(CROSS_PREFIX)
|
|
+endif()
|
|
+
|
|
+set(QUICKJS_COMMON_OPT)
|
|
+set(QJSC_OPT)
|
|
+if(CONFIG_CLANG)
|
|
+ set(HOST_CC clang)
|
|
+ set(CC ${CROSS_PREFIX}clang)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -g -Wall)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wextra)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wno-sign-compare)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wno-missing-field-initializers)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wundef -Wuninitialized)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wunused -Wno-unused-parameter)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wwrite-strings)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wchar-subscripts -funsigned-char)
|
|
+ if(CONFIG_DEFAULT_AR)
|
|
+ set(AR ${CROSS_PREFIX}ar)
|
|
+ else()
|
|
+ if(CONFIG_LTO)
|
|
+ set(AR ${CROSS_PREFIX}llvm-ar)
|
|
+ else()
|
|
+ set(AR ${CROSS_PREFIX}ar)
|
|
+ endif()
|
|
+ endif()
|
|
+else()
|
|
+ set(HOST_CC gcc)
|
|
+ set(CC ${CROSS_PREFIX}gcc)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -g -Wall)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wno-array-bounds -Wno-format-truncation)
|
|
+ if(CONFIG_LTO)
|
|
+ set(AR ${CROSS_PREFIX}gcc-ar)
|
|
+ else()
|
|
+ set(AR ${CROSS_PREFIX}ar)
|
|
+ endif()
|
|
+endif()
|
|
+
|
|
+set(STRIP ${CROSS_PREFIX}strip)
|
|
+
|
|
+if(CONFIG_WERROR)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Werror)
|
|
+endif()
|
|
+
|
|
+set(QUICKJS_COMMON_DEF)
|
|
+set(QUICKJS_DEF)
|
|
+set(QJSC_DEF)
|
|
+list(APPEND QUICKJS_COMMON_DEF -D_GNU_SOURCE
|
|
+ -DCONFIG_VERSION=${QUICKJS_VERSION})
|
|
+
|
|
+if(CONFIG_BIGNUM STREQUAL y)
|
|
+ list(APPEND QUICKJS_COMMON_DEF -DCONFIG_BIGNUM)
|
|
+endif()
|
|
+
|
|
+list(APPEND QJSC_OPT -O2)
|
|
+
|
|
+if(CONFIG_LTO)
|
|
+ list(APPEND CFLAGS_SMALL -flto)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -flto)
|
|
+ list(APPEND LDFLAGS -flto)
|
|
+endif()
|
|
+
|
|
+if(CONFIG_PROFILE)
|
|
+ list(APPEND CFLAGS -p)
|
|
+ list(APPEND LDFLAGS -p)
|
|
+endif()
|
|
+
|
|
+if(CONFIG_ASAN)
|
|
+ list(APPEND CFLAGS -fsanitize=address -fno-omit-frame-pointer)
|
|
+ list(APPEND LDFLAGS -fsanitize=address -fno-omit-frame-pointer)
|
|
+endif()
|
|
+
|
|
+if(CROSS_PREFIX)
|
|
+ set(QJSC_CC gcc)
|
|
+ set(QJSC ./host-qjsc)
|
|
+else()
|
|
+ set(QJSC_CC ${CC})
|
|
+ set(QJSC ./qjsc)
|
|
+endif()
|
|
+
|
|
+list(APPEND QUICKJS_COMMON_OPT -O2)
|
|
+
|
|
+list(APPEND QJSC_OPT ${QUICKJS_COMMON_OPT})
|
|
+
|
|
+list(APPEND QUICKJS_DEF ${QUICKJS_COMMON_DEF})
|
|
+
|
|
+list(APPEND QJSC_DEF ${QUICKJS_COMMON_DEF})
|
|
+list(APPEND QJSC_DEF -DCONFIG_LTO -DCONFIG_CC=\"gcc\"
|
|
+ -DCONFIG_PREFIX=\"/usr/local\")
|
|
+
|
|
+set(QUICKJS_SRC
|
|
+ ${QUICKJS_DIR}/quickjs.c
|
|
+ ${QUICKJS_DIR}/libbf.c
|
|
+ ${QUICKJS_DIR}/libunicode.c
|
|
+ ${QUICKJS_DIR}/libregexp.c
|
|
+ ${QUICKJS_DIR}/cutils.c
|
|
+ ${QUICKJS_DIR}/quickjs-libc.c)
|
|
+add_library(quickjs ${QUICKJS_SRC})
|
|
+target_compile_options(quickjs PRIVATE ${QUICKJS_COMMON_OPT})
|
|
+target_compile_definitions(quickjs PRIVATE ${QUICKJS_DEF})
|
|
+
|
|
+include(qjsc.cmake)
|
|
diff --git a/qjsc.cmake b/qjsc.cmake
|
|
new file mode 100644
|
|
index 0000000..f64fcbe
|
|
--- /dev/null
|
|
+++ b/qjsc.cmake
|
|
@@ -0,0 +1,119 @@
|
|
+cmake_minimum_required(VERSION 3.16)
|
|
+project(qjsc)
|
|
+set(CONFIG_LTO y)
|
|
+set(prefix "/usr/local")
|
|
+
|
|
+set(QUICKJS_DIR ${CMAKE_CURRENT_LIST_DIR}/)
|
|
+
|
|
+if(CONFIG_DARWIN)
|
|
+ set(CONFIG_CLANG y)
|
|
+ set(CONFIG_DEFAULT_AR y)
|
|
+endif()
|
|
+
|
|
+if(CONFIG_WIN32)
|
|
+ if(CONFIG_M32)
|
|
+ set(CROSS_PREFIX i686-w64-mingw32-)
|
|
+ else()
|
|
+ set(CROSS_PREFIX x86_64-w64-mingw32-)
|
|
+ endif()
|
|
+else()
|
|
+ set(CROSS_PREFIX)
|
|
+endif()
|
|
+
|
|
+set(QUICKJS_COMMON_OPT)
|
|
+set(QJSC_OPT)
|
|
+if(CONFIG_CLANG)
|
|
+ set(HOST_CC clang)
|
|
+ set(CC ${CROSS_PREFIX}clang)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -g -Wall)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wextra)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wno-sign-compare)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wno-missing-field-initializers)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wundef -Wuninitialized)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wunused -Wno-unused-parameter)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wwrite-strings)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wchar-subscripts -funsigned-char)
|
|
+ if(CONFIG_DEFAULT_AR)
|
|
+ set(AR ${CROSS_PREFIX}ar)
|
|
+ else()
|
|
+ if(CONFIG_LTO)
|
|
+ set(AR ${CROSS_PREFIX}llvm-ar)
|
|
+ else()
|
|
+ set(AR ${CROSS_PREFIX}ar)
|
|
+ endif()
|
|
+ endif()
|
|
+else()
|
|
+ set(HOST_CC gcc)
|
|
+ set(CC ${CROSS_PREFIX}gcc)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -g -Wall)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Wno-array-bounds -Wno-format-truncation)
|
|
+ if(CONFIG_LTO)
|
|
+ set(AR ${CROSS_PREFIX}gcc-ar)
|
|
+ else()
|
|
+ set(AR ${CROSS_PREFIX}ar)
|
|
+ endif()
|
|
+endif()
|
|
+
|
|
+set(STRIP ${CROSS_PREFIX}strip)
|
|
+
|
|
+if(CONFIG_WERROR)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -Werror)
|
|
+endif()
|
|
+
|
|
+set(QUICKJS_COMMON_DEF)
|
|
+set(QUICKJS_DEF)
|
|
+set(QJSC_DEF)
|
|
+list(APPEND QUICKJS_COMMON_DEF -D_GNU_SOURCE
|
|
+ -DCONFIG_VERSION=${QUICKJS_VERSION})
|
|
+
|
|
+if(CONFIG_BIGNUM STREQUAL y)
|
|
+ list(APPEND QUICKJS_COMMON_DEF -DCONFIG_BIGNUM)
|
|
+endif()
|
|
+
|
|
+list(APPEND QJSC_OPT -O2)
|
|
+
|
|
+if(CONFIG_LTO)
|
|
+ list(APPEND CFLAGS_SMALL -flto)
|
|
+ list(APPEND QUICKJS_COMMON_OPT -flto)
|
|
+ list(APPEND LDFLAGS -flto)
|
|
+endif()
|
|
+
|
|
+if(CONFIG_PROFILE)
|
|
+ list(APPEND CFLAGS -p)
|
|
+ list(APPEND LDFLAGS -p)
|
|
+endif()
|
|
+
|
|
+if(CONFIG_ASAN)
|
|
+ list(APPEND CFLAGS -fsanitize=address -fno-omit-frame-pointer)
|
|
+ list(APPEND LDFLAGS -fsanitize=address -fno-omit-frame-pointer)
|
|
+endif()
|
|
+
|
|
+if(CROSS_PREFIX)
|
|
+ set(QJSC_CC gcc)
|
|
+ set(QJSC ./host-qjsc)
|
|
+else()
|
|
+ set(QJSC_CC ${CC})
|
|
+ set(QJSC ./qjsc)
|
|
+endif()
|
|
+
|
|
+list(APPEND QUICKJS_COMMON_OPT -O2)
|
|
+
|
|
+list(APPEND QJSC_OPT ${QUICKJS_COMMON_OPT})
|
|
+
|
|
+list(APPEND QUICKJS_DEF ${QUICKJS_COMMON_DEF})
|
|
+
|
|
+list(APPEND QJSC_DEF ${QUICKJS_COMMON_DEF})
|
|
+list(APPEND QJSC_DEF -DCONFIG_LTO -DCONFIG_CC=\"gcc\"
|
|
+ -DCONFIG_PREFIX=\"/usr/local\")
|
|
+
|
|
+add_executable(qjsc qjsc.c)
|
|
+target_compile_options(qjsc PRIVATE ${QJSC_OPT})
|
|
+target_compile_definitions(qjsc PRIVATE ${QJSC_DEF})
|
|
+
|
|
+target_link_options(qjsc PRIVATE -g -flto)
|
|
+target_link_libraries(qjsc quickjs)
|
|
+
|
|
+if(UNIX)
|
|
+ find_package(Threads)
|
|
+ target_link_libraries(quickjs ${CMAKE_DL_LIBS} m Threads::Threads)
|
|
+endif()
|