-- -- Copyright 2014, General Dynamics C4 Systems -- -- This software may be distributed and modified according to the terms of -- the GNU General Public License version 2. Note that NO WARRANTY is provided. -- See "LICENSE_GPLv2.txt" for details. -- -- @TAG(GD_GPL) -- name: SEL4 version: 1.4-pre cabal-version: == 1.18 build-type: Custom license: GPL author: Philip Derrin et. al., NICTA synopsis: Executable specification for the seL4 Kernel tested-with: GHC == 7.8.3 Flag FFI description: Include the C language bindings default: True Flag ArchArm description: Include ARM modules and platforms default: False Flag ArchArmHyp description: Include ARM (with Hypervisor Extensions) modules and platforms default: False Flag ArchX64 description: Include x86 64-bit modules and platforms default: False Flag ArchRiscV description: Include RISC-V 64-bit modules and platforms default: False Library exposed-modules: SEL4 SEL4.Machine.Target build-depends: mtl==2.2.*, base==4.11.*, array, containers, transformers if flag(FFI) -- FFIBindings currently relies on POSIX signal handlers. This could -- be fixed. build-depends: unix exposed-modules: Simulation.FFIBindings include-dirs: include install-includes: sel4model.h gic.h dist/build/Simulation/FFIBindings_stub.h else build-depends: unix include-dirs: include other-modules: SEL4.API SEL4.API.Syscall SEL4.API.Faults SEL4.API.Failures SEL4.API.Types SEL4.API.Types.Universal SEL4.API.Invocation SEL4.API.InvocationLabels SEL4.Kernel SEL4.Kernel.BootInfo SEL4.Kernel.VSpace SEL4.Kernel.CSpace SEL4.Kernel.Init SEL4.Kernel.Thread SEL4.Kernel.FaultHandler SEL4.Kernel.Hypervisor SEL4.Object SEL4.Object.ObjectType SEL4.Object.CNode SEL4.Object.Endpoint SEL4.Object.TCB SEL4.Object.Instances SEL4.Object.Structures SEL4.Object.Interrupt SEL4.Object.Notification SEL4.Object.Untyped SEL4.Model SEL4.Model.StateData SEL4.Model.PSpace SEL4.Model.Failures SEL4.Model.Preemption SEL4.Model.Syscall SEL4.Machine SEL4.Machine.RegisterSet SEL4.Machine.Hardware SEL4.Config Data.BinaryTree Data.Helpers Data.WordLib SEL4.Machine.Hardware.GICInterface SEL4.Machine.Hardware.MCTInterface SEL4.Machine.Hardware.MPTimerInterface if flag(ArchArm) other-modules: SEL4.Machine.Hardware.ARM.KZM SEL4.Machine.Hardware.ARM.Exynos4210 SEL4.Machine.Hardware.ARM.Sabre SEL4.Machine.Hardware.ARM.Callbacks SEL4.API.Types.ARM SEL4.API.InvocationLabels.ARM SEL4.API.Invocation.ARM SEL4.API.Faults.ARM SEL4.API.Failures.ARM SEL4.Kernel.VSpace.ARM SEL4.Kernel.Thread.ARM SEL4.Kernel.Hypervisor.ARM SEL4.Object.ObjectType.ARM SEL4.Object.Structures.ARM SEL4.Object.Interrupt.ARM SEL4.Object.Instances.ARM SEL4.Object.TCB.ARM SEL4.Model.StateData.ARM SEL4.Machine.RegisterSet.ARM SEL4.Machine.Hardware.ARM if flag(ArchArmHyp) other-modules: SEL4.Machine.Hardware.ARM.TK1 SEL4.Machine.Hardware.ARM.Callbacks SEL4.API.Types.ARM SEL4.API.InvocationLabels.ARM SEL4.API.Invocation.ARM SEL4.API.Faults.ARM SEL4.API.Failures.ARM SEL4.Kernel.VSpace.ARM SEL4.Kernel.Thread.ARM SEL4.Kernel.Hypervisor.ARM SEL4.Object.ObjectType.ARM SEL4.Object.Structures.ARM SEL4.Object.Interrupt.ARM SEL4.Object.Instances.ARM SEL4.Object.VCPU.ARM SEL4.Object.TCB.ARM SEL4.Model.StateData.ARM SEL4.Machine.RegisterSet.ARM SEL4.Machine.Hardware.ARM if flag(ArchX64) other-modules: SEL4.API.Types.X64 SEL4.API.InvocationLabels.X64 SEL4.API.Invocation.X64 SEL4.Kernel.VSpace.X64 SEL4.Kernel.Thread.X64 SEL4.Kernel.Hypervisor.X64 SEL4.Object.ObjectType.X64 SEL4.Object.Structures.X64 SEL4.Object.Interrupt.X64 SEL4.Object.Instances.X64 SEL4.Object.IOPort.X64 SEL4.Object.TCB.X64 SEL4.Model.StateData.X64 SEL4.Machine.RegisterSet.X64 SEL4.Machine.Hardware.X64 SEL4.Machine.Hardware.X64.PC99 if flag(ArchRiscV) other-modules: SEL4.API.Types.RISCV64 SEL4.API.InvocationLabels.RISCV64 SEL4.API.Invocation.RISCV64 SEL4.Kernel.VSpace.RISCV64 SEL4.Kernel.Thread.RISCV64 SEL4.Kernel.Hypervisor.RISCV64 SEL4.Object.ObjectType.RISCV64 SEL4.Object.Structures.RISCV64 SEL4.Object.Interrupt.RISCV64 SEL4.Object.Instances.RISCV64 SEL4.Object.TCB.RISCV64 SEL4.Model.StateData.RISCV64 SEL4.Machine.RegisterSet.RISCV64 SEL4.Machine.Hardware.RISCV64 SEL4.Machine.Hardware.RISCV64.Spike hs-source-dirs: src ghc-prof-options: -auto-all -prof -fprof-auto ghc-options: -Wall -Werror -O2 -fno-warn-unused-do-bind -fno-warn-missing-signatures -fno-warn-orphans -fno-spec-constr -fno-warn-name-shadowing -fno-warn-unrecognised-pragmas -fno-warn-unused-binds -fno-warn-unused-imports -fno-warn-unused-matches cpp-options: -- set via Setup.hs hook Default-Language: Haskell98