Platform.dhall
1 -- dhall/Platform.dhall 2 -- 3 -- Platform and toolchain configuration. 4 5 let Path = { _path : Text } 6 7 -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8 -- Platform 9 -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10 11 let Cpu = < X86_64 | Aarch64 > 12 let Os = < Linux | Darwin > 13 14 let Platform = { cpu : Cpu, os : Os } 15 16 -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17 -- Toolchain paths (all from Nix store) 18 -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19 20 let CxxToolchain = 21 { clang : Path 22 , clangxx : Path 23 , lld : Path 24 , ar : Path 25 , resourceDir : Path 26 , gccInclude : Path 27 , gccIncludeArch : Path 28 , glibcInclude : Path 29 , gccLib : Path 30 , gccLibBase : Path 31 , glibcLib : Path 32 } 33 34 let NvToolchain = 35 { cxx : CxxToolchain -- inherits C++ toolchain 36 , nvidiaSdkInclude : Path 37 , nvidiaSdkLib : Path 38 } 39 40 let HaskellToolchain = 41 { ghc : Path 42 , ghcPkg : Path 43 , haddock : Path 44 } 45 46 let RustToolchain = 47 { rustc : Path 48 , cargo : Path 49 , clippy : Path 50 } 51 52 let LeanToolchain = 53 { lean : Path 54 , lake : Path 55 } 56 57 let PythonToolchain = 58 { python : Path 59 } 60 61 let Toolchain = 62 { cxx : CxxToolchain 63 , nv : NvToolchain 64 , haskell : HaskellToolchain 65 , rust : RustToolchain 66 , lean : LeanToolchain 67 , python : PythonToolchain 68 } 69 70 in { Cpu, Os, Platform 71 , CxxToolchain, NvToolchain, HaskellToolchain, RustToolchain, LeanToolchain, PythonToolchain 72 , Toolchain 73 }