Cabal-1.20.0.4: A framework for packaging Haskell software

Portabilityportable
Maintainercabal-devel@haskell.org
Safe HaskellSafe-Inferred

Distribution.System

Contents

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

Operating System

data OS

Instances

Eq OS 
Data OS 
Ord OS 
Read OS 
Show OS 
Typeable OS 
Text OS 

Machine Architecture

data Arch

Constructors

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

Instances

Eq Arch 
Data Arch 
Ord Arch 
Read Arch 
Show Arch 
Typeable Arch 
Text Arch 

Platform is a pair of arch and OS

data Platform

Constructors

Platform Arch OS 

Instances

Eq Platform 
Data Platform 
Ord Platform 
Read Platform 
Show Platform 
Typeable Platform 
Text Platform 

buildPlatform :: Platform

The platform Cabal was compiled on. In most cases, LocalBuildInfo.hostPlatform should be used instead (the platform we're targeting).

platformFromTriple :: String -> Maybe Platform