;; -*- mode: Scheme; tab-width: 2; -*- ;; (define modules `(-j iup -j iup-base -j iup-controls -j iup-dialogs ,@(cond-expand [disable-iup-glcanvas '()] [else '(-j iup-glcanvas)]) ,@(cond-expand [disable-iup-pplot '()] [else '(-j iup-pplot)]) ,@(cond-expand [disable-iup-web '()] [else '(-j iup-web)]))) (define import-libraries `("iup.import.so" "iup-base.import.so" "iup-controls.import.so" "iup-dialogs.import.so" ,@(cond-expand [disable-iup-glcanvas '()] [else '("iup-glcanvas.import.so")]) ,@(cond-expand [disable-iup-pplot '()] [else '("iup-pplot.import.so")]) ,@(cond-expand [disable-iup-web '()] [else '("iup-web.import.so")]))) (define native-libraries `("-lcallback" "-liup" "-liupim" "-liupimglib" "-liupcontrols" ,@(cond-expand [disable-iup-glcanvas '()] [else '("-liupgl")]) ,@(cond-expand [disable-iup-pplot '()] [else '("-liup_pplot")]) ,@(cond-expand [disable-iup-web '()] [else '("-liupweb")]))) (compile -s -O2 -d1 "iup.scm" ,@modules ,@native-libraries) (compile -c -O2 -d1 "iup.scm" -unit iup) (compile -s -O2 -d0 "iup.import.scm") (compile -s -O2 -d0 "iup-base.import.scm") (compile -s -O2 -d0 "iup-controls.import.scm") (compile -s -O2 -d0 "iup-dialogs.import.scm") (cond-expand [disable-iup-glcanvas] [else (compile -s -O2 -d0 "iup-glcanvas.import.scm")]) (cond-expand [disable-iup-pplot] [else (compile -s -O2 -d0 "iup-pplot.import.scm")]) (cond-expand [disable-iup-web] [else (compile -s -O2 -d0 "iup-web.import.scm")]) (install-extension 'iup `("iup.so" "iup.o" "iup-types.scm" ,@import-libraries) `((version 1.2.1) (static "iup-base.o") (static-options ,(string-intersperse native-libraries)))) (compile -s -O2 -d1 "iup-dynamic.scm" -j iup-dynamic) (compile -c -O2 -d1 "iup-dynamic.scm" -j iup-dynamic -unit iup-dynamic) (compile -s -O2 -d0 "iup-dynamic.import.scm") (install-extension 'iup-dynamic '("iup-dynamic.so" "iup-dynamic.o" "iup-dynamic.import.so") '((version 1.2.1) (static "iup-dynamic.o")))