;; -*- scheme -*- (use posix) (define madvise-test (read-all "feature-tests/madvise.c")) (define posix-fadvise-test (read-all "feature-tests/madvise.c")) (define sendfile-bsd-test (read-all "feature-tests/sendfile-bsd.c")) (define sendfile-macos-test (read-all "feature-tests/sendfile-macos.c")) (define sendfile-sun-test (read-all "feature-tests/sendfile-sun.c")) (define sendfile-linux-test (read-all "feature-tests/sendfile-linux.c")) (define mmap-test (read-all "feature-tests/mmap.c")) (define madvise? (try-compile madvise-test compile-only: #f)) (define posix-fadvise? (try-compile posix-fadvise-test compile-only: #f)) (define mmap? (try-compile mmap-test compile-only: #f)) (define sendfile? (cond-expand (linux (try-compile sendfile-linux-test compile-only: #f)) ((or netbsd openbsd freebsd) (try-compile sendfile-bsd-test compile-only: #f)) (macosx (try-compile sendfile-macos-test compile-only: #f)) (sun (try-compile sendfile-sun-test compile-only: #f)) (else #f))) (let ((features '())) (when madvise? (set! features (cons '-D (cons 'madvise features)))) (when posix-fadvise? (set! features (cons '-D (cons 'posix-fadvise features)))) (when mmap? (set! features (cons '-D (cons 'mmap features)))) (when sendfile? (set! features (cons '-D (cons 'sendfile features)))) (compile -s -O2 -d0 ,@features sendfile.scm -j sendfile) (compile -s -O2 -d0 sendfile.import.scm) (compile -c -O2 -d0 ,@features sendfile.scm -unit sendfile -o sendfile-static.o) (install-extension 'sendfile '("sendfile.so" "sendfile.import.so" "sendfile-static.o") '((version "1.8.2") (static "sendfile-static.o") (documentation "sendfile.html"))))