From 1554ccb4bb9859413fcf9c833ec1e112611962e1 Mon Sep 17 00:00:00 2001 From: Branimir Karadzic Date: Mon, 9 Mar 2026 19:46:43 -0700 Subject: [PATCH 1/4] Updated Linux building instructions. --- BUILDING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index c79ce5efe..7b518ca17 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -279,7 +279,7 @@ The minimal requirement target is an OpenGL 3.3 compatible GPU. Clang 9+ or GCC First step is to install packages mandatory for building. For example, with Clang-9 toolchain: ``` -sudo apt-get install libgl1-mesa-dev libcurl4-openssl-dev clang-9 libc++-9-dev libc++abi-9-dev lld-9 ninja-build +sudo apt install libgl1-mesa-dev x11proto-core-dev libx11-dev libcurl4-openssl-dev libjavascriptcoregtk-4.1-dev g++ cmake ninja-build npm ``` Depending on the JavaScript engine you want to use, you will have to install the package accordingly: @@ -295,7 +295,7 @@ sudo apt-get install libjavascriptcoregtk-4.1-dev Then, run cmake targetting a Ninja make file: ``` -cmake -G Ninja -D JAVASCRIPTCORE_LIBRARY=/usr/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.1.so -D NAPI_JAVASCRIPT_ENGINE=JavaScriptCore +cmake -G Ninja -D -D NAPI_JAVASCRIPT_ENGINE=JavaScriptCore ``` ### V8 From c1e323792b6127720f3c004bef09e0fb846ebbdb Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Mar 2026 07:05:49 -0700 Subject: [PATCH 2/4] Fix misleading "Clang-9 toolchain" label in Linux build instructions (#1626) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Linux build instructions referenced a "Clang-9 toolchain" for a package install command that actually installs `g++` (GCC), not Clang. ## Change - Updated the description label from "Clang-9 toolchain" → "GCC toolchain" to accurately reflect the `apt install` command that follows it. --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: bkaradzic-microsoft <260535795+bkaradzic-microsoft@users.noreply.github.com> --- BUILDING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILDING.md b/BUILDING.md index 7b518ca17..0fcb241c1 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -276,7 +276,7 @@ _Follow the steps from [All Development Platforms](#all-development-platforms) b The minimal requirement target is an OpenGL 3.3 compatible GPU. Clang 9+ or GCC 9+ are required for building. -First step is to install packages mandatory for building. For example, with Clang-9 toolchain: +First step is to install packages mandatory for building. For example, with a GCC toolchain: ``` sudo apt install libgl1-mesa-dev x11proto-core-dev libx11-dev libcurl4-openssl-dev libjavascriptcoregtk-4.1-dev g++ cmake ninja-build npm From 0b71f3ba5fefcab93dfd11373bb15248205d7a21 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Mar 2026 07:05:59 -0700 Subject: [PATCH 3/4] Fix inconsistent apt usage and duplicate JSC package in Linux build instructions (#1627) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Linux build instructions listed `libjavascriptcoregtk-4.1-dev` in the base mandatory packages, causing it to be installed for all engine targets (including V8) and duplicating the engine-specific install step. The base command also used `apt` while engine-specific steps used `apt-get`. ## Changes - **Remove `libjavascriptcoregtk-4.1-dev` from base install** — engine-specific packages now live only in their respective engine sections - **Standardize on `apt-get`** throughout the Linux section for consistency Before: ``` sudo apt install libgl1-mesa-dev x11proto-core-dev libx11-dev libcurl4-openssl-dev libjavascriptcoregtk-4.1-dev g++ cmake ninja-build npm ``` After: ``` sudo apt-get install libgl1-mesa-dev x11proto-core-dev libx11-dev libcurl4-openssl-dev g++ cmake ninja-build npm ``` --- 🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. [Learn more about Advanced Security.](https://gh.io/cca-advanced-security) --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: bkaradzic-microsoft <260535795+bkaradzic-microsoft@users.noreply.github.com> --- BUILDING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILDING.md b/BUILDING.md index 0fcb241c1..6d3a34fb8 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -279,7 +279,7 @@ The minimal requirement target is an OpenGL 3.3 compatible GPU. Clang 9+ or GCC First step is to install packages mandatory for building. For example, with a GCC toolchain: ``` -sudo apt install libgl1-mesa-dev x11proto-core-dev libx11-dev libcurl4-openssl-dev libjavascriptcoregtk-4.1-dev g++ cmake ninja-build npm +sudo apt-get install libgl1-mesa-dev x11proto-core-dev libx11-dev libcurl4-openssl-dev g++ cmake ninja-build npm ``` Depending on the JavaScript engine you want to use, you will have to install the package accordingly: From 07ad0fa748470b567255ffdae94af95a32572510 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 10 Mar 2026 07:06:54 -0700 Subject: [PATCH 4/4] Fix invalid CMake command in Linux building instructions (#1625) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The JavaScriptCore cmake invocation in `BUILDING.md` contained a stray `-D` flag (`-D -D NAPI_JAVASCRIPT_ENGINE=...`), making it an invalid command that would fail immediately. ## Changes - **Remove stray `-D`** from the JavaScriptCore cmake command - **Add `-B build/linux`** to both JavaScriptCore and V8 cmake commands — consistent with every other platform section in the docs - **Replace bare `ninja`** with `cmake --build build/linux` to match the out-of-source build pattern used elsewhere Before/after for the broken command: ```sh # Before (invalid) cmake -G Ninja -D -D NAPI_JAVASCRIPT_ENGINE=JavaScriptCore # After cmake -B build/linux -G Ninja -D NAPI_JAVASCRIPT_ENGINE=JavaScriptCore ``` --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: bkaradzic-microsoft <260535795+bkaradzic-microsoft@users.noreply.github.com> --- BUILDING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 6d3a34fb8..42f36bf3a 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -295,7 +295,7 @@ sudo apt-get install libjavascriptcoregtk-4.1-dev Then, run cmake targetting a Ninja make file: ``` -cmake -G Ninja -D -D NAPI_JAVASCRIPT_ENGINE=JavaScriptCore +cmake -B build/linux -G Ninja -D NAPI_JAVASCRIPT_ENGINE=JavaScriptCore ``` ### V8 @@ -309,13 +309,13 @@ sudo apt-get install libv8-dev Then, run cmake targetting a Ninja make file: ``` -cmake -G Ninja -D NAPI_JAVASCRIPT_ENGINE=V8 +cmake -B build/linux -G Ninja -D NAPI_JAVASCRIPT_ENGINE=V8 ``` And finally, for any JavaScript engine, run a build: ``` -ninja +cmake --build build/linux ``` You can switch compiler between GCC and Clang by defining shell variables.