/usr/bin/cwcompile is in gauche-c-wrapper 0.6.1-8.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #!/usr/bin/gosh
;; -*- coding: utf-8; mode: scheme -*-
;;
;; cwcompile - stub generator for c-wrapper
;;
;; Copyright (c) 2006 KOGURO, Naoki (naoki@koguro.net)
;;
;; Permission is hereby granted, free of charge, to any person
;; obtaining a copy of this software and associated
;; documentation files (the "Software"), to deal in the
;; Software without restriction, including without limitation
;; the rights to use, copy, modify, merge, publish, distribute,
;; sublicense, and/or sell copies of the Software, and to
;; permit persons to whom the Software is furnished to do so,
;; subject to the following conditions:
;;
;; The above copyright notice and this permission notice shall
;; be included in all copies or substantial portions of the
;; Software.
;;
;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
;; KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
;; WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
;; PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
;; OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
;; OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
;; OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
;;
;; $Id: $
(use gauche.parseopt)
(use c-wrapper.stubgen)
(define (usage progname)
(format #t "Usage: ~a [options] <scheme-file> ...~%" (sys-basename progname))
(print " Generate .so file from scheme file(s).")
(print "")
(print "Options:")
(print " -v, --verbose : reports commands being executed.")
(print " --clean : removes the intermidiate and output files.")
(print " --cppflags=CPPFLAGS : extra cpp flags for compile.")
(print " --cflags=CFLAGS : extra cc flags for compile.")
(print " --ldflags=LDFLAGS : extra ld flags.")
(print " --libs=LIBS : extra libraries.")
(exit 1))
(define (main args)
(let ((prognam (car args)))
(let-args (cdr args)
((clean? "clean" #f)
(cppflags "cppflags=s" "")
(cflags "cflags=s" "")
(ldflags "ldflags=s" "")
(libs "libs=s" "")
(verbose? "v|verbose" #f)
(help? "h|help" => (cut usage prognam))
(else (option . _)
(format #t "unrecognized option: ~a" option)
(usage prognam))
. args)
(when (null? args)
(usage prognam))
(for-each (lambda (scm-file)
(compile-wrapper scm-file
(if clean? 'clean 'compile)
cflags
cppflags
ldflags
(string-append libs " ")
verbose?))
args)))
0)
;; Local variables:
;; mode: scheme
;; end:
|