--
-- Licensed to the Apache Software Foundation (ASF) under one
-- or more contributor license agreements. See the NOTICE file
-- distributed with this work for additional information
-- regarding copyright ownership. The ASF licenses this file
-- to you under the Apache License, Version 2.0 (the
-- "License"); you may not use this file except in compliance
-- with the License. You may obtain a copy of the License at
--
--   http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing,
-- software distributed under the License is distributed on an
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-- KIND, either express or implied. See the License for the
-- specific language governing permissions and limitations
-- under the License.
--

Name:           ThriftTutorial
Version:        0.1.0
Cabal-Version:  >= 1.4
License:        OtherLicense
Category:       Foreign
Build-Type:     Simple
Synopsis:       Thrift Tutorial library package
Homepage:       http://thrift.apache.org
Bug-Reports:    https://issues.apache.org/jira/browse/THRIFT
Maintainer:     dev@thrift.apache.org
License-File:   LICENSE

Description:
  Haskell tutorial for the Apache Thrift RPC system. Requires the use of the thrift code generator.

flag network-uri
   description: Get Network.URI from the network-uri package
   default: True

Executable HaskellServer
  Main-is: HaskellServer.hs
  Hs-Source-Dirs:
    ., gen-hs/
  Build-Depends:
    base >= 4, base < 5, ghc-prim, containers, thrift, vector, unordered-containers, text, hashable, bytestring, QuickCheck
  Extensions:
    DeriveDataTypeable,
    ExistentialQuantification,
    FlexibleInstances,
    KindSignatures,
    MagicHash,
    RankNTypes,
    ScopedTypeVariables,
    TypeSynonymInstances

Executable HaskellClient
  Main-is: HaskellClient.hs
  Hs-Source-Dirs:
    ., gen-hs/
  Build-Depends:
    base >= 4, base < 5, ghc-prim, containers, thrift, vector, QuickCheck
  if flag(network-uri)
     build-depends: network-uri >= 2.6, network >= 2.6
  else
     build-depends: network < 2.6
  Extensions:
    DeriveDataTypeable,
    ExistentialQuantification,
    FlexibleInstances,
    KindSignatures,
    MagicHash,
    RankNTypes,
    ScopedTypeVariables,
    TypeSynonymInstances
