most of the bindings! · codebymarcus/bun@e914c5f · GitHub
Skip to content

Commit e914c5f

Browse files
committed
most of the bindings!
Former-commit-id: a8a4f28
1 parent f1d6dd2 commit e914c5f

17 files changed

Lines changed: 3656 additions & 2253 deletions

.gitignore

Lines changed: 2 additions & 1 deletion

.vscode/c_cpp_properties.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
],
88
"includePath": [
99
"${workspaceFolder}/src/JavaScript/jsc/WebKit/WebKitBuild/Release/JavaScriptCore/PrivateHeaders/",
10-
"${workspaceFolder}/src/JavaScript/jsc/WebKit/WebKitBuild/Release/WTF/Headers/**",
10+
"${workspaceFolder}/src/JavaScript/jsc/WebKit/WebKitBuild/Release/WTF/Headers",
1111
"${workspaceFolder}/src/JavaScript/jsc/WebKit/WebKitBuild/Release/*",
12-
"${workspaceFolder}/src/JavaScript/jsc/bindings/**",
13-
"${workspaceFolder}/src/JavaScript/jsc/WebKit/Source/bmalloc/**",
12+
"${workspaceFolder}/src/JavaScript/jsc/bindings/",
13+
"${workspaceFolder}/src/JavaScript/jsc/WebKit/Source/bmalloc/",
1414
"${workspaceFolder}/src/javascript/jsc/WebKit/WebKitBuild/Release/ICU/Headers/"
1515
],
1616
"browse": {
@@ -24,7 +24,7 @@
2424
"${workspaceFolder}/src/javascript/jsc/WebKit/WebKitBuild/Release/ICU/Headers/"
2525
],
2626
"limitSymbolsToIncludedHeaders": true,
27-
"databaseFilename": ""
27+
"databaseFilename": ".vscode/cppdb"
2828
},
2929
"defines": [
3030
"STATICALLY_LINKED_WITH_JavaScriptCore=1",
@@ -33,12 +33,14 @@
3333
"NOMINMAX",
3434
"ENABLE_INSPECTOR_ALTERNATE_DISPATCHERS=0",
3535
"BUILDING_JSCONLY__",
36-
"USE_FOUNDATION=1"
36+
"USE_FOUNDATION=1",
37+
"ASSERT_ENABLED=0",
38+
"DU_DISABLE_RENAMING=1"
3739
],
3840
"macFrameworkPath": [],
3941
"compilerPath": "/usr/local/opt/llvm/bin/clang",
4042
"cStandard": "c17",
41-
"cppStandard": "c++17",
43+
"cppStandard": "c++11",
4244
"intelliSenseMode": "macos-clang-x64"
4345
}
4446
],

.vscode/settings.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,17 @@
2929
},
3030
"files.associations": {
3131
"*.idl": "cpp",
32-
"memory": "cpp"
32+
"memory": "cpp",
33+
"iostream": "cpp",
34+
"algorithm": "cpp",
35+
"random": "cpp",
36+
"ios": "cpp",
37+
"filesystem": "cpp",
38+
"__locale": "cpp",
39+
"type_traits": "cpp",
40+
"__mutex_base": "cpp",
41+
"__string": "cpp",
42+
"string": "cpp",
43+
"string_view": "cpp"
3344
}
3445
}

Makefile

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,23 @@ jsc: jsc-build jsc-bindings
88
jsc-build: jsc-build-mac
99
jsc-bindings:
1010
jsc-bindings-headers
11+
1112
jsc-bindings-mac
13+
1214

1315
jsc-bindings-headers:
1416
zig build headers
1517

18+
1619
jsc-build-mac:
1720
cd src/javascript/jsc/WebKit && ICU_INCLUDE_DIRS="/usr/local/opt/icu4c/include" ./Tools/Scripts/build-jsc --jsc-only --cmakeargs="-DENABLE_STATIC_JSC=ON -DCMAKE_BUILD_TYPE=relwithdebinfo" && echo "Ignore the \"has no symbols\" errors"
1821

1922
SRC_DIR := src/javascript/jsc/bindings
2023
OBJ_DIR := src/javascript/jsc/bindings-obj
2124
SRC_FILES := $(wildcard $(SRC_DIR)/*.cpp)
2225
OBJ_FILES := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRC_FILES))
23-
24-
jsc-bindings-mac: $(OBJ_FILES)
25-
26-
# We do this outside of build.zig for performance reasons
27-
# The C compilation stuff with build.zig is really slow and we don't need to run this as often as the rest
28-
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
29-
clang++ -c -o $@ $< \
30-
-Isrc/JavaScript/jsc/WebKit/WebKitBuild/Release/JavaScriptCore/PrivateHeaders \
31-
-Isrc/JavaScript/jsc/WebKit/WebKitBuild/Release/WTF/Headers \
26+
CLANG_FLAGS = -Isrc/JavaScript/jsc/WebKit/WebKitBuild/Release/JavaScriptCore/PrivateHeaders \
27+
-Isrc/javascript/jsc/WebKit/WebKitBuild/Release/WTF/Headers \
3228
-Isrc/javascript/jsc/WebKit/WebKitBuild/Release/ICU/Headers \
3329
-DSTATICALLY_LINKED_WITH_JavaScriptCore=1 \
3430
-DSTATICALLY_LINKED_WITH_WTF=1 \
@@ -40,7 +36,22 @@ $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
4036
-Isrc/JavaScript/jsc/WebKit/WebKitBuild/Release/ \
4137
-Isrc/JavaScript/jsc/bindings/ \
4238
-Isrc/javascript/jsc/WebKit/Source/bmalloc \
43-
-std=gnu++17
39+
-std=gnu++17 \
40+
-stdlib=libc++ \
41+
-DDU_DISABLE_RENAMING=1
42+
43+
jsc-bindings-mac: $(OBJ_FILES)
44+
45+
# We do this outside of build.zig for performance reasons
46+
# The C compilation stuff with build.zig is really slow and we don't need to run this as often as the rest
47+
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
48+
clang++ -c -o $@ $< \
49+
$(CLANG_FLAGS)
50+
51+
sizegen:
52+
clang++ src/javascript/jsc/headergen/sizegen.cpp -o /tmp/sizegen $(CLANG_FLAGS)
53+
/tmp/sizegen > src/javascript/jsc/bindings/sizes.zig
54+
4455

4556
speedy-prod-native-macos:
4657
cd src/deps; clang -c picohttpparser.c; cd ../../

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Speedy - a fast web bundler
1+
# Speedy - a fast web bundler & JavaScript runtime environment
22

33
Speedy bundles & transpiles JavaScript, TypeScript, and CSS. Speedy is probably the fastest bundler out today.
44

src/javascript/jsc/bindings/DefaultGlobal.cpp

Lines changed: 30 additions & 114 deletions

0 commit comments

Comments
 (0)