packages feed

com-1.2.0: com.cabal

Name: com
version: 1.2.0
Synopsis: Haskell COM support library
Description: 
    COM + Automation libraries for Haskell.
Cabal-version: >= 1.2
build-type: Simple
Maintainer: Sigbjorn Finne <sigbjorn.finne@gmail.com>
License: BSD3
License-file: LICENSE
Category: FFI

Extra-Source-Files: include/PointerSrc.h
          include/WideStringSrc.h
          include/HDirect.h
          include/comPrim.h
          include/autoPrim.h
          include/Registry.h
          include/safeArrayPrim.h
          include/SafeArray.h
          include/StdTypes.h

flag old-base
  description: Old, monolithic base
  default: False

library {
Build-depends: haskell98, old-time
Exposed-Modules: System.Win32.Com,
                 System.Win32.Com.Base,
                 System.Win32.Com.Automation,
                 System.Win32.Com.Automation.Base,
                 System.Win32.Com.Automation.StdTypes,
                 System.Win32.Com.Automation.SafeArray,
                 System.Win32.Com.Exception,
                 System.Win32.Com.Automation.TypeLib,
                 System.Win32.Com.Automation.Connection,
                 System.Win32.Com.Dll,
                 System.Win32.Com.Server,
                 System.Win32.Com.ClassFactory,
                 System.Win32.Com.Server.StdDispatch,
                 System.Win32.Com.Server.ConnectionPoint,
                 System.Win32.Com.Server.ClassInfo,
                 System.Win32.Com.Server.EnumInterface,
                 System.Win32.Com.Server.ExeServer,
                 System.Win32.Com.HDirect.Pointer,
                 System.Win32.Com.HDirect.HDirect,
                 System.Win32.Com.HDirect.PointerPrim,
                 System.Win32.Com.HDirect.WideString
                 
Include-dirs: . cbits include

Includes: include/PointerSrc.h
          include/WideStringSrc.h
          include/comPrim.h
          include/autoPrim.h
          include/Registry.h
          include/safeArrayPrim.h
          include/SafeArray.h
          include/StdTypes.h

C-Sources: cbits/PointerSrc.c
           cbits/WideStringSrc.c
           cbits/ComPrimSrc.c
           cbits/AutoPrimSrc.c
           cbits/Registry.c
           cbits/SafeArrayPrim.c

Extra-libraries: kernel32, user32, ole32, oleaut32, advapi32
GHC-Options: -fglasgow-exts -fvia-C 
-- I can't seem to feed this into the 'ld' invocation that creates the
-- relocatable object file.
Ld-options: --enable-stdcall-fixup --disable-stdcall-fixup
Extensions: CPP

if flag(old-base)
  Build-Depends: base < 4
  CPP-Options: -DBASE=3
else
  Build-Depends: base >= 4
  CPP-Options: -DBASE=4
}