Diary/2024-5-29
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.