packages feed

Hs2lib-0.6.3: Hs2lib.cabal

Name:           Hs2lib
Version:        0.6.3
Cabal-Version:  >= 1.10
Build-Type:     Custom
License:        BSD3
License-File:   LICENSE.txt
Author:         Tamar Christina <tamar (at) zhox.com>
Maintainer:     Tamar Christina <tamar (at) zhox.com>
Homepage:       http://blog.zhox.com/category/hs2lib/
Category:       Development
Stability:      experimental
Synopsis:       A Library and Preprocessor that makes it easier to create shared libs from Haskell programs.
Description:    The supplied PreProcessor can be run over any existing source and would generate FFI code for every function marked to be exported by the special notation documented inside the package. It then proceeds to compile this generated code into a lib.
                .
                The Library contains some helper code that's commonly needed to convert between types, and contains the code for the typeclasses the PreProcessor uses in the generated code to keep things clean.
                .
                It will always generated the required C types for use when calling the dll, but it will also generate the C# unsafe code if requested.
                .
				Read http://www.scribd.com/doc/63918055/Hs2lib-Tutorial#scribd
                .
                A replacement for this library is in development and will eventually replace this
				.
                Current Restrictions: 
                .
                    - Does NOT support x64 bit versions of GHC. This will be added in future versions if enough demand exist.
                .
                    - You cannot export functions which have the same name (even if they're in different modules because 1 big hsc file is generated at the moment, no conflict resolutions)
                .
                    - You cannot export datatypes with the same name, same restriction as above.
                .
                    - Does not support automatic instance generation for infix constructors yet
                .
                    - List of Lists are not supported (concat them first). 
                .
                NOTE: Package is now working again, but I have fixed the version of haskell-src-exts to prevent it from breaking again.
                .
Data-Files: Templates/main.template-unix.c, 
            Templates/main.template-win.c,
            Templates/nomain.template-unix.c, 
            Templates/nomain.template-win.c,
            Includes/Tuples.h,
            Includes/Instances.h,
            Includes/FFI.dll
            Includes/FFI/Properties/AssemblyInfo.cs
            Includes/FFI/FFI.sln
            Includes/FFI/FFI.csproj
            Includes/FFI/LockedValue.cs
            Includes/FFI/SafeString.cs
            Includes/FFI/FFI.suo
            Includes/FFI/WinLib.cs
            Includes/WinDllSupport.dll
            Includes/WinDllSupport.lib
            Includes/WinDllSupport.exp
            Includes/WinDllSupport.h
            
             
Tested-With:   GHC  >= 7.8.3
Build-Depends: base >= 4,
               syb  >= 0.1.0.2
               
Extra-Source-Files: WinDll/*.hs,
                    WinDll/CodeGen/*.hs,
                    WinDll/CodeGen/CSharp/*.hs,
                    WinDll/COFF/*.hs,
                    -- WinDll/Lib/*.hsc,
                    WinDll/Lib/*.cpphs,
                    WinDll/Lib/*.xpphs,
                    WinDll/Lib/*.hs,
                    WinDll/Shared/*.hs,
                    WinDll/Debug/*.hs,
                    WinDll/Debug/*.xhs,
                    WinDll/Debug/*.hs-boot,
                    WinDll/Structs/*.hs,
                    WinDll/Structs/Folds/*.hs,
                    WinDll/Structs/MShow/*.hs,
                    WinDll/Utils/*.hs,
                    Tests/*.hs,
                    Tests/Exec/*.hs,
                    Tests/Src/*.hs,
                    Tests/Src/*.txt,
                    *.hs,
                    Includes/*.h, 
                    Includes/*.dll, 
                    Includes/*.exp, 
                    Includes/*.lib, 
                    LIMITS.TXT

Library
    Exposed:    True
    Exposed-Modules:    WinDll.Lib.Converter,
                        WinDll.Lib.NativeMapping,
                        WinDll.Lib.InstancesTypes,
                        WinDll.Debug.Alloc,
                        WinDll.Debug.Records,
                        WinDll.Debug.Stack,
                        WinDll.Debug.Exports,
                        WinDll.Lib.NativeMapping_Debug,
                        WinDll.Lib.Native,
                        WinDll.Lib.Tuples,
                        WinDll.Lib.Tuples_Debug,
                        WinDll.Structs.Types

    Build-Depends:   haskell-src-exts >= 1.13.5 && <= 1.15.0.1,
                     ghc              >= 7.8.3,
                     base             >= 4    && < 5,
                     filepath         >= 1.1.0.2,
                     old-locale       >= 1.0.0.2,
                     time             >= 1.2.0.3,
                     directory        >= 1.0.0.3,
                     syb              >= 0.1.0.2,
                     random           >= 1.0.0.1
                        
    Other-Modules:    Paths_Hs2lib
    Default-Language: Haskell98
    
    if !os(windows)
        GHC-Options: -fPIC                        

    Build-Tools: hsc2hs, cpphs
    Include-Dirs: Includes
                   
    
Executable Hs2lib
    Main-is:         Hs2lib.hs
                        
    Build-Depends:   QuickCheck       >= 2.1.0.1,
                     directory        >= 1.0.0.3,
                     ghc-paths        >= 0.1.0.5,
                     filepath         >= 1.1.0.2,
                     random           >= 1.0.0.1,
                     process          >= 1.0.1.1,
                     ghc              >= 7.8.3,
                     mtl              >= 1.1.0.2,
                     containers       >= 0.2.0.0,
                     array            >= 0.2.0.0,
                     haskell-src-exts >= 1.13.5 && <= 1.15.0.1,
                     haddock          >= 2.7.2,
                     base             >= 4   && < 5,
                     syb              >= 0.1.0.2,
                     time             >= 1.2.0.3,
                     old-locale       >= 1.0.0.2,
                     cereal           >= 0.3.0.0
                   
    ghc-options:    -threaded -fspec-constr-count=16
    cpp-options:    -UDEBUG

    Other-Modules:    Paths_Hs2lib,
                      WinDll.Lib.NativeMapping,
                      WinDll.Lib.NativeMapping_Debug
                      
    Default-Language: Haskell98  
    
Executable Hs2lib-debug
    Main-is:         Hs2lib-debug.hs
                        
    Build-Depends:   QuickCheck       >= 2.1.0.1,
                     directory        >= 1.0.0.3,
                     ghc-paths        >= 0.1.0.5,
                     filepath         >= 1.1.0.2,
                     random           >= 1.0.0.1,
                     process          >= 1.0.1.1,
                     ghc              >= 7.8.3,
                     mtl              >= 1.1.0.2,
                     containers       >= 0.2.0.0,
                     array            >= 0.2.0.0,
                     haskell-src-exts >= 1.13.5 && <= 1.15.0.1,
                     haddock          >= 2.7.2,
                     base             >= 4   && < 5,
                     syb              >= 0.1.0.2,
                     time             >= 1.2.0.3,
                     old-locale       >= 1.0.0.2,
                     cereal           >= 0.3.0.0
                   
    ghc-options:    -threaded -fspec-constr-count=16 -rtsopts
    cpp-options:    -DDEBUG

    Other-Modules:    Paths_Hs2lib,
                      WinDll.Lib.NativeMapping,
                      WinDll.Lib.NativeMapping_Debug,
                      WinDll.Debug.Records,
                      WinDll.Debug.Stack
                      
    Default-Language: Haskell98  
    
Executable Hs2lib-testgen
    Main-is:         Tests/Exec/Hs2lib-testgen.hs
                        
    Build-Depends:   QuickCheck       >= 2.1.0.1,
                     directory        >= 1.0.0.3,
                     ghc-paths        >= 0.1.0.5,
                     filepath         >= 1.1.0.2,
                     random           >= 1.0.0.1,
                     process          >= 1.0.1.1,
                     ghc              >= 7.8.3,
                     mtl              >= 1.1.0.2,
                     containers       >= 0.2.0.0,
                     array            >= 0.2.0.0,
                     haskell-src-exts >= 1.13.5 && <= 1.15.0.1,
                     haddock          >= 2.7.2,
                     base             >= 4   && < 5,
                     syb              >= 0.1.0.2,
                     time             >= 1.2.0.3,
                     old-locale       >= 1.0.0.2,
                     cereal           >= 0.3.0.0
                   
    ghc-options:    -threaded -fspec-constr-count=16 -rtsopts
    cpp-options:    -UDEBUG

    Other-Modules:    Paths_Hs2lib,
                      WinDll.Lib.NativeMapping,
                      WinDll.Lib.NativeMapping_Debug,
                      WinDll.Debug.Records,
                      WinDll.Debug.Stack
                      
    Default-Language: Haskell98
    
Test-Suite test-regression
    type:             exitcode-stdio-1.0
    main-is:          Tests/Test-Regression.hs
    Default-Language: Haskell98
    build-depends: base             >= 4   && < 5,
                   filepath         >= 1.1.0.2,
                   process          >= 1.0.1.1,
                   directory        >= 1.0.0.3
                   
Test-Suite test-regression-debug
    type:             exitcode-stdio-1.0
    main-is:          Tests/Test-Regression-Debug.hs
    Default-Language: Haskell98
    build-depends: base             >= 4   && < 5,
                   filepath         >= 1.1.0.2,
                   process          >= 1.0.1.1,
                   directory        >= 1.0.0.3