(use posix) (define (mysql-flags opts) (with-input-from-pipe (string-append "mysql_config " (string-join opts " ")) (lambda() (string-split (read-line) " \t")))) (define mysql-version (string-split (car (mysql-flags '("--version"))) ".")) (compile ,@(map (lambda(f)(sprintf "-C ~A" f)) (mysql-flags '("--cflags"))) ,@(map (lambda(f)(sprintf "-L ~A" f)) (mysql-flags '("--libs"))) -d0 -O3 -s mysql-client.scm -j mysql-client) (compile -d0 -O3 -s mysql-client.import.scm) (install-extension 'mysql-client '("mysql-client.so" "mysql-client.import.so") '((version "0.8"))) (define (install-name-tool-fix) (define install-name-tool-cmd " sudo install_name_tool -change libmysqlclient.18.dylib $(mysql_config --variable=pkglibdir)/libmysqlclient.18.dylib /usr/local/lib/chicken/6/mysql-client.so") (printf "MySQL ~A detected,~%~A~%" (string-join mysql-version ".") install-name-tool-cmd) (process install-name-tool-cmd)) (cond ((equal? mysql-version '("5" "5" "24")) (install-name-tool-fix)))