File: scheme48-config.in

package info (click to toggle)
scheme48 1.9.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 18,232 kB
  • sloc: lisp: 88,907; ansic: 87,519; sh: 3,224; makefile: 771
file content (56 lines) | stat: -rw-r--r-- 1,584 bytes parent folder | download | duplicates (2)
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
#! /usr/bin/scheme-srfi-7

; Part of Scheme 48 1.9.  See file COPYING for notices and license.

; Authors: Mike Sperber

(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)))