rules_fortran
개요
rules_fortran은 Fortran 프로젝트를 위한 오픈소스 Bazel ruleset입니다. 설정을 단순하게 하고, 재현 가능한 빌드와 실용적인 워크플로우를 목표로 합니다.
목표
- Bazel 워크플로우에서 Fortran 타깃을 자연스럽게 사용.
- 과학/공학 코드베이스의 초기 설정 부담을 줄이기.
- 빌드 로직을 읽기 쉽고 재사용 가능하게 유지.
WASM 지원
rules_fortran은 @miinso/flang (flang-releases)와 함께 쓰는 흐름을 염두에 두고 있습니다. 해당 릴리즈는 wasm32 크로스 컴파일을 지원하는 Flang 바이너리를 제공하고, libflang_rt.runtime.wasm32.a를 포함합니다.
이 조합을 사용하면 Fortran 소스를 wasm32-unknown-emscripten 대상으로 컴파일한 뒤 Emscripten으로 링크하는 과정을 Bazel 빌드 그래프 안에서 유지할 수 있습니다.
rules_fortran에서는 아래처럼 툴체인 등록으로 연결할 수 있습니다:
python
load("@rules_fortran//fortran:repositories.bzl", "flang_register_toolchains")
flang_register_toolchains()