packages feed

bindings-DSL 1.0.5 → 1.0.6

raw patch · 3 files changed

+22/−4 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

bindings-DSL.cabal view
@@ -17,7 +17,7 @@   .   This package contains no Haskell code, only C header files   designed for hsc2hs.-version: 1.0.5+version: 1.0.6 license: BSD3 license-file: LICENSE maintainer: Maurício C. Antunes <mauricio.antunes@gmail.com>
bindings.cmacros.h view
@@ -9,21 +9,33 @@ #define __BINDINGS_CMACROS_H__  #define BC_GLOBALARRAY(name,type) \-const type* array_##name () \+const type* array_##name (void) \ { \   return name; \ } \  #define BC_INLINE_(name,ret) \-ret inline_##name () \+ret inline_##name (void) \ { \   return name; \ } \  #define BC_INLINE_VOID(name) \-void inline_##name () \+void inline_##name (void) \ { \   name; \+} \++#define BC_INLINE0(name,ret) \+ret inline_##name (void) \+{ \+  return name (); \+} \++#define BC_INLINE0VOID(name) \+void inline_##name (void) \+{ \+  name (); \ } \  #define BC_INLINE1(name,t1,ret) \
bindings.dsl.h view
@@ -67,6 +67,8 @@  #define bc_wrapper(name) {printf("mk'");bc_word(name);}; \ +#define bc_dynamic(name) {printf("mK'");bc_word(name);}; \+ #define bc_fieldname(type,field) {printf("c'");bc_glue(type,field);}; \  #define bc_unionupdate(type,field) {printf("u'");bc_glue(type,field);}; \@@ -155,6 +157,10 @@     bc_wrapper(# name);printf("\n"); \     printf("  :: (");bc_typemarkup(# type); \     printf(") -> IO ");bc_conid(# name);printf("\n"); \+    printf("foreign import ccall \"dynamic\" "); \+    bc_dynamic(# name);printf("\n"); \+    printf("  :: ");bc_conid(# name); \+    printf(" -> (");bc_typemarkup(# type);printf(")\n"); \  static struct { 	int n, is_array[500], is_union[500], is_fam[500];