cabal-version:      2.4
name:               postgresql-libpq
version:            0.11.0.0
x-revision:         1
synopsis:           low-level binding to libpq
description:
  This is a binding to libpq: the C application
  programmer's interface to PostgreSQL. libpq is a
  set of library functions that allow client
  programs to pass queries to the PostgreSQL
  backend server and to receive the results of
  these queries.

homepage:           https://github.com/haskellari/postgresql-libpq
bug-reports:        https://github.com/haskellari/postgresql-libpq/issues
license:            BSD-3-Clause
license-file:       LICENSE
author:             Grant Monroe, Leon P Smith, Joey Adams
maintainer:         Oleg Grenrus <oleg.grenrus@iki.fi>
copyright:
  (c) 2010 Grant Monroe
  (c) 2011 Leon P Smith

category:           Database
build-type:         Simple
extra-source-files: cbits/hs-libpq.h
tested-with:
  GHC ==8.6.5
   || ==8.8.4
   || ==8.10.7
   || ==9.0.2
   || ==9.2.8
   || ==9.4.8
   || ==9.6.6
   || ==9.8.4
   || ==9.10.1
   || ==9.12.1

extra-source-files: CHANGELOG.md

-- If true,  use pkg-config,  otherwise use the pg_config based build
-- configuration
flag use-pkg-config
  default: False
  manual:  True

library
  default-language:   Haskell2010
  hs-source-dirs:     src
  c-sources:          cbits/noticehandlers.c
  include-dirs:       cbits
  ghc-options:        -Wall
  other-extensions:
    BangPatterns
    CApiFFI
    DerivingStrategies
    EmptyDataDecls
    GeneralizedNewtypeDeriving
    OverloadedStrings
    ScopedTypeVariables

  exposed-modules:
    Database.PostgreSQL.LibPQ
    Database.PostgreSQL.LibPQ.Internal

  other-modules:
    Database.PostgreSQL.LibPQ.Compat
    Database.PostgreSQL.LibPQ.Enums
    Database.PostgreSQL.LibPQ.FFI
    Database.PostgreSQL.LibPQ.Marshal
    Database.PostgreSQL.LibPQ.Notify
    Database.PostgreSQL.LibPQ.Oid
    Database.PostgreSQL.LibPQ.Ptr

  build-depends:
    , base        >=4.12.0.0 && <4.22
    , bytestring  >=0.10.8.2 && <0.13

  if !os(windows)
    build-depends: unix >=2.7.2.2 && <2.9

  if os(windows)
    build-depends: Win32 >=2.2.0.2 && <2.15

  if flag(use-pkg-config)
    build-depends: postgresql-libpq-pkgconfig ^>=0.11

  else
    build-depends: postgresql-libpq-configure ^>=0.11

  build-tool-depends: hsc2hs:hsc2hs >=0.68.5

test-suite smoke
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  main-is:          Smoke.hs
  hs-source-dirs:   test
  build-depends:
    , base
    , bytestring
    , postgresql-libpq
    , tasty             ^>=1.5
    , tasty-hunit       ^>=0.10.1

source-repository head
  type:     git
  location: https://github.com/haskellari/postgresql-libpq