File: scheme48-config.in

package info (click to toggle)
scheme48 1.8%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 14,980 kB
  • ctags: 14,127
  • sloc: lisp: 76,272; ansic: 71,514; sh: 3,026; makefile: 637
file content (52 lines) | stat: -rw-r--r-- 1,494 bytes parent folder | download | duplicates (4)
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
#! /usr/bin/env scheme-srfi-7

(program
  (requires srfi-37) ; args-fold
  (code
   (define (main args)
     (call-with-current-continuation
      (lambda (exit)

	(define maybe-space
	  (let ((first? #t))
	    (lambda ()
	      (if first?
		  (set! first? #f)
		  (write-char #\space)))))

	(let ((options
	       (list (option '(#\? #\h "help") #f #f
			     (lambda (option name arg . stuff)
			       (display "usage: ")
			       (display (car args))
			       (display " [--ld] [--cc] [--libs-external] [--cflags-external]")
			       (newline)))
		     (option '("ld") #f #f
			     (lambda (option name arg . stuff)
			       (maybe-space)
			       (display "@LD@")))
		     (option '("cc") #f #f
			     (lambda (option name arg . stuff)
			       (maybe-space)
			       (display "@CC@")))
		     (option '("libs-external") #f #f
			     (lambda (option name arg . stuff)
			       (maybe-space)
			       (display "@DYNAMIC_EXTERNALS_LDFLAGS@")))
		     (option '("cflags-external") #f #f
			     (lambda (option name arg . stuff)
			       (maybe-space)
			       (display "@DYNAMIC_EXTERNALS_CFLAGS@")
			       (display " -I@incdir@"))))))
	  (args-fold (cdr args) options
		     (lambda (option name arg . stuff)
		       (display "unrecognized option: ")
		       (display name)
		       (newline)
		       (exit -1))
		    (lambda (operand . stuff)
		      (display "extra command-line argument: ")
		      (display operand)
		      (newline)
		      (exit -1))))))
     0)))