<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Distribution.System</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ window.onload = function () {pageLoad();setSynopsis("mini_Distribution-System.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-1.14.0: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>portable</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Safe Haskell</th><td>Safe-Infered</td></tr></table><p class="caption">Distribution.System</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Operating System </a></li><li><a href="#g:2">Machine Architecture </a></li><li><a href="#g:3">Platform is a pair of arch and OS </a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Cabal often needs to do slightly different things on specific platforms. You probably know about the <code><a href="../base-4.5.1.0/System-Info.html#v:os">os</a></code> 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 <code><a href="Distribution-System.html#t:OS">OS</a></code> enumeration. </p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:OS">OS</a> <ul class="subs"><li>= <a href="#v:Linux">Linux</a> </li><li>| <a href="#v:Windows">Windows</a> </li><li>| <a href="#v:OSX">OSX</a> </li><li>| <a href="#v:FreeBSD">FreeBSD</a> </li><li>| <a href="#v:OpenBSD">OpenBSD</a> </li><li>| <a href="#v:NetBSD">NetBSD</a> </li><li>| <a href="#v:Solaris">Solaris</a> </li><li>| <a href="#v:AIX">AIX</a> </li><li>| <a href="#v:HPUX">HPUX</a> </li><li>| <a href="#v:IRIX">IRIX</a> </li><li>| <a href="#v:HaLVM">HaLVM</a> </li><li>| <a href="#v:OtherOS">OtherOS</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> </li></ul></li><li class="src short"><a href="#v:buildOS">buildOS</a> :: <a href="Distribution-System.html#t:OS">OS</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Arch">Arch</a> <ul class="subs"><li>= <a href="#v:I386">I386</a> </li><li>| <a href="#v:X86_64">X86_64</a> </li><li>| <a href="#v:PPC">PPC</a> </li><li>| <a href="#v:PPC64">PPC64</a> </li><li>| <a href="#v:Sparc">Sparc</a> </li><li>| <a href="#v:Arm">Arm</a> </li><li>| <a href="#v:Mips">Mips</a> </li><li>| <a href="#v:SH">SH</a> </li><li>| <a href="#v:IA64">IA64</a> </li><li>| <a href="#v:S390">S390</a> </li><li>| <a href="#v:Alpha">Alpha</a> </li><li>| <a href="#v:Hppa">Hppa</a> </li><li>| <a href="#v:Rs6000">Rs6000</a> </li><li>| <a href="#v:M68k">M68k</a> </li><li>| <a href="#v:Vax">Vax</a> </li><li>| <a href="#v:OtherArch">OtherArch</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> </li></ul></li><li class="src short"><a href="#v:buildArch">buildArch</a> :: <a href="Distribution-System.html#t:Arch">Arch</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Platform">Platform</a> = <a href="#v:Platform">Platform</a> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="Distribution-System.html#t:OS">OS</a></li><li class="src short"><a href="#v:buildPlatform">buildPlatform</a> :: <a href="Distribution-System.html#t:Platform">Platform</a></li></ul></div><div id="interface"><h1 id="g:1">Operating System </h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:OS" class="def">OS</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Linux" class="def">Linux</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Windows" class="def">Windows</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:OSX" class="def">OSX</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:FreeBSD" class="def">FreeBSD</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:OpenBSD" class="def">OpenBSD</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:NetBSD" class="def">NetBSD</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Solaris" class="def">Solaris</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:AIX" class="def">AIX</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:HPUX" class="def">HPUX</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:IRIX" class="def">IRIX</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:HaLVM" class="def">HaLVM</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:OtherOS" class="def">OtherOS</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:OS" class="caption collapser" onclick="toggleSection('i:OS')">Instances</p><div id="section.i:OS" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-System.html#t:OS">OS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-System.html#t:OS">OS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-System.html#t:OS">OS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-System.html#t:OS">OS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-System.html#t:OS">OS</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:buildOS" class="def">buildOS</a> :: <a href="Distribution-System.html#t:OS">OS</a></p></div><h1 id="g:2">Machine Architecture </h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Arch" class="def">Arch</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:I386" class="def">I386</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:X86_64" class="def">X86_64</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:PPC" class="def">PPC</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:PPC64" class="def">PPC64</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Sparc" class="def">Sparc</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Arm" class="def">Arm</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Mips" class="def">Mips</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:SH" class="def">SH</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:IA64" class="def">IA64</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:S390" class="def">S390</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Alpha" class="def">Alpha</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Hppa" class="def">Hppa</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Rs6000" class="def">Rs6000</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:M68k" class="def">M68k</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Vax" class="def">Vax</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:OtherArch" class="def">OtherArch</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Arch" class="caption collapser" onclick="toggleSection('i:Arch')">Instances</p><div id="section.i:Arch" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-System.html#t:Arch">Arch</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-System.html#t:Arch">Arch</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-System.html#t:Arch">Arch</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-System.html#t:Arch">Arch</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-System.html#t:Arch">Arch</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:buildArch" class="def">buildArch</a> :: <a href="Distribution-System.html#t:Arch">Arch</a></p></div><h1 id="g:3">Platform is a pair of arch and OS </h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Platform" class="def">Platform</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Platform" class="def">Platform</a> <a href="Distribution-System.html#t:Arch">Arch</a> <a href="Distribution-System.html#t:OS">OS</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Platform" class="caption collapser" onclick="toggleSection('i:Platform')">Instances</p><div id="section.i:Platform" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-System.html#t:Platform">Platform</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-System.html#t:Platform">Platform</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-System.html#t:Platform">Platform</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-System.html#t:Platform">Platform</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-System.html#t:Platform">Platform</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:buildPlatform" class="def">buildPlatform</a> :: <a href="Distribution-System.html#t:Platform">Platform</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>