MIRROR: javascript for ๐Ÿœ's, a tiny runtime with big ambitions
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

update dependencies and refactor build system

+49 -69
+2 -2
.github/versions.json
··· 6 6 }, 7 7 "dependencies": { 8 8 "llhttp": "9.2.1", 9 - "libuv": "1.51.0", 9 + "libuv": "1.52.0", 10 10 "libsodium": "1.0.20", 11 11 "mbedtls": "3.6.5", 12 12 "zlib": "1.3.1" ··· 125 125 "binary_name": "ant.exe", 126 126 "deps": ["llhttp"], 127 127 "tls_library": "openssl", 128 - "static_link": false, 128 + "static_link": true, 129 129 "cmake_generator": "MinGW Makefiles", 130 130 "extra_meson_args": "-Dc_std=gnu2x" 131 131 }
+2 -2
BUILDING.md
··· 102 102 The remaining dependencies are vendored as Meson subprojects under `vendor/` 103 103 and are fetched automatically: 104 104 105 - - libuv 1.51.0 105 + - libuv 1.52.0 106 106 - yyjson 0.12.0 107 - - zlib-ng 2.3.2 107 + - zlib-ng 2.3.3 108 108 - nghttp2 109 109 - pcre2 110 110 - libffi
+14 -37
meson.build
··· 9 9 'warning_level=2' 10 10 ], subproject_dir: 'vendor') 11 11 12 - src_root = meson.project_source_root() 13 - vendor_dir = 'vendor' 12 + python = find_program('python3') 14 13 is_static = get_option('static_link') 15 14 16 - subdir('meson') 15 + src_root = meson.project_source_root() 16 + include = include_directories('include') 17 17 18 - module_files = run_command('sh', '-c', 19 - 'cd "$MESON_SOURCE_ROOT" && ls src/modules/*.c', 18 + core_files = files(run_command( 19 + python, files('meson/sources.py'), files('sources.json'), 'core', 20 20 check: true 21 - ).stdout().strip().split() 21 + ).stdout().strip().split()) 22 22 23 - lib_sources = files( 24 - 'src/roots.c', 25 - 'src/utils.c', 26 - 'src/utf8.c', 27 - 'src/escape.c', 28 - 'src/reactor.c', 29 - 'src/sugar.c', 30 - 'src/ant.c', 31 - 'src/errors.c', 32 - 'src/stack.c', 33 - 'src/gc.c', 34 - 'src/repl.c', 35 - 'src/runtime.c', 36 - 'src/snapshot.c', 37 - 'src/esm/remote.c', 38 - 'src/cli/pkg.c', 39 - 'src/cli/misc.c', 40 - 'src/cli/version.c', 41 - ) + files(module_files) 23 + lib_sources = files(run_command( 24 + python, files('meson/sources.py'), files('sources.json'), 'engine', 25 + check: true 26 + ).stdout().strip().split()) 42 27 43 - include = include_directories('include') 44 - build_include = include_directories('.') 45 - strip_include = include_directories('src/strip') 28 + subdir('meson') 46 29 47 30 libant = static_library( 48 31 'ant', 49 32 lib_sources + [snapshot_h], 50 - include_directories: [ 51 - include, version_include, 52 - build_include, strip_include 53 - ], 33 + include_directories: include, 54 34 dependencies: ant_deps, 55 35 install: true 56 36 ) ··· 85 65 86 66 libant_dep = declare_dependency( 87 67 link_with: libant, 88 - include_directories: [ 89 - include, version_include, build_include 90 - ], 68 + include_directories: include, 91 69 dependencies: ant_deps + [oxc_dep, pkg_dep] 92 70 ) 93 71 ··· 98 76 99 77 executable( 100 78 'ant', 101 - files('src/main.c') + [snapshot_h], 102 - include_directories: [strip_include], 79 + files('src/main.c'), 103 80 dependencies: libant_dep, 104 81 link_args: link_args 105 82 )
+3 -3
meson/deps/meson.build
··· 64 64 '-Wno-sometimes-uninitialized', 65 65 '-Wno-cast-function-type-mismatch', 66 66 '-Wno-missing-field-initializers', 67 - '-I' + meson.project_source_root() / vendor_dir / 'libuv-v1.51.0' / 'include' 68 67 ] 68 + 69 69 if cmake_prefix != '' 70 70 tlsuv_compile_args += ['-I' + cmake_prefix / 'include'] 71 71 endif ··· 147 147 'inc': 'src', 148 148 }, 149 149 'libuv': { 150 - 'dir': 'libuv-v1.51.0', 150 + 'dir': 'libuv-v1.52.0', 151 151 'inc': 'include', 152 152 }, 153 153 'zlib-ng': { 154 - 'dir': 'zlib-ng-2.3.2', 154 + 'dir': 'zlib-ng-2.3.3', 155 155 'inc': '', 156 156 'build_dir': true, 157 157 },
+1 -6
meson/snapshot/meson.build
··· 1 1 node = find_program('node', required: true) 2 2 3 - core_files = run_command('sh', '-c', 4 - 'find ' + src_root / 'src' / 'core' + ' -name "*.js" ! -name "index.js" | sort', 5 - check: true 6 - ).stdout().strip().split() 7 - 8 3 snapshot_h = custom_target( 9 4 'snapshot', 10 - input: [src_root / 'src' / 'core' / 'index.ts'] + files(core_files), 5 + input: core_files, 11 6 output: 'snapshot_data.h', 12 7 command: [ 13 8 node,
+11
meson/sources.py
··· 1 + import sys, glob, json 2 + 3 + data = json.load(open(sys.argv[1])) 4 + group = data[sys.argv[2]] 5 + 6 + matched = set() 7 + for p in group['patterns']: 8 + matched.update(glob.glob(p, recursive=True)) 9 + 10 + matched -= set(group.get('exclude', [])) 11 + print('\n'.join(sorted(matched)))
+6 -11
meson/version/meson.build
··· 18 18 19 19 target_triple = target_triple + (tls_lib == 'mbedtls' ? '-mbedtls' : '') 20 20 21 - version_conf = configuration_data() 22 - version_conf.set_quoted('ANT_VERSION', ant_version) 23 - version_conf.set('ANT_BUILD_TIMESTAMP', timestamp) 24 - version_conf.set_quoted('ANT_GIT_HASH', git_hash) 25 - version_conf.set_quoted('ANT_TARGET_TRIPLE', target_triple) 26 - 27 - config_h = configure_file( 28 - output: 'config.h', 29 - configuration: version_conf 21 + add_project_arguments( 22 + '-DANT_VERSION="' + ant_version + '"', 23 + '-DANT_BUILD_TIMESTAMP=' + timestamp, 24 + '-DANT_GIT_HASH="' + git_hash + '"', 25 + '-DANT_TARGET_TRIPLE="' + target_triple + '"', 26 + language: 'c' 30 27 ) 31 - 32 - version_include = include_directories('.')
+10
sources.json
··· 1 + { 2 + "engine": { 3 + "patterns": ["src/*.c", "src/esm/*.c", "src/cli/*.c", "src/modules/*.c"], 4 + "exclude": ["src/main.c"] 5 + }, 6 + "core": { 7 + "patterns": ["src/core/**/*.ts"], 8 + "exclude": [] 9 + } 10 + }
-1
src/cli/pkg.c
··· 15 15 #include "cli/version.h" 16 16 17 17 #include "utils.h" 18 - #include "config.h" 19 18 #include "progress.h" 20 19 #include "modules/io.h" 21 20
-1
src/cli/version.c
··· 1 1 #include "utils.h" 2 - #include "config.h" 3 2 4 3 #include <string.h> 5 4 #include <argtable3.h>
-1
src/main.c
··· 11 11 #include <crprintf.h> 12 12 13 13 #include "ant.h" 14 - #include "config.h" 15 14 #include "repl.h" 16 15 #include "utils.h" 17 16 #include "reactor.h"
-1
src/modules/fetch.c
··· 10 10 11 11 #include "ant.h" 12 12 #include "errors.h" 13 - #include "config.h" 14 13 #include "common.h" 15 14 #include "internal.h" 16 15 #include "runtime.h"
-1
src/modules/navigator.c
··· 13 13 14 14 #include "ant.h" 15 15 #include "errors.h" 16 - #include "config.h" 17 16 #include "runtime.h" 18 17 #include "internal.h" 19 18 #include "modules/navigator.h"
-1
src/modules/process.c
··· 28 28 29 29 #include "ant.h" 30 30 #include "errors.h" 31 - #include "config.h" 32 31 #include "internal.h" 33 32 #include "runtime.h" 34 33 #include "utils.h"
-1
src/modules/server.c
··· 12 12 #include "ant.h" 13 13 #include "gc.h" 14 14 #include "reactor.h" 15 - #include "config.h" 16 15 #include "runtime.h" 17 16 #include "internal.h" 18 17
-1
src/repl.c
··· 21 21 #include "ant.h" 22 22 #include "repl.h" 23 23 #include "reactor.h" 24 - #include "config.h" 25 24 #include "runtime.h" 26 25 #include "internal.h" 27 26 #include "modules/io.h"