- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!Zig
環境はUbuntu 22.04.cmakeはaptでインストール済み.
https://github.com/ziglang/zig/wiki/Building-Zig-From-Source を参考に.
ただし,0.12.0のビルドにはLLVM 17.xが必要な模様.
まずは,LLVMのビルド.https://clang.llvm.org/get_started.html を参考にする.
ソースコードのリンクは https://github.com/llvm/llvm-project/releases/ から探す.
mkdir -p $HOME/src/llvm-17
cd $HOME/src/llvm-17
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/llvm-project-17.0.6.src.tar.xz
tar xvf llvm-project-17.0.6.src.tar.xz
cd llvm-project-17.0.6.src
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$HOME/tools/llvm-17 -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;lld;lldb" ../llvm
make -j24
make install
export PATH=$HOME/tools/llvm-17/bin:$PATH
で,zigのビルド.
mkdir -p $HOME/src/zig
cd $HOME/src/zig
wget https://ziglang.org/download/0.12.0/zig-0.12.0.tar.xz
tar xvf zig-0.12.0.tar.xz
cd zig-0.12.0
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$HOME/tools/zig-0.12.0 -DCMAKE_BUILD_TYPE=Release ..
make
make install
早速試してみる.https://ziglang.org/documentation/0.12.0/ にサンプルがあるので,
cd /tmp
cat > hello.zig
const std = @import("std");
pub fn main() !void {
const stdout = std.io.getStdOut().writer();
try stdout.print("Hello, {s}!\n", .{"world"});
}
とかしてソースコードを用意して,
export PATH=$HOME/tools/zig-0.12.0/bin/:$PATH
zig build-exe hello.zig
./hello
Hello, world!が表示されたらOK.