(define QTDIR (or (getenv "QTDIR") (error "please set the QTDIR environment variable") ) ) (with-output-to-file "qt.pro" (lambda () (let ((csc (normalize-pathname (make-pathname (program-path) "csc")))) (print #<#EOF SOURCES=main.cpp qt-base.c HEADERS=prototypes.h CONFIG+=uitools qt debug TEMPLATE=lib TARGET=qtb unix:QMAKE_LFLAGS_DEBUG+=`#{csc} -libs -ldflags` unix:QMAKE_CFLAGS_DEBUG+=-w `#{csc} -cflags` unix:QMAKE_CXXFLAGS_DEBUG+=-w `#{csc} -cflags` QT+=opengl EOF ) ) )) (make (("Makefile" ("qt.pro") (run (,(make-pathname QTDIR "bin/qmake") qt.pro))) ("qt.so" ("prototypes.h" "main.cpp" "qt-base.c" "Makefile") (run (make)) (run (cp libqtb.so.1.0.0 qt.so))) ("qt-base.c" ("qt-base.scm" "prototypes.h") (run (csc -t qt-base.scm -O2 -d1 -X easyffi -C -g -j qt)) (run (csc -s qt.import.scm -O2 -d0)) )) "qt.so") (install-extension 'qt '("qt.so" "qt.import.so") '((version 0.6) (documentation "qt.html") ) )