'const' with foreign enum, errorr pasted by retroj on Thu Apr 26 19:33:44 2012

;;; C
;;;
typedef enum
{
  MagickFalse = 0,
  MagickTrue = 1
} MagickBooleanType;


;;; scheme
;;;
(define-foreign-type magickboolean (enum MagickBooleanType))

(define magick-set-antialias
  (foreign-lambda magickboolean MagickSetAntialias magickwand (const magickboolean)))


;;; compiler error
;;;
  /usr/bin/csi -bnq -setup-mode -e "(require-library setup-api)" -e "(import setup-api)" -e "(setup-error-handling)" -e "(extension-name-a
nd-version '(\"magickwand\" \"\"))" -e "(keep-intermediates #t)" -e "(setup-install-mode #f)" magickwand.setup                           
  /usr/bin/csc -feature compiling-extension -setup-mode -k   -s -O3 -d1 -lMagickWand -C `pkg-config --cflags MagickWand` -L `pkg-config --
libs MagickWand` magickwand.scm -j magickwand                                                                                            
magickwand.c: In function ‘stub5377’:
magickwand.c:4150:12: error: variable ‘t1’ has initializer but incomplete type
magickwand.c:4150:45: error: conversion to incomplete type
magickwand.c:4150:30: error: storage size of ‘t1’ isn’t known

Error: shell command terminated with non-zero exit status 256: gcc magickwand.c -o magickwand.o -c  -fno-strict-aliasing -fwrapv -DHAVE_CH
ICKEN_CONFIG_H -DC_ENABLE_PTABLES -g -O2 -fPIC -DPIC -DC_SHARED -fopenmp -I/usr/include/ImageMagick -I"/usr/include/chicken"             

Error: shell command failed with nonzero exit status 256:

  /usr/bin/csc -feature compiling-extension -setup-mode -k   -s -O3 -d1 -lMagickWand -C `pkg-config --cflags MagickWand` -L `pkg-config --
libs MagickWand` magickwand.scm -j magickwand                                                                                            


Error: shell command terminated with nonzero exit code
17920
"/usr/bin/csi -bnq -setup-mode -e \"(require-library setup-api)\" -e \"(import s...

solved? added by retroj on Thu Apr 26 19:49:53 2012

(define-foreign-enum-type (magickboolean int)
  (magickboolean->boolean boolean->magickboolean)
  ((magickfalse) MagickFalse #f)
  ((magicktrue) MagickTrue #t))