packages feed

libnvvm-1.0.0: libnvvm.cabal

-- Copyright (c) 2012-2014 NVIDIA Corporation.  All rights reserved.
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy
-- of this software and associated documentation files (the "Software"), to deal
-- in the Software without restriction, including without limitation the rights
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-- copies of the Software, and to permit persons to whom the Software is
-- furnished to do so, subject to the following conditions:
--
-- The above copyright notice and this permission notice shall be included in
-- all copies or substantial portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-- SOFTWARE.

Name:                           libnvvm
Version:                        1.0.0
License:                        MIT
License-file:                   LICENSE
Copyright:                      Copyright (c) 2012-2014 NVIDIA Corporation.  All rights reserved.
Author:                         Sean Lee,
                                Trevor McDonell
Maintainer:                     Sean Lee <selee@nvidia.com>
Build-type:                     Simple
Category:                       Foreign
Stability:                      Experimental
Homepage:                       https://github.com/nvidia-compiler-sdk/hsnvvm
Bug-reports:                    https://github.com/nvidia-compiler-sdk/hsnvvm/issues
Cabal-version:                  >= 1.18
Tested-with:                    GHC == 7.6.*
Synopsis:                       FFI binding to libNVVM, a compiler SDK component from NVIDIA
Description:                    FFI binding to libNVVM, a compiler SDK component from NVIDIA

Extra-source-files:             cbits/stubs.h

Library
  Exposed-modules:              Foreign.LibNVVM
                                Foreign.LibNVVM.Compile
                                Foreign.LibNVVM.Error
                                Foreign.LibNVVM.Info

  Other-modules:                Foreign.LibNVVM.Internal

  Include-dirs:                 .
  Includes:                     nvvm.h
  Extra-Libraries:              nvvm

  if os(darwin)
    CC-options:                 -U__BLOCKS__
    Include-dirs:               /usr/local/cuda/nvvm/include
    Extra-lib-dirs:             /usr/local/cuda/nvvm/lib

  if os(linux)
    Include-dirs:               /usr/local/cuda/nvvm/include

    if arch(i386)
      Extra-lib-dirs:           /usr/local/cuda/nvvm/lib

    if arch(x86_64)
      Extra-lib-dirs:           /usr/local/cuda/nvvm/lib64

  GHC-options:                  -Wall -O2 -fwarn-tabs -funbox-strict-fields

  Build-tools:                  c2hs
  Build-depends:                base                        >= 4 && < 5,
                                bytestring                  >= 0.9,
                                cuda                        >= 0.5

  Default-language:             Haskell2010


Test-suite test-simple
  Main-is:                      Simple.hs
  hs-source-dirs:               Test/simple

  Build-depends:                libnvvm,
                                base                        >= 4 && < 5,
                                bytestring                  >= 0.9,
                                test-framework              >= 0.2,
                                test-framework-hunit        >= 0.2,
                                Cabal                       >= 1.10.1,
                                HUnit                       >= 1.2

  Type:                         exitcode-stdio-1.0
  GHC-options:                  -Wall -O2 -fwarn-tabs
  Default-language:             Haskell2010


-- Disable due to a libNVVM parsing error bug of the DataLayout field
--
-- Test-suite test-llvmgen
--   Main-is:                     LLVMGen.hs
--   Other-modules:               HelloWorld
--   hs-source-dirs:              Test/llvm-gen
--
--   Build-depends:               libnvvm,
--                                base                        >= 4 && < 5,
--                                bytestring                  >= 0.9,
--                                containers                  >= 0.5,
--                                cuda                        >= 0.5,
--                                llvm-general                == 3.2.*,
--                                llvm-general-pure           == 3.2.*,
--                                mtl                         >= 2.0
--
--   Type:                        exitcode-stdio-1.0
--   GHC-options:                 -Wall -O2 -fwarn-tabs
--   Default-language:            Haskell2010

Source-repository head
  Type:                         git
  Location:                     https://github.com/nvidia-compiler-sdk/hsnvvm.git