lh-l4v/spec/haskell/SEL4.cabal

227 lines
9.3 KiB
Plaintext
Raw Normal View History

2014-07-17 19:03:59 +00:00
--
-- Copyright 2014, General Dynamics C4 Systems
--
2020-03-09 06:18:30 +00:00
-- SPDX-License-Identifier: GPL-2.0-only
2014-07-17 19:03:59 +00:00
--
name: SEL4
version: 1.5
cabal-version: 1.18
build-type: Custom
license: GPL
author: Philip Derrin et. al., NICTA
2014-07-17 19:03:59 +00:00
synopsis: Executable specification for the seL4 Kernel
tested-with: GHC == 7.8.3
2014-07-17 19:03:59 +00:00
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
Flag ArchAArch64
description: Include AArch 64-bit modules and platforms
default: False
2014-07-17 19:03:59 +00:00
Library
exposed-modules: SEL4
SEL4.Machine.Target
build-depends: mtl==2.2.*, base==4.12.*, array, containers, transformers
2014-07-17 19:03:59 +00:00
if flag(FFI)
-- FFIBindings currently relies on POSIX signal handlers. This could
2014-07-17 19:03:59 +00:00
-- be fixed.
build-depends: unix
exposed-modules: Simulation.FFIBindings
include-dirs: include
2015-11-19 08:20:30 +00:00
install-includes: sel4model.h gic.h
2014-07-17 19:03:59 +00:00
dist/build/Simulation/FFIBindings_stub.h
else
build-depends: unix
include-dirs: include
2014-07-17 19:03:59 +00:00
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
2014-07-17 19:03:59 +00:00
SEL4.Kernel
2014-12-23 03:27:04 +00:00
SEL4.Kernel.BootInfo
2014-07-17 19:03:59 +00:00
SEL4.Kernel.VSpace
SEL4.Kernel.CSpace
SEL4.Kernel.Init
SEL4.Kernel.Thread
SEL4.Kernel.FaultHandler
SEL4.Kernel.Hypervisor
2014-07-17 19:03:59 +00:00
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
2014-07-17 19:03:59 +00:00
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
2014-07-17 19:03:59 +00:00
if flag(ArchArm)
other-modules:
SEL4.Machine.Hardware.ARM.KZM
SEL4.Machine.Hardware.ARM.Exynos4210
SEL4.Machine.Hardware.ARM.Sabre
2015-11-19 08:20:30 +00:00
SEL4.Machine.Hardware.ARM.Callbacks
SEL4.Machine.Hardware.GICInterface
SEL4.Machine.Hardware.MCTInterface
SEL4.Machine.Hardware.MPTimerInterface
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
2014-07-17 19:03:59 +00:00
if flag(ArchX64)
other-modules:
SEL4.API.Types.X64
SEL4.API.InvocationLabels.X64
SEL4.API.Invocation.X64
SEL4.API.Failures.X64
SEL4.API.Faults.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
2014-07-17 19:03:59 +00:00
if flag(ArchRiscV)
other-modules:
SEL4.API.Types.RISCV64
SEL4.API.InvocationLabels.RISCV64
SEL4.API.Invocation.RISCV64
SEL4.API.Failures.RISCV64
SEL4.API.Faults.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.HiFive
if flag(ArchAArch64)
other-modules:
SEL4.API.Types.AARCH64
SEL4.API.InvocationLabels.AARCH64
SEL4.API.Invocation.AARCH64
SEL4.API.Failures.AARCH64
SEL4.API.Faults.AARCH64
SEL4.Kernel.VSpace.AARCH64
SEL4.Kernel.Thread.AARCH64
SEL4.Kernel.Hypervisor.AARCH64
SEL4.Object.ObjectType.AARCH64
SEL4.Object.Structures.AARCH64
SEL4.Object.Interrupt.AARCH64
SEL4.Object.Instances.AARCH64
SEL4.Object.VCPU.AARCH64
SEL4.Object.TCB.AARCH64
SEL4.Model.StateData.AARCH64
SEL4.Machine.RegisterSet.AARCH64
SEL4.Machine.Hardware.AARCH64
SEL4.Machine.Hardware.AARCH64.TX2
2014-07-17 19:03:59 +00:00
hs-source-dirs: src
ghc-prof-options: -auto-all -fprof-auto
2014-07-17 19:03:59 +00:00
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
2014-07-17 19:03:59 +00:00