Mac (Intel and Silicon)
Overview
This guide outlines the steps to install the L1X Cargo plugin for Mac within the L1X SDK environment. The process includes setting up your environment, installing necessary tools, and configuring Cargo for L1X.
Pre-requisites
Install Homebrew
First, install Homebrew, which is necessary for managing packages on macOS.
/bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)"
Install LLVM 15 (WASM to LLVM-IR Dependency by Inkwell)
LLVM version 15 is required, and it can be installed via Homebrew. Note that this is a keg-only version.
brew install llvm@15
Configure Environment Variables for LLVM 17
Since LLVM 15 is keg-only and not symlinked into /opt/homebrew
, you'll need to adjust your environment variables to use LLVM 15 explicitly.
Set PATH for LLVM
This ensures that the system uses LLVM 17's binaries.
echo 'export PATH="/opt/homebrew/opt/llvm@15/bin:$PATH"' >> ~/.zshrc
Configure Compiler and Linker Flags
To use the bundled libc++, set the following LDFLAGS and include directory settings:
export LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@15/lib/c++"
export LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib"
export CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"
Install LLVM 17 (To Build Object File)
LLVM version 17 is required, and it can be installed via Homebrew. Note that this is a keg-only version.
brew install llvm@17
Configure Environment Variables for LLVM 17
Since LLVM 17 is keg-only and not symlinked into /opt/homebrew
, you'll need to adjust your environment variables to use LLVM 17 explicitly.
Set PATH for LLVM
This ensures that the system uses LLVM 17's binaries.
echo 'export PATH="/opt/homebrew/opt/llvm@17/bin:$PATH"' >> ~/.zshrc
Configure Compiler and Linker Flags
To use the bundled libc++, set the following LDFLAGS and include directory settings:
export LDFLAGS="-L/opt/homebrew/opt/llvm@17/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@17/lib/c++"
export LDFLAGS="-L/opt/homebrew/opt/llvm@17/lib"
export CPPFLAGS="-I/opt/homebrew/opt/llvm@17/include"
Make LLVM17 as Default
brew link --overwrite llvm@17 # Makes LLVM 17 the default
Install Cargo L1X Plugin
The L1X plugin for Cargo is essential for managing L1X-specific tasks in your Rust projects.
cargo install cargo-l1x --force
Create Project from a Template
Use a template to quickly start a new project with pre-configured settings.
cargo l1x create some_project --template ft
Build Project
Navigate to your project directory and build the project to ensure everything is set up correctly.
cd some_project
cargo l1x build
In case you have any issues with the above pre-requisites, please install the below dependencies.
brew install pkg-config
brew install openssl
brew install zlib
Last updated