Skip to content

Latest commit

 

History

History
128 lines (96 loc) · 3.1 KB

build.md

File metadata and controls

128 lines (96 loc) · 3.1 KB

Build

Update system and install dependencies.

Debian
# Update system.
sudo apt update
sudo apt upgrade -y
sudo apt autoremove --purge -y
sudo apt clean

# Install dependencies.
sudo apt install -y curl debootstrap git sudo
Gentoo
# Update system.
emaint sync -a
emerge -auUD @world
emerge -ac

# Install dependencies.
sudo emerge -avn app-admin/sudo dev-util/debootstrap dev-vcs/git net-misc/curl
Windows
  1. Install Git.
  2. Install CMake.
  3. Create a WSL configuration file: %UserProfile%\.wslconfig
[wsl2]
kernelCommandLine=vsyscall=emulate
memory=18GB
  1. Configure the system in PowerShell as administrator.
# Show known file extensions in Explorer.
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "HideFileExt" -Type DWord -Value 0

# Show hidden files in Explorer.
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "Hidden" -Type DWord -Value 1

# Enable NTFS paths with length over 260 characters.
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Type DWord -Value 1

# Enable WSL support.
dism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# Update WSL if it is already installed.
# wsl --shutdown
# wsl --update

# Install WSL distribution.
wsl --install --distribution Debian
  1. Reboot the system.
  2. Log in and finish the WSL installation if prompted.
  3. Execute wsl -d Debian in the Command Line if WSL was already installed.
  4. Execute wsl -s Debian in the Command Line if you want Debian to be the default WSL distribution.
  5. Update the WSL distribution and install dependencies.
# Update system.
sudo apt update
sudo apt upgrade -y
sudo apt autoremove --purge -y
sudo apt clean

# Install dependencies.
sudo apt install -y curl debootstrap git sudo

Download source code and build toolchain.

# Create toolchain directory.
sudo mkdir /opt/ace
sudo chown $(id -u):$(id -g) /opt/ace

# Clone toolchain repository.
git clone https://github.com/qis/ace /opt/ace

# Build toolchain.
sh /opt/ace/src/build.sh

This will create the archives:

  • /opt/ace/ace-<version>.tar.xz for Linux
  • /opt/ace/ace-<version>.7z for Windows

C++ Modules

Currently, the src/build.sh script downloads and builds LLVM from the main branch on GitHub for better C++ modules support.

# Download sources for the main branch.
download_git "llvm" "${LLVM_GIT}" "main" "build/src" "llvm/CMakeLists.txt"
LLVM_RES="lib/clang/20"

If this is not desired, replace the lines above with the following snippet.

# Download sources for the release version.
download_git "llvm" "${LLVM_GIT}" "${LLVM_TAG}" "build/src" "llvm/CMakeLists.txt"