name:           time
version:        1.8.0.2
stability:      stable
license:        BSD3
license-file:   LICENSE
author:         Ashley Yakeley
maintainer:     <ashley@semantic.org>
homepage:       https://github.com/haskell/time
bug-reports:    https://github.com/haskell/time/issues
synopsis:       A time library
description:    A time library
category:       Time
build-type:     Configure
cabal-version:  >=1.10
tested-with:    GHC == 8.0.1, GHC == 7.10.3, GHC == 7.8.4
x-follows-version-policy:

extra-source-files:
    changelog.md
    aclocal.m4
    configure.ac
    configure
    lib/include/HsConfigure.h
    lib/include/HsTime.h
    lib/include/HsTimeConfig.h.in
    test/unix/Test/Format/*.c
    test/unix/Test/Format/*.h
extra-tmp-files:
    config.log
    config.status
    autom4te.cache
    lib/include/HsTimeConfig.h

source-repository head
    type:     git
    location: https://github.com/haskell/time

library
    hs-source-dirs: lib
    default-language: Haskell2010
    if impl(ghc)
        default-extensions:
            Rank2Types
            DeriveDataTypeable
            StandaloneDeriving
        cpp-options: -DLANGUAGE_Rank2Types -DLANGUAGE_DeriveDataTypeable -DLANGUAGE_StandaloneDeriving
    else
        if impl(hugs)
            default-extensions: Rank2Types
            cpp-options: -DLANGUAGE_Rank2Types
    ghc-options: -Wall -fwarn-tabs
    build-depends:
        base >= 4.7 && < 5,
        deepseq >= 1.1
    if os(windows)
        build-depends: Win32
    exposed-modules:
        Data.Time.Calendar,
        Data.Time.Calendar.MonthDay,
        Data.Time.Calendar.OrdinalDate,
        Data.Time.Calendar.WeekDate,
        Data.Time.Calendar.Julian,
        Data.Time.Calendar.Easter,
        Data.Time.Clock,
        Data.Time.Clock.System,
        Data.Time.Clock.POSIX,
        Data.Time.Clock.TAI,
        Data.Time.LocalTime,
        Data.Time.Format,
        Data.Time
    default-extensions:    CPP
    c-sources: lib/cbits/HsTime.c
    other-modules:
        Data.Time.Calendar.Private,
        Data.Time.Calendar.Days,
        Data.Time.Calendar.Gregorian,
        Data.Time.Calendar.JulianYearDay,
        Data.Time.Clock.Internal.DiffTime,
        Data.Time.Clock.Internal.AbsoluteTime,
        Data.Time.Clock.Internal.NominalDiffTime,
        Data.Time.Clock.Internal.POSIXTime,
        Data.Time.Clock.Internal.UniversalTime,
        Data.Time.Clock.Internal.SystemTime,
        Data.Time.Clock.Internal.UTCTime,
        Data.Time.Clock.Internal.CTimeval,
        Data.Time.Clock.Internal.CTimespec,
        Data.Time.Clock.Internal.UTCDiff,
        Data.Time.LocalTime.Internal.TimeZone,
        Data.Time.LocalTime.Internal.TimeOfDay,
        Data.Time.LocalTime.Internal.LocalTime,
        Data.Time.LocalTime.Internal.ZonedTime,
        Data.Time.Format.Parse
        Data.Time.Format.Locale
    include-dirs: lib/include
    if os(windows)
        install-includes:
            HsTime.h
    else
        install-includes:
            HsTime.h
            HsTimeConfig.h

test-suite ShowDefaultTZAbbreviations
    type: exitcode-stdio-1.0
    hs-source-dirs: test
    default-language: Haskell2010
    ghc-options: -Wall -fwarn-tabs
    build-depends:
        base,
        time
    main-is: ShowDefaultTZAbbreviations.hs

test-suite test-main
    type: exitcode-stdio-1.0
    hs-source-dirs: test/main
    default-language: Haskell2010
    default-extensions:
        Rank2Types
        CPP
        DeriveDataTypeable
        StandaloneDeriving
        ExistentialQuantification
        MultiParamTypeClasses
        FlexibleInstances
        UndecidableInstances
        ScopedTypeVariables
        TupleSections
    ghc-options: -Wall -fwarn-tabs
    build-depends:
        base,
        deepseq,
        time,
        QuickCheck,
        tasty,
        tasty-hunit,
        tasty-quickcheck
    main-is: Main.hs
    other-modules:
        Test.TestUtil
        Test.Calendar.AddDays
        Test.Calendar.AddDaysRef
        Test.Calendar.Calendars
        Test.Calendar.CalendarsRef
        Test.Calendar.ClipDates
        Test.Calendar.ClipDatesRef
        Test.Calendar.ConvertBack
        Test.Calendar.Easter
        Test.Calendar.EasterRef
        Test.Calendar.LongWeekYears
        Test.Calendar.LongWeekYearsRef
        Test.Calendar.MonthDay
        Test.Calendar.MonthDayRef
        Test.Calendar.Valid
        Test.Clock.Conversion
        Test.Clock.Resolution
        Test.Clock.TAI
        Test.Format.Format
        Test.Format.ParseTime
        Test.LocalTime.Time
        Test.LocalTime.TimeRef

test-suite test-unix
    if os(windows)
        buildable: False
    type: exitcode-stdio-1.0
    hs-source-dirs: test/unix
    default-language: Haskell2010
    default-extensions:
        Rank2Types
        CPP
        DeriveDataTypeable
        StandaloneDeriving
        ExistentialQuantification
        MultiParamTypeClasses
        FlexibleInstances
        UndecidableInstances
        ScopedTypeVariables
    ghc-options: -Wall -fwarn-tabs
    c-sources: test/unix/Test/Format/FormatStuff.c
    build-depends:
        base,
        deepseq,
        time,
        random,
        QuickCheck,
        tasty,
        tasty-hunit,
        tasty-quickcheck
    if !os(windows)
        build-depends: unix
    main-is: Main.hs
    other-modules:
        Test.TestUtil
        Test.Format.Format
        Test.LocalTime.TimeZone
