Skip to content

Commit 279b370

Browse files
committed
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.
1 parent 805412f commit 279b370

4 files changed

Lines changed: 11 additions & 3 deletions

File tree

.devcontainer/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ limitations under the License.
3030

3131
<section class="intro">
3232

33-
This folder includes configuration for developing the project in a local container or using [GitHub Codespaces][github-codespaces].
33+
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.
3434

3535
</section>
3636

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ this_dir := $(patsubst %/,%,$(this_dir))
3030
# Define the root project directory:
3131
ROOT_DIR ?= $(this_dir)
3232

33+
# Check for spaces in the project path.
34+
# GNU make and the installation process fail when the path contains spaces.
35+
# See CONTRIBUTING.md and docs/contributing/development.md for details.
36+
_space := $() $()
37+
ifneq ($(findstring $(_space),$(ROOT_DIR)),)
38+
$(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.)
39+
endif
40+
3341
# Define the top-level directory containing source files:
3442
SRC_DIR ?= $(ROOT_DIR)/lib/node_modules
3543

docs/contributing/FAQ.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ There are primarily two options for setting up your development environment to c
6464
1. [Manually setting up the development environment][manual-setup]
6565
2. [Setting up the dev container][devcontainer-setup]
6666

67-
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].
67+
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].
6868

6969
<a name="install-cppcheck"></a>
7070

docs/contributing/setting_up_a_devcontainer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Dev containers are Docker containers that are specifically configured to provide
3030

3131
The stdlib repository includes a preconfigured dev container, making it the easiest way to set up your development environment. It ensures proper linting, EditorConfig, and tooling are configured right from the start.
3232

33-
**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].
33+
**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].
3434

3535
### Prerequisites
3636

0 commit comments

Comments
 (0)