Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kassane/ffi-flang-zig
FFI flang-new runtime with Zig
https://github.com/kassane/ffi-flang-zig
cross-compile ffi ffi-bindings flang fortran llvm zig zig-package
Last synced: about 2 months ago
JSON representation
FFI flang-new runtime with Zig
- Host: GitHub
- URL: https://github.com/kassane/ffi-flang-zig
- Owner: kassane
- License: apache-2.0
- Created: 2024-06-18T15:16:52.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-22T19:02:13.000Z (7 months ago)
- Last Synced: 2024-11-26T23:53:35.955Z (about 2 months ago)
- Topics: cross-compile, ffi, ffi-bindings, flang, fortran, llvm, zig, zig-package
- Language: C++
- Homepage:
- Size: 2.25 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ffi-flang-zig
FFI between Fortran runtime and Zig
[LLVM/flang v18.1.7](https://github.com/llvm/llvm-project/tree/llvmorg-18.1.7/flang) files are included in this repository.
Inspired by [sourceryinstitute/ISO_Fortran_binding](https://github.com/sourceryinstitute/ISO_Fortran_binding). However, for LLVM-based only!
## Requires
- [Zig](https://ziglang.org/download) v0.13.0 or master
- [Flang-new](https://github.com/llvm/llvm-project/tree/llvmorg-18.1.7/flang)## How to use
Build docker and run image:
```bash
$ docker build -t flang-zig -f .devcontainer/Dockerfile
$ docker run -it --rm -v $(pwd):/app -w /app flang-zig bash
```### Build help
```bash
Project-Specific Options:
-Doptimize=[enum] Prioritize performance, safety, or binary size
Supported Values:
Debug
ReleaseSafe
ReleaseFast
ReleaseSmall
-Dtarget=[string] The CPU architecture, OS, and ABI to build for
-Dcpu=[string] Target CPU features to add or subtract
-Ddynamic-linker=[string] Path to interpreter on the target system
-Dshared=[bool] Build as shared library [default: false]
-Damalgamation=[bool] Build as amalgamation [default: false]
-Denable-tests=[bool] Build tests [default: false]
```