commit 45c2f5726900f97393f23c7de2893e0ddc8ee81b
parent 9b255f3ad8946e46bb8a42f730218db921b2fe29
Author: Florian Dold <florian@dold.me>
Date: Fri, 16 Dec 2022 14:37:25 +0100
cmake
Diffstat:
2 files changed, 41 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -0,0 +1,39 @@
+cmake_minimum_required(VERSION 3.10)
+
+project(quickjs-tart
+ DESCRIPTION "Taler Runtime based on QuickJS"
+ LANGUAGES C)
+
+add_compile_definitions(_GNU_SOURCE)
+#add_compile_definitions(CONFIG_BIGNUM)
+
+add_library(quickjs STATIC quickjs.c)
+target_compile_definitions(quickjs PRIVATE CONFIG_VERSION="0.0.1")
+target_link_libraries(quickjs PRIVATE m libregexp libbf)
+
+add_library(libregexp STATIC libregexp.c)
+target_link_libraries(quickjs PRIVATE cutils libunicode)
+
+add_library(libunicode STATIC libunicode.c)
+add_library(libbf STATIC libbf.c)
+
+add_library(cutils STATIC cutils.c)
+
+
+add_library(quickjs-libc STATIC quickjs-libc.c)
+target_link_libraries(quickjs-libc PRIVATE quickjs libregexp libunicode cutils mbedcrypto sodium curl)
+
+add_executable(qjsc qjsc.c)
+target_compile_definitions(qjsc PRIVATE CONFIG_VERSION="0.0.1")
+target_link_libraries(qjsc PRIVATE libregexp libunicode cutils quickjs-libc)
+
+add_custom_command(OUTPUT repl.c
+ COMMAND qjsc ARGS -c -o repl.c -m ${CMAKE_SOURCE_DIR}/repl.js
+ MAIN_DEPENDENCY repl.js
+ DEPENDS qjsc
+ COMMENT compiling repl
+ VERBATIM)
+
+add_executable(qjs qjs.c repl.c)
+target_compile_definitions(qjs PRIVATE CONFIG_VERSION="0.0.1")
+target_link_libraries(qjs PRIVATE quickjs quickjs-libc)
diff --git a/qjs.c b/qjs.c
@@ -46,8 +46,8 @@ extern const uint32_t qjsc_repl_size;
#ifdef CONFIG_BIGNUM
extern const uint8_t qjsc_qjscalc[];
extern const uint32_t qjsc_qjscalc_size;
-static int bignum_ext;
#endif
+static int bignum_ext;
static int eval_buf(JSContext *ctx, const void *buf, int buf_len,
const char *filename, int eval_flags)
@@ -321,9 +321,7 @@ int main(int argc, char **argv)
size_t memory_limit = 0;
char *include_list[32];
int i, include_count = 0;
-#ifdef CONFIG_BIGNUM
- int load_jscalc;
-#endif
+ int load_jscalc = 0;
size_t stack_size = 0;
#ifdef CONFIG_BIGNUM