11# JavaScript
22
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-
113## Package.swift
124
135``` 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 " ))
157```
168
179## Usage
@@ -33,61 +25,10 @@ assertEqual("\(result)", "result string")
3325
3426### macOS
3527
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
6529
6630### Linux
6731
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
8332``` bash
8433apt install -y libjavascriptcoregtk-4.0-dev
8534```
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