diff options
author | 2023-03-30 19:34:20 -0700 | |
---|---|---|
committer | 2023-03-30 19:34:20 -0700 | |
commit | 1fa7c1f79e1a0e665fc5a02764bdda724363d007 (patch) | |
tree | 9d2546345a0db1251aa44441882cf6adafb474ea | |
parent | 758daa7367db6c750879c8bd69b07cd627ef6bb6 (diff) | |
download | bun-1fa7c1f79e1a0e665fc5a02764bdda724363d007.tar.gz bun-1fa7c1f79e1a0e665fc5a02764bdda724363d007.tar.zst bun-1fa7c1f79e1a0e665fc5a02764bdda724363d007.zip |
Generate dependency files in `make bindings` (#2510)
* generate dependency files, include in makefile
* move `make webcrypto` to `make bindings`
* update more references to `make webcrypto`
* remove `-lwebcrypto`
-rw-r--r-- | .github/workflows/bun-mac-aarch64.yml | 2 | ||||
-rw-r--r-- | .github/workflows/bun-mac-x64-baseline.yml | 2 | ||||
-rw-r--r-- | .github/workflows/bun-mac-x64.yml | 2 | ||||
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | Dockerfile | 7 | ||||
-rw-r--r-- | Makefile | 94 | ||||
-rw-r--r-- | docs/project/developing.md | 2 |
7 files changed, 54 insertions, 58 deletions
diff --git a/.github/workflows/bun-mac-aarch64.yml b/.github/workflows/bun-mac-aarch64.yml index 642f20d0c..f85c233a5 100644 --- a/.github/workflows/bun-mac-aarch64.yml +++ b/.github/workflows/bun-mac-aarch64.yml @@ -333,7 +333,7 @@ jobs: rm -rf packages/${{ matrix.package }} mkdir -p packages/${{ matrix.package }} mv ${{ runner.temp }}/release/* packages/${{ matrix.package }}/ - make webcrypto bun-link-lld-release copy-to-bun-release-dir-bin + make bun-link-lld-release copy-to-bun-release-dir-bin - name: Zip env: CPU_TARGET: ${{ matrix.cpu }} diff --git a/.github/workflows/bun-mac-x64-baseline.yml b/.github/workflows/bun-mac-x64-baseline.yml index 919333fa5..7d127cab3 100644 --- a/.github/workflows/bun-mac-x64-baseline.yml +++ b/.github/workflows/bun-mac-x64-baseline.yml @@ -337,7 +337,7 @@ jobs: rm -rf packages/${{ matrix.package }} mkdir -p packages/${{ matrix.package }} mv ${{ runner.temp }}/release/* packages/${{ matrix.package }}/ - make webcrypto bun-link-lld-release copy-to-bun-release-dir-bin + make bun-link-lld-release copy-to-bun-release-dir-bin - name: Zip env: CPU_TARGET: ${{ matrix.cpu }} diff --git a/.github/workflows/bun-mac-x64.yml b/.github/workflows/bun-mac-x64.yml index 434c43e4e..0d690916a 100644 --- a/.github/workflows/bun-mac-x64.yml +++ b/.github/workflows/bun-mac-x64.yml @@ -339,7 +339,7 @@ jobs: rm -rf packages/${{ matrix.package }} mkdir -p packages/${{ matrix.package }} mv ${{ runner.temp }}/release/* packages/${{ matrix.package }}/ - make webcrypto bun-link-lld-release copy-to-bun-release-dir-bin + make bun-link-lld-release copy-to-bun-release-dir-bin - name: Zip env: CPU_TARGET: ${{ matrix.cpu }} diff --git a/.gitignore b/.gitignore index 49fb9c41d..fefcd4546 100644 --- a/.gitignore +++ b/.gitignore @@ -109,8 +109,9 @@ misctools/machbench bun-webkit src/deps/c-ares/build +src/bun.js/bindings-obj src/bun.js/debug-bindings-obj failing-tests.txt test.txt -myscript.sh
\ No newline at end of file +myscript.sh diff --git a/Dockerfile b/Dockerfile index ec11e9aea..923341fad 100644 --- a/Dockerfile +++ b/Dockerfile @@ -468,13 +468,13 @@ WORKDIR $BUN_DIR ENV JSC_BASE_DIR=${WEBKIT_DIR} ENV LIB_ICU_PATH=${WEBKIT_DIR}/lib -# Required for `make webcrypto` +# Required for webcrypto bindings COPY src/deps/boringssl/include ${BUN_DIR}/src/deps/boringssl/include ENV CCACHE_DIR=/ccache -RUN --mount=type=cache,target=/ccache cd $BUN_DIR && mkdir -p src/bun.js/bindings-obj && rm -rf $HOME/.cache zig-cache && mkdir -p $BUN_RELEASE_DIR && make webcrypto && \ - make release-bindings -j10 && mv ${BUN_DEPS_OUT_DIR}/libwebcrypto.a /tmp && mv src/bun.js/bindings-obj/* /tmp +RUN --mount=type=cache,target=/ccache cd $BUN_DIR && mkdir -p src/bun.js/bindings-obj && rm -rf $HOME/.cache zig-cache && mkdir -p $BUN_RELEASE_DIR && \ + make release-bindings -j10 && mv src/bun.js/bindings-obj/* /tmp FROM bun-base as sqlite @@ -506,7 +506,6 @@ RUN --mount=type=cache,target=/ccache cd $BUN_DIR && make sqlite FROM scratch as build_release_cpp COPY --from=compile_cpp /tmp/*.o / -COPY --from=compile_cpp /tmp/libwebcrypto.a / FROM prepare_release as build_release @@ -286,6 +286,7 @@ SRC_SQLITE_FILES := $(wildcard $(SRC_DIR)/sqlite/*.cpp) SRC_NODE_OS_FILES := $(wildcard $(SRC_DIR)/node_os/*.cpp) SRC_IO_FILES := $(wildcard src/io/*.cpp) SRC_BUILTINS_FILES := $(wildcard src/bun.js/builtins/*.cpp) +SRC_WEBCRYPTO_FILES := $(wildcard $(SRC_DIR)/webcrypto/*.cpp) OBJ_FILES := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRC_FILES)) WEBCORE_OBJ_FILES := $(patsubst $(SRC_DIR)/webcore/%.cpp,$(OBJ_DIR)/%.o,$(SRC_WEBCORE_FILES)) @@ -294,6 +295,7 @@ NODE_OS_OBJ_FILES := $(patsubst $(SRC_DIR)/node_os/%.cpp,$(OBJ_DIR)/%.o,$(SRC_NO BUILTINS_OBJ_FILES := $(patsubst src/bun.js/builtins/%.cpp,$(OBJ_DIR)/%.o,$(SRC_BUILTINS_FILES)) IO_FILES := $(patsubst src/io/%.cpp,$(OBJ_DIR)/%.o,$(SRC_IO_FILES)) MODULES_OBJ_FILES := $(patsubst $(MODULES_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(MODULES_FILES)) +WEBCRYPTO_OBJ_FILES := $(patsubst $(SRC_DIR)/webcrypto/%.cpp,$(OBJ_DIR)/%.o,$(SRC_WEBCRYPTO_FILES)) DEBUG_OBJ_FILES := $(patsubst $(SRC_DIR)/%.cpp,$(DEBUG_OBJ_DIR)/%.o,$(SRC_FILES)) DEBUG_WEBCORE_OBJ_FILES := $(patsubst $(SRC_DIR)/webcore/%.cpp,$(DEBUG_OBJ_DIR)/%.o,$(SRC_WEBCORE_FILES)) @@ -302,9 +304,13 @@ DEBUG_NODE_OS_OBJ_FILES := $(patsubst $(SRC_DIR)/node_os/%.cpp,$(DEBUG_OBJ_DIR)/ DEBUG_BUILTINS_OBJ_FILES := $(patsubst src/bun.js/builtins/%.cpp,$(DEBUG_OBJ_DIR)/%.o,$(SRC_BUILTINS_FILES)) DEBUG_IO_FILES := $(patsubst src/io/%.cpp,$(DEBUG_OBJ_DIR)/%.o,$(SRC_IO_FILES)) DEBUG_MODULES_OBJ_FILES := $(patsubst $(MODULES_DIR)/%.cpp,$(DEBUG_OBJ_DIR)/%.o,$(MODULES_FILES)) +DEBUG_WEBCRYPTO_OBJ_FILES := $(patsubst $(SRC_DIR)/webcrypto/%.cpp, $(DEBUG_OBJ_DIR)/%.o, $(SRC_WEBCRYPTO_FILES)) -BINDINGS_OBJ := $(OBJ_FILES) $(WEBCORE_OBJ_FILES) $(SQLITE_OBJ_FILES) $(NODE_OS_OBJ_FILES) $(BUILTINS_OBJ_FILES) $(IO_FILES) $(MODULES_OBJ_FILES) -DEBUG_BINDINGS_OBJ := $(DEBUG_OBJ_FILES) $(DEBUG_WEBCORE_OBJ_FILES) $(DEBUG_SQLITE_OBJ_FILES) $(DEBUG_NODE_OS_OBJ_FILES) $(DEBUG_BUILTINS_OBJ_FILES) $(DEBUG_IO_FILES) $(DEBUG_MODULES_OBJ_FILES) +BINDINGS_OBJ := $(OBJ_FILES) $(WEBCORE_OBJ_FILES) $(SQLITE_OBJ_FILES) $(NODE_OS_OBJ_FILES) $(BUILTINS_OBJ_FILES) $(IO_FILES) $(MODULES_OBJ_FILES) $(WEBCRYPTO_OBJ_FILES) +DEBUG_BINDINGS_OBJ := $(DEBUG_OBJ_FILES) $(DEBUG_WEBCORE_OBJ_FILES) $(DEBUG_SQLITE_OBJ_FILES) $(DEBUG_NODE_OS_OBJ_FILES) $(DEBUG_BUILTINS_OBJ_FILES) $(DEBUG_IO_FILES) $(DEBUG_MODULES_OBJ_FILES) $(DEBUG_WEBCRYPTO_OBJ_FILES) + +-include $(BINDINGS_OBJ:.o=.d) +-include $(DEBUG_BINDINGS_OBJ:.o=.d) ALL_JSC_INCLUDE_DIRS := -I$(WEBKIT_RELEASE_DIR)/WTF/Headers \ -I$(WEBKIT_RELEASE_DIR)/ICU/Headers \ @@ -499,9 +505,9 @@ BUN_LLD_FLAGS_WITHOUT_JSC = $(ARCHIVE_FILES) \ -BUN_LLD_FLAGS = $(BUN_LLD_FLAGS_WITHOUT_JSC) $(WRAP_SYMBOLS_ON_LINUX) $(JSC_FILES) $(BINDINGS_OBJ) -lwebcrypto -BUN_LLD_FLAGS_DEBUG = $(BUN_LLD_FLAGS_WITHOUT_JSC) $(WRAP_SYMBOLS_ON_LINUX) $(JSC_FILES_DEBUG) $(DEBUG_BINDINGS_OBJ) -lwebcrypto-debug -BUN_LLD_FLAGS_FAST = $(BUN_LLD_FLAGS_WITHOUT_JSC) $(WRAP_SYMBOLS_ON_LINUX) $(JSC_FILES_DEBUG) $(BINDINGS_OBJ) -lwebcrypto-debug +BUN_LLD_FLAGS = $(BUN_LLD_FLAGS_WITHOUT_JSC) $(WRAP_SYMBOLS_ON_LINUX) $(JSC_FILES) $(BINDINGS_OBJ) +BUN_LLD_FLAGS_DEBUG = $(BUN_LLD_FLAGS_WITHOUT_JSC) $(WRAP_SYMBOLS_ON_LINUX) $(JSC_FILES_DEBUG) $(DEBUG_BINDINGS_OBJ) +BUN_LLD_FLAGS_FAST = $(BUN_LLD_FLAGS_WITHOUT_JSC) $(WRAP_SYMBOLS_ON_LINUX) $(JSC_FILES_DEBUG) $(BINDINGS_OBJ) CLANG_VERSION = $(shell $(CC) --version | awk '/version/ {for(i=1; i<=NF; i++){if($$i=="version"){split($$(i+1),v,".");print v[1]}}}') @@ -899,14 +905,14 @@ jsc: jsc-build jsc-copy-headers jsc-bindings .PHONY: jsc-build jsc-build: $(JSC_BUILD_STEPS) .PHONY: jsc-bindings -jsc-bindings: headers bindings webcrypto-debug webcrypto +jsc-bindings: headers bindings .PHONY: clone-submodules clone-submodules: git -c submodule."src/bun.js/WebKit".update=none submodule update --init --recursive --depth=1 --progress .PHONY: devcontainer -devcontainer: $(OBJ_DIR) $(DEBUG_OBJ_DIR) clone-submodules mimalloc zlib libarchive boringssl picohttp identifier-cache node-fallbacks npm-install api analytics bun_error fallback_decoder bindings uws lolhtml usockets tinycc c-ares runtime_js_dev sqlite webcrypto-debug webcrypto +devcontainer: $(OBJ_DIR) $(DEBUG_OBJ_DIR) clone-submodules mimalloc zlib libarchive boringssl picohttp identifier-cache node-fallbacks npm-install api analytics bun_error fallback_decoder bindings uws lolhtml usockets tinycc c-ares runtime_js_dev sqlite .PHONY: devcontainer-build devcontainer-build: @@ -1275,7 +1281,7 @@ jsc-build-mac-copy: clean-jsc: cd src/bun.js/WebKit && rm -rf **/CMakeCache.txt **/CMakeFiles && rm -rf src/bun.js/WebKit/WebKitBuild clean-bindings: - rm -rf $(OBJ_DIR)/*.o $(DEBUG_OBJ_DIR)/*.o $(DEBUG_OBJ_DIR)/webcore/*.o $(DEBUG_BINDINGS_OBJ) $(OBJ_DIR)/webcore/*.o $(BINDINGS_OBJ) + rm -rf $(OBJ_DIR)/*.o $(DEBUG_OBJ_DIR)/*.o $(DEBUG_OBJ_DIR)/webcore/*.o $(DEBUG_BINDINGS_OBJ) $(OBJ_DIR)/webcore/*.o $(BINDINGS_OBJ) $(OBJ_DIR)/*.d $(DEBUG_OBJ_DIR)/*.d .PHONY: clean clean: clean-bindings @@ -1288,12 +1294,12 @@ clean: clean-bindings (cd $(BUN_DEPS_DIR)/c-ares && rm -rf build && make clean) || echo ""; .PHONY: release-bindings -release-bindings: $(OBJ_DIR) $(OBJ_FILES) $(WEBCORE_OBJ_FILES) $(SQLITE_OBJ_FILES) $(NODE_OS_OBJ_FILES) $(BUILTINS_OBJ_FILES) $(IO_FILES) $(MODULES_OBJ_FILES) +release-bindings: $(OBJ_DIR) $(OBJ_FILES) $(WEBCORE_OBJ_FILES) $(SQLITE_OBJ_FILES) $(NODE_OS_OBJ_FILES) $(BUILTINS_OBJ_FILES) $(IO_FILES) $(MODULES_OBJ_FILES) $(WEBCRYPTO_OBJ_FILES) # Do not add $(DEBUG_DIR) to this list # It will break caching, causing you to have to wait for every .cpp file to rebuild. .PHONY: bindings -bindings: $(DEBUG_OBJ_DIR) $(DEBUG_OBJ_FILES) $(DEBUG_WEBCORE_OBJ_FILES) $(DEBUG_SQLITE_OBJ_FILES) $(DEBUG_NODE_OS_OBJ_FILES) $(DEBUG_BUILTINS_OBJ_FILES) $(DEBUG_IO_FILES) $(DEBUG_MODULES_OBJ_FILES) +bindings: $(DEBUG_OBJ_DIR) $(DEBUG_OBJ_FILES) $(DEBUG_WEBCORE_OBJ_FILES) $(DEBUG_SQLITE_OBJ_FILES) $(DEBUG_NODE_OS_OBJ_FILES) $(DEBUG_BUILTINS_OBJ_FILES) $(DEBUG_IO_FILES) $(DEBUG_MODULES_OBJ_FILES) $(DEBUG_WEBCRYPTO_OBJ_FILES) .PHONY: jsc-bindings-mac jsc-bindings-mac: bindings @@ -1461,6 +1467,7 @@ $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) $(UWS_INCLUDE) \ $(MACOS_MIN_FLAG) \ $(OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1471,6 +1478,7 @@ $(OBJ_DIR)/%.o: src/bun.js/modules/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) $(UWS_INCLUDE) \ $(MACOS_MIN_FLAG) \ $(OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1481,6 +1489,7 @@ $(OBJ_DIR)/%.o: $(SRC_DIR)/webcore/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1491,6 +1500,7 @@ $(OBJ_DIR)/%.o: $(SRC_DIR)/sqlite/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1501,6 +1511,7 @@ $(OBJ_DIR)/%.o: src/io/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1511,6 +1522,7 @@ $(OBJ_DIR)/%.o: $(SRC_DIR)/node_os/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1521,12 +1533,25 @@ $(OBJ_DIR)/%.o: src/bun.js/builtins/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ $(EMIT_LLVM) \ -c -o $@ $< + +$(OBJ_DIR)/%.o: src/bun.js/bindings/webcrypto/%.cpp + $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ + $(MACOS_MIN_FLAG) \ + $(OPTIMIZATION_LEVEL) \ + -MMD \ + -fno-exceptions \ + -fno-rtti \ + -ferror-limit=1000 \ + $(EMIT_LLVM) \ + -g3 -c -o $@ $< + # $(DEBUG_OBJ_DIR) is not included here because it breaks # detecting if a file needs to be rebuilt .PHONY: $(SRC_DIR)/%.cpp @@ -1534,6 +1559,7 @@ $(DEBUG_OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) $(UWS_INCLUDE) \ $(MACOS_MIN_FLAG) \ $(DEBUG_OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1548,6 +1574,7 @@ $(DEBUG_OBJ_DIR)/%.o: $(SRC_DIR)/webcore/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(DEBUG_OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1560,6 +1587,7 @@ $(DEBUG_OBJ_DIR)/%.o: src/io/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(DEBUG_OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1575,6 +1603,7 @@ $(DEBUG_OBJ_DIR)/%.o: $(SRC_DIR)/sqlite/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(DEBUG_OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1589,6 +1618,7 @@ $(DEBUG_OBJ_DIR)/%.o: $(SRC_DIR)/node_os/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(DEBUG_OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1603,6 +1633,7 @@ $(DEBUG_OBJ_DIR)/%.o: src/bun.js/builtins/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(DEBUG_OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1615,6 +1646,7 @@ $(DEBUG_OBJ_DIR)/%.o: src/bun.js/modules/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(DEBUG_OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -fno-rtti \ -ferror-limit=1000 \ @@ -1623,11 +1655,12 @@ $(DEBUG_OBJ_DIR)/%.o: src/bun.js/modules/%.cpp -g3 -c -o $@ $< - -$(DEBUG_OBJ_DIR)/webcrypto/%.o: src/bun.js/bindings/webcrypto/%.cpp +.PHONY: src/bun.js/bindings/webcrypto/%.cpp +$(DEBUG_OBJ_DIR)/%.o: src/bun.js/bindings/webcrypto/%.cpp $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ $(MACOS_MIN_FLAG) \ $(DEBUG_OPTIMIZATION_LEVEL) \ + -MMD \ -fno-exceptions \ -I$(SRC_DIR) \ -fno-rtti \ @@ -1636,43 +1669,6 @@ $(DEBUG_OBJ_DIR)/webcrypto/%.o: src/bun.js/bindings/webcrypto/%.cpp -DBUN_DEBUG \ -g3 -c -o $@ $< - - - -.PHONY: webcrypto-debug-obj -# Make all the .cpp files in the webcrypto directory into .o files using Makefile substitutions -webcrypto-debug-obj: $(patsubst src/bun.js/bindings/webcrypto/%.cpp, $(DEBUG_OBJ_DIR)/webcrypto/%.o, $(wildcard src/bun.js/bindings/webcrypto/*.cpp)) - -.PHONY: webcrypto-debug -webcrypto-debug: - rm -rf $(DEBUG_OBJ_DIR)/webcrypto $(BUN_DEPS_OUT_DIR)/libwebcrypto-debug.a - mkdir -p $(DEBUG_OBJ_DIR)/webcrypto - make webcrypto-debug-obj -j$(CPUS) - $(AR) rcs $(BUN_DEPS_OUT_DIR)/libwebcrypto-debug.a $(DEBUG_OBJ_DIR)/webcrypto/*.o - - -$(OBJ_DIR)/webcrypto/%.o: src/bun.js/bindings/webcrypto/%.cpp - $(CXX_WITH_CCACHE) $(CLANG_FLAGS) \ - $(MACOS_MIN_FLAG) \ - $(OPTIMIZATION_LEVEL) \ - -fno-exceptions \ - -fno-rtti \ - -ferror-limit=1000 \ - $(EMIT_LLVM_FOR_RELEASE) \ - -g3 -c -o $@ $< - - -.PHONY: webcrypto-obj -# Make all the .cpp files in the webcrypto directory into .o files using Makefile substitutions -webcrypto-obj: $(patsubst src/bun.js/bindings/webcrypto/%.cpp, $(OBJ_DIR)/webcrypto/%.o, $(wildcard src/bun.js/bindings/webcrypto/*.cpp)) - -.PHONY: webcrypto -webcrypto: - rm -rf $(OBJ_DIR)/webcrypto $(BUN_DEPS_OUT_DIR)/libwebcrypto.a - mkdir -p $(OBJ_DIR)/webcrypto - make webcrypto-obj -j$(CPUS) - $(AR) rcs $(BUN_DEPS_OUT_DIR)/libwebcrypto.a $(OBJ_DIR)/webcrypto/*.o - sizegen: mkdir -p $(BUN_TMP_DIR) $(CXX) src/bun.js/headergen/sizegen.cpp -Wl,-dead_strip -Wl,-dead_strip_dylibs -fuse-ld=lld -o $(BUN_TMP_DIR)/sizegen $(CLANG_FLAGS) -O1 diff --git a/docs/project/developing.md b/docs/project/developing.md index 50da312a4..be92adccb 100644 --- a/docs/project/developing.md +++ b/docs/project/developing.md @@ -117,7 +117,7 @@ To install and build dependencies: # mostly due to WebKit $ git submodule update --init --recursive --progress --depth=1 --checkout $ bun install -$ make vendor identifier-cache webcrypto-debug +$ make vendor identifier-cache ``` To compile the C++ bindings: |