;;;; glut.setup -*- Scheme -*- (define glut (cond-expand (windows ;; Note: try-compile is currently broken on Windows (or (find (lambda (lib) (try-compile "#include \nint main() { glutInitDisplayMode(0); }" ldflags: (string-append "-l" lib))) '("freeglut" "glut32" "glut")) (begin (warning "no glut library found") "-lfreeglut"))) (else "-lglut"))) (define link-options (cond-expand (macosx "-framework GLUT -framework OpenGL -framework Foundation") (windows (string-append "-lopengl32 -lglu32 " glut)) (else "-L/usr/X11R6/lib -L/usr/X11/lib -LX11 -lglut"))) (define compile-options (cond-expand (macosx "-FGLUT -FOpenGL") (else ""))) (compile -s -O3 -d0 glut.scm -J ,compile-options ,link-options) (compile -c -O3 -d0 glut.scm -J ,compile-options -o glut-static.o -unit glut) (compile -s glut.import.scm -d0 -O3) (install-extension 'glut '("glut.so" "glut.import.so" "glut-static.o") `((version 1.17) (static "glut-static.o") (static-options ,link-options)))