[Openmcl-devel] Trouble with ffigen
Gary Byers
gb at clozure.com
Tue Feb 1 23:35:49 PST 2005
On Wed, 2 Feb 2005, David Steuber wrote:
> In my quest to be able to create my one CDB files from scratch, I
> discovered a problem I am having with the ffigen based on GCC 3.4.1:
>
> david at interloper:~/usr/src/ccl/darwin-headers/gl/C
> $ ls -l System/Library/Frameworks/OpenGL.framework/Headers/
> total 616
> -rw-r--r-- 1 david staff 14152 1 Feb 22:14 OpenGL.ffi
> -rw-r--r-- 1 david staff 87118 1 Feb 22:14 gl.ffi
> -rw-r--r-- 1 david staff 117545 1 Feb 22:23 glext.ffi
> -rw-r--r-- 1 david staff 86070 1 Feb 22:14 glu.ffi
> david at interloper:~/usr/src/ccl/darwin-headers/gl/C
> $ openmcl
> Welcome to OpenMCL Version (Beta: Darwin) 0.14.2-p1!
> ? (require :parse-ffi)
> :PARSE-FFI
> ("PARSE-FFI")
> ? (ccl::parse-standard-ffi-files :gl)
> #P"/Users/david/usr/src/ccl/darwin-headers/gl/C/System/Library/
> Frameworks/GLUT.framework/Headers/glut.ffi" ... NIL
> #P"/Users/david/usr/src/ccl/darwin-headers/gl/C/System/Library/
> Frameworks/OpenGL.framework/Headers/gl.ffi" ... NIL
> #P"/Users/david/usr/src/ccl/darwin-headers/gl/C/System/Library/
> Frameworks/OpenGL.framework/Headers/glext.ffi" ... NIL
> #P"/Users/david/usr/src/ccl/darwin-headers/gl/C/System/Library/
> Frameworks/OpenGL.framework/Headers/glu.ffi" ... NIL
> #P"/Users/david/usr/src/ccl/darwin-headers/gl/C/System/Library/
> Frameworks/OpenGL.framework/Headers/OpenGL.ffi" ... NIL
> T
> ? (use-interface-dir :gl)
> #<INTERFACE-DIR :GL #P"gl/" #x638F146>
> ? #$GL_ACCUM
>
> > Error in process listener(1): Constant not found: OS::GL_ACCUM
> > While executing: CCL::LOAD-OS-CONSTANT
> > Type :POP to abort.
> Type :? for other options.
> 1 > :pop
>
> ? (quit)
> david at interloper:~/usr/src/ccl/darwin-headers/gl/C
> $ ls
> CVS System my-glext.h populate.sh
> populate.sh-BAK
> david at interloper:~/usr/src/ccl/darwin-headers/gl/C
> $ cd ..
> david at interloper:~/usr/src/ccl/darwin-headers/gl
> $ ls -l
> total 424
> drwxr-xr-x 8 david staff 272 1 Feb 22:24 C
> drwxr-xr-x 5 david staff 170 18 Jun 2004 CVS
> -rw-r--r-- 1 david staff 6952 1 Feb 22:28 constants.cdb
> -rw-r--r-- 1 david staff 76112 4 May 2004 constants.cdb-BAK
> -rw-r--r-- 1 david staff 58340 1 Feb 22:28 functions.cdb
> -rw-r--r-- 1 david staff 41774 4 May 2004 functions.cdb-BAK
> -rw-r--r-- 1 david staff 2048 1 Feb 22:28 records.cdb
> -rw-r--r-- 1 david staff 2048 4 May 2004 records.cdb-BAK
> -rw-r--r-- 1 david staff 3373 1 Feb 22:28 types.cdb
> -rw-r--r-- 1 david staff 3373 4 May 2004 types.cdb-BAK
> -rw-r--r-- 1 david staff 2462 1 Feb 22:28 vars.cdb
> -rw-r--r-- 1 david staff 2506 4 May 2004 vars.cdb-BAK
> david at interloper:~/usr/src/ccl/darwin-headers/gl/C/System/Library/
> Frameworks/OpenGL.framework/Headers
> $ grep -i GL_ACCUM *.ffi
> david at interloper:~/usr/src/ccl/darwin-headers/gl/C/System/Library/
> Frameworks/OpenGL.framework/Headers
> $
>
> #define constants are not getting in. I used populate.sh and this
> version of h-to-ffi.sh:
>
> #!/bin/sh
> # -fsyntax-only enables the parser hooks for ffi generation
> # -g3 emits macro definitions
> GEN="ffigen -fsyntax-only -g3"
>
> echo +++ ${1}
> mkdir -p .`dirname ${1}`
> OFILE=.`dirname ${1}`/`basename ${1} .h`.ffi
>
> ${GEN} -I include/ $* -o ${OFILE}
>
> Can anyone tell me what I'm doing wrong?
>
The gl.ffi file should contain a line that looks something like:
(macro ("/System/Library/Frameworks/OpenGL.framework/Headers/gl.h" 66) "GL_ACCUM" "0x0100")
Depending on what version of "gl.h" got parsed, the line number (66) might
be a little different.
Is there something that looks more-or-less like that in the gl.ffi file ?
If so, what does it look like, exactly ?
More information about the Openmcl-devel
mailing list