| Cabal-1.6.0.3: A framework for packaging Haskell software | Source code | Contents | Index

Distribution.System

Portability | portable
Maintainer | cabal-devel@haskell.org

Contents

Operating System
Machine Architecture
Platform is a pair of arch and OS

Description

Cabal often needs to do slightly different things on specific platforms. You probably know about the `os` however using that is very inconvenient because it is a string and different Haskell implementations do not agree on using the same strings for the same platforms! (In particular see the controversy over windows vs ming32). So to make it more consistent and easy to use we have an `OS` enumeration.

Synopsis

data OS

= Linux
| Windows
| OSX
| FreeBSD
| OpenBSD
| NetBSD
| Solaris
| AIX
| HPUX
| IRIX
| OtherOS String

buildOS :: OS

data Arch

= I386
| X86_64
| PPC
| PPC64
| Sparc
| Arm
| Mips
| SH
| IA64
| S390
| Alpha
| Hppa
| Rs6000
| M68k
| Vax
| OtherArch String

buildArch :: Arch
data Platform = Platform Arch OS
buildPlatform :: Platform

Operating System

data OS | Source

Constructors

Linux |
Windows |
OSX |
FreeBSD |
OpenBSD |
NetBSD |
Solaris |
AIX |
HPUX |
IRIX |
OtherOS String |

Instances

Eq OS
Ord OS
Read OS
Show OS
Text OS

buildOS :: OS | Source

Machine Architecture

data Arch | Source

Constructors

I386 |
X86_64 |
PPC |
PPC64 |
Sparc |
Arm |
Mips |
SH |
IA64 |
S390 |
Alpha |
Hppa |
Rs6000 |
M68k |
Vax |
OtherArch String |

Instances

Eq Arch
Ord Arch
Read Arch
Show Arch
Text Arch

buildArch :: Arch | Source

Platform is a pair of arch and OS

data Platform | Source

Constructors

Platform Arch OS |

Instances

Eq Platform
Ord Platform
Read Platform
Show Platform
Text Platform

buildPlatform :: Platform | Source

Produced by Haddock version 2.4.2