;;; -*- Mode: Scheme; scheme48-package: (exec) -*- ;;;; C Stub Generator for Scheme ;;;; Scheme48 Make Utilities ;;; Copyright (c) 2009, Taylor R. Campbell ;;; ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; ;;; * Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; ;;; * Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in ;;; the documentation and/or other materials provided with the ;;; distribution. ;;; ;;; * Neither the names of the authors nor the names of contributors ;;; may be used to endorse or promote products derived from this ;;; software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS ;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED ;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY ;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE ;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. (define (load-stubber-configuration stubber-directory) (define (load-configuration directory) (config `(LOAD ,(string-append directory "/s48-interfaces.scm"))) (config `(LOAD ,(string-append directory "/s48-packages.scm")))) (define (stubber subdirectory) (string-append stubber-directory "/" subdirectory)) (define (external subdirectory) (stubber (string-append "external/" subdirectory))) (config `(LOAD ,(external "trc-testing/s48-restart.scm"))) (load-configuration (external "trc-testing")) (load-configuration (external "foof-loop")) (load-configuration (external "formatting")) (load-configuration (stubber "scheme")) (translate "=c-stub-header/" (stubber "c/")) (translate "=c-stub-source/" (stubber "src/")) (translate "=c-stub-object/" (stubber "obj/")) (translate "=c-stub-library/" (stubber "lib/")) ;; This is a serious space leak, because of the macros that ;; accumulate horribly deep names. (flush 'SOURCE))