2.6 KiB
2.6 KiB
🚀 LLVM実装クイックスタートガイド
📋 今すぐ始める手順
1. 環境準備(5分)
# LLVM 17インストール確認
llvm-config --version # 17.x.x が表示されること
# Nyashプロジェクトで作業
cd /path/to/nyash
git checkout -b feature/llvm-poc
2. 最初のコミット(10分)
# Cargo.tomlを編集
echo '[dependencies]
inkwell = { version = "0.5", features = ["llvm17-0"] }
[features]
llvm = ["inkwell"]' >> Cargo.toml
# ディレクトリ作成
mkdir -p src/backend/llvm
# 最初のファイル作成
touch src/backend/llvm/mod.rs
touch src/backend/llvm/context.rs
touch src/backend/llvm/compiler.rs
# コミット
git add .
git commit -m "feat(llvm): Add inkwell dependency and basic structure"
3. 最小実装のコピペ(20分)
src/backend/llvm/mod.rs:
pub mod context;
pub mod compiler;
pub use compiler::compile_to_object;
動作確認:
cargo build --features llvm
4. テストプログラム作成(5分)
# テスト用Nyashファイル
cat > test_return_42.hako << 'EOF'
static box Main {
main() {
return 42
}
}
EOF
🔍 詰まったときの確認ポイント
ビルドエラーの場合
# LLVM関連の環境変数確認
echo $LLVM_SYS_170_PREFIX
# 設定されていない場合
export LLVM_SYS_170_PREFIX=$(llvm-config --prefix)
inkwellのバージョン問題
# 代替バージョン
inkwell = { git = "https://github.com/TheDan64/inkwell", branch = "master", features = ["llvm17-0"] }
リンクエラーの場合
# pkg-configの確認
pkg-config --libs --cflags llvm
📞 ヘルプが必要な場合
- GitHub Issueにコメント
- 具体的なエラーメッセージを貼る
- 実行したコマンドを記載
例:
inkwellのビルドでエラーが発生しました。
エラー:
error: failed to run custom build command for llvm-sys v170.0.1
実行コマンド:
cargo build --features llvm
環境:
- OS: Ubuntu 22.04
- LLVM: 17.0.6
- Rust: 1.75.0
✅ 最初の成功確認
以下が動けば第一歩成功!
# ビルドが通る
cargo build --features llvm
# テストが実行できる(まだ失敗してOK)
cargo test --features llvm test_llvm
🎯 次のステップ
- context.rsの実装
- compiler.rsの実装
- return 42の動作確認
詳細は001-setup-inkwell-hello-world.mdを参照!
Remember: 完璧より進捗!最初は動くことが最優先です。🚀