1
1
# JavaScript
2
2
3
- This package provides JavaScript APIs for several engines.
4
-
5
- ## Package Targets
6
- * JavaScipt - common protocols
7
- * V8 - google's v8 engine wrapper
8
- * JavaScriptCoreSwift - linux version of apple's JavaScriptCore
9
- * СhakraCore - microsoft's chakracore engine wrapper (WIP)
10
-
11
3
## Package.swift
12
4
13
5
``` swift
14
- .package (url : " https://github.com/tris-foundation/javascript.git" , .branch (" master " ))
6
+ .package (url : " https://github.com/tris-foundation/javascript.git" , .branch (" jsc " ))
15
7
```
16
8
17
9
## Usage
@@ -33,61 +25,10 @@ assertEqual("\(result)", "result string")
33
25
34
26
### macOS
35
27
36
- #### V8
37
-
38
- ``` bash
39
- brew install v8
40
- ```
41
-
42
- #### JavaScriptCore
43
-
44
- Works OOB
45
-
46
- #### SwiftPM arguments
47
-
48
- ``` bash
49
- swift package \
50
- -Xcc -I/usr/local/include \
51
- -Xlinker -L/usr/local/lib \
52
- -Xlinker /usr/local/lib/libv8.dylib \
53
- -Xlinker /usr/local/lib/libv8_libbase.dylib \
54
- -Xlinker /usr/local/lib/libv8_libplatform.dylib \
55
- generate-xcodeproj
56
-
57
- swift test \
58
- -Xlinker /System/Library/Frameworks/JavaScriptCore.framework/Versions/Current/JavaScriptCore \
59
- -Xcc -I/usr/local/include \
60
- -Xlinker /usr/local/lib/libv8.dylib \
61
- -Xlinker /usr/local/lib/libv8_libbase.dylib \
62
- -Xlinker /usr/local/lib/libv8_libplatform.dylib \
63
- --generate-linuxmain
64
- ```
28
+ Just works
65
29
66
30
### Linux
67
31
68
- #### V8
69
-
70
- For full instructions follow https://v8.dev/docs/build
71
- ``` bash
72
- git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
73
- export PATH=$PATH :$( pwd) /depot_tools
74
- fetch v8
75
- cd v8
76
- gclient sync -r 7.0.276.28
77
- ./build/install-build-deps.sh # OMG
78
- gn gen --args=" is_debug=false is_component_build=true v8_use_external_startup_data=false v8_enable_i18n_support=false" out.gn/x64.release
79
- ninja -j8 -C out.gn/x64.release -v d8
80
- ```
81
-
82
- #### JavaScriptCore
83
32
``` bash
84
33
apt install -y libjavascriptcoregtk-4.0-dev
85
34
```
86
-
87
- #### SwiftPM arguments
88
-
89
- ``` bash
90
- export LD_LIBRARY_PATH=/opt/libv8-6.6/lib
91
- swift build -Xcc -I/opt/libv8-6.6/include -Xlinker -L/opt/libv8-6.6/lib -Xlinker -lv8_libbase -Xlinker -lv8_libplatform
92
- swift test -Xcc -I/opt/libv8-6.6/include -Xlinker -L/opt/libv8-6.6/lib -Xlinker -lv8_libbase -Xlinker -lv8_libplatform
93
- ```
0 commit comments