From 92b30534e11e6fcffbe8c5735ab333cf6d370e94 Mon Sep 17 00:00:00 2001 From: shiavm006 Date: Mon, 2 Feb 2026 16:12:48 +0530 Subject: [PATCH] fix(build): add path-with-spaces check and document ARM64 dev container support Add early failure when project directory path contains spaces, as GNU make and shell scripts fail in such environments. Update documentation to state that the dev container now supports ARM64/Apple Silicon architectures. Add required usage/examples sections to FAQ and setting_up_a_devcontainer to satisfy markdown linter. Fix devcontainer-setup link in FAQ. --- .devcontainer/README.md | 10 +++++++++- Makefile | 9 +++++++++ docs/contributing/FAQ.md | 18 ++++++++++++++++-- docs/contributing/setting_up_a_devcontainer.md | 16 +++++++++++++++- 4 files changed, 49 insertions(+), 4 deletions(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index 1c329ea899c0..41e4df988200 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -30,7 +30,7 @@ limitations under the License.
-This folder includes configuration for developing the project in a local container or using [GitHub Codespaces][github-codespaces]. +This folder includes configuration for developing the project in a local container or using [GitHub Codespaces][github-codespaces]. The dev container supports both x86_64 and ARM64 (Apple Silicon) architectures.
@@ -44,6 +44,14 @@ This folder includes configuration for developing the project in a local contain + + +
+ +
+ + +
diff --git a/Makefile b/Makefile index 31a8a3a55cd7..29a92d744256 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,15 @@ this_dir := $(patsubst %/,%,$(this_dir)) # Define the root project directory: ROOT_DIR ?= $(this_dir) +# Check for spaces in the project path. +# GNU make and the installation process fail when the path contains spaces. +# See CONTRIBUTING.md and docs/contributing/development.md for details. +_empty := +_space := $(_empty) $(_empty) +ifneq ($(findstring $(_space),$(ROOT_DIR)),) +$(error The project directory path contains spaces. GNU make and the installation process will fail. Please clone the repository to a path without spaces (e.g., use stdlib_gsoc instead of stdlib gsoc). See CONTRIBUTING.md and docs/contributing/development.md for details.) +endif + # Define the top-level directory containing source files: SRC_DIR ?= $(ROOT_DIR)/lib/node_modules diff --git a/docs/contributing/FAQ.md b/docs/contributing/FAQ.md index 716ce79979fb..5545330a778e 100644 --- a/docs/contributing/FAQ.md +++ b/docs/contributing/FAQ.md @@ -64,7 +64,7 @@ There are primarily two options for setting up your development environment to c 1. [Manually setting up the development environment][manual-setup] 2. [Setting up the dev container][devcontainer-setup] -Note: The dev container does not yet support ARM64 architectures. For more information, or if you're interested in adding ARM64 support, you can visit this [issue][devcontainer-issue]. +Note: The dev container supports ARM64/Apple Silicon. The base Node.js development environment works on both x86_64 and ARM64 architectures. Some optional features (e.g., R, Julia) may have architecture-specific limitations. For issues or feedback, see this [issue][devcontainer-issue]. @@ -381,6 +381,20 @@ For more `make` commands, refer to the [documentation][benchmark] on running ben - [Git Cheatsheet][git-guide] - [Other make commands][make-commands] + + +
+ +
+ + + +
+ +
+ + +