lh-l4v/spec/haskell/SEL4.cabal

184 lines
7.5 KiB
Plaintext
Raw Normal View History

2014-07-17 19:03:59 +00:00
--
-- 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
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
2014-07-17 19:03:59 +00:00
Library
exposed-modules: SEL4
SEL4.Machine.Target
-- Newer mtl's cause old APIs to be deprecated, which fails -Werror.
-- base-4.8 (ghc 7.10) exports conflicting name Prelude.Word.
build-depends: mtl==2.1.3.1, base==4.7.*, 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
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
2015-11-19 08:20:30 +00:00
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
-- FIXME ideally ARMHYP will share code with the main ARM development,
-- but when doing an architecture port we want to make sure we are doing a
-- full pass over the Haskell kernel, touching all files
-- TODO consolidate later
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.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
hs-source-dirs: src
ghc-prof-options: -auto-all -prof -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