Changelog of @hackage/libffi 0.2.1

0.2.1 [2022.09.24]

  • Add sizeAndAlignmentOfCType to Foreign.LibFFI.Base, which can be used to retrieve the size and alignment of a CType.

0.2 [2022.08.11]

  • The libffi library now uses bracket internally and should now be exception-safe.

  • There is a now a ghc-bundled-libffi cabal flag that makes this library statically link against GHC's bundled copy of libffi rather than attempt to link against the system libffi. On the vast majority of GHCs, this is the most reasonable option, as linking against the system libffi is inherently fragile. As a result, +ghc-bundled-libffi is now the defalut setting. See the README for more discussion on this point.

  • The definition of Arg has changed:

    -newtype Arg = Arg { unArg :: IO (Ptr CType, Ptr CValue, IO ()) }
    +newtype Arg = Arg { unArg :: forall a. (Ptr CType -> Ptr CValue -> IO a) -> IO a }
    
  • The definition of RetType has changed:

    -data RetType a = RetType (Ptr CType) ((Ptr CValue -> IO ()) -> IO a)
    +newtype RetType a = RetType { unRetType :: (Ptr CType -> Ptr CValue -> IO ()) -> IO a }
    

0.1 [2009.03.17]

  • Initial release.