module Package.C.Build.OS ( dhallOS
                          , dhallArch
                          ) where

import           Package.C.Triple.Type hiding (arch, os)
import           System.Info           (arch, os)

dhallArch :: Arch
dhallArch :: Arch
dhallArch = case String
arch of
    String
"x86_64"  -> Arch
X64
    String
"x86"     -> Arch
X86
    String
"arm"     -> Arch
Arm
    String
"aarch64" -> Arch
AArch
    String
_         -> String -> Arch
forall a. HasCallStack => String -> a
error String
"unrecognized architecture"

dhallOS :: OS
dhallOS :: OS
dhallOS = case String
os of
    String
"freebsd"   -> OS
FreeBSD
    String
"openbsd"   -> OS
OpenBSD
    String
"netbsd"    -> OS
NetBSD
    String
"solaris"   -> OS
Solaris
    String
"dragonfly" -> OS
Dragonfly
    String
"linux"     -> OS
Linux
    String
"darwin"    -> OS
Darwin
    String
"mingw32"   -> OS
Windows
    String
_           -> String -> OS
forall a. HasCallStack => String -> a
error String
"unrecognized OS"