summaryrefslogtreecommitdiffstats
path: root/build.features
diff options
context:
space:
mode:
authorJames LewisMoss <dres@debian.org>2000-03-12 09:04:17 -0500
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:26 -0800
commit8cfce36c6a4fc2e0a0ab6ef2db66a23cbe462693 (patch)
tree17427e4f777ca85990a449fe939fbae29770b346 /build.features
parenta47af30d2f0e96afcd1f14b1984575c359faa3d6 (diff)
parent3278b75942bdbe706f7a0fba87729bb1e935b68b (diff)
downloadscm-debian/5d2-3.tar.gz
scm-debian/5d2-3.zip
Import Debian changes 5d2-3debian/5d2-3
scm (5d2-3) unstable frozen; urgency=low * Fix libncurses4-dev -> libncurses5-dev build depend (Closes: #58435) * Fix libreadline2-dev -> libreadline4-dev build depend. * Fix license location in copyright file (lintian warning) * Add tetex-bin as a build depend (needs makeinfo) (Closes: #53197) * Add -isp option to dpkg-gencontrol (lintian error) * Move scm to section interpreters. scm (5d2-2) unstable; urgency=low * Apply patch from upstream for bug in eval.c. (Picked up from comp.lang.scheme) * Add Build-Depends on slib, librx1g-dev, libncurses4-dev, libreadlineg2-dev. * Up standards version. * Correct description: this is an R5RS implementation now * Make sure no optimizations are done on m68k. (Closes: #52434) scm (5d2-1) unstable; urgency=low * New upstream. scm (5d1-2) unstable; urgency=low * Remove TAGS on clean (cut the diff back down to reasonable size). scm (5d1-1) unstable; urgency=low * New upstream. * move stuff to /usr/share. scm (5d0-3) unstable; urgency=low * Change scmlit call to ./scmlit call (missed one) (Fixes bugs #37455 and #35545) * Change man file permissions to 644 (fixes lintian warning) scm (5d0-2) unstable; urgency=low * Removed call to add_final in init_crs. lendwin doesn't do anything and scm was crashing when quit everytime in final_scm. * Changed copyright to reflect new source. scm (5d0-1) unstable; urgency=low * New upstream. * Changed (terms) to access "/usr/doc/copyright/GPL". * Changed regex to use -lrx scm (5c3-6) unstable; urgency=low * New maintainer.
Diffstat (limited to 'build.features')
-rw-r--r--build.features123
1 files changed, 123 insertions, 0 deletions
diff --git a/build.features b/build.features
new file mode 100644
index 0000000..1921d3c
--- /dev/null
+++ b/build.features
@@ -0,0 +1,123 @@
+#!/bin/sh
+:;exec scmlit -f $0 -e"(bi)" build $*
+
+(require (in-vicinity (program-vicinity) "build.scm"))
+(require 'getopt)
+(require 'getopt-parameters)
+
+(define (make-features-txi)
+ (call-with-output-file "features.txi"
+ (lambda (port)
+ ((((build 'open-table) 'features #f) 'for-each-row)
+ (lambda (row)
+ (apply (lambda (name spec documentation)
+ (display "@item " port) (display name port) (newline port)
+ (display "@cindex " port) (display name port) (newline port)
+ (display documentation port) (newline port) (newline port))
+ row))))))
+
+(define (print-manifest port)
+ (display "@multitable @columnfractions .22 .78" port) (newline port)
+ ((((build 'open-table) 'manifest #f) 'for-each-row)
+ (lambda (row)
+ (apply (lambda (file format category documentation)
+ (display (string-append "@item @code{" file) port)
+ (display "}" port) (newline port)
+ (display (string-append "@tab " documentation) port)
+ (newline port))
+ row)))
+ (display "@end multitable" port) (newline port))
+
+(define (append-info-node path node afile)
+ (let ((cat (open-file afile "a")))
+ (do ((n (+ -1 2) (+ -1 n)))
+ ((negative? n) (close-port cat))
+ (newline cat)))
+ (system (string-append "info -f " path " -n '" node "' -o - >> " afile)))
+
+(define (make-readme)
+ (require 'posix)
+ (let ((pipe (open-output-pipe "makeinfo --no-headers -o README"))
+ (scm-info (read-version
+ (in-vicinity (implementation-vicinity) "patchlvl.h"))))
+ (if (not pipe) (slib:error 'make-readme 'couldn't 'open 'pipe))
+ (display "\
+This directory contains the distribution of scm" pipe)
+ (display scm-info pipe)
+ (display ". Scm conforms to
+Revised^5 Report on the Algorithmic Language Scheme and the IEEE P1178
+specification. SCM runs under Amiga, Atari-ST, MacOS, MS-DOS, OS/2,
+NOS/VE, Unicos, VMS, Unix and similar systems.
+
+@center @url{http://swissnet.ai.mit.edu/~jaffer/SCM.html}
+
+@section Manifest
+"
+ pipe)
+ (print-manifest pipe)
+ (close-port pipe)
+ (set! scm-info (string-append "scm" scm-info ".info"))
+ (append-info-node scm-info "SLIB" "README")
+ (append-info-node scm-info "Making SCM" "README")
+ (append-info-node scm-info "Editing Scheme Code" "README")
+ (append-info-node scm-info "Problems Compiling" "README")
+ (append-info-node scm-info "Problems Linking" "README")
+ (append-info-node scm-info "Problems Running" "README")
+ (append-info-node scm-info "Testing" "README")))
+
+(define (build-from-argv argv)
+ (cond ((string? argv)
+ (require 'read-command)
+ (set! argv (call-with-input-string argv read-command))))
+ (let ()
+ (define command (string->symbol (list-ref argv *optind*)))
+ (define argc (length argv))
+ (cond
+ ((pair? argv)
+ (set! *optind* (+ 1 *optind*))
+ ((make-command-server build '*commands*)
+ command
+ (lambda (comname comval options positions arities types
+ defaulters checks aliases)
+ (let* ((params (getopt->parameter-list
+ argc argv options arities types aliases))
+ (fparams (fill-empty-parameters defaulters params)))
+ (cond ((not (list? params))
+ (slib:warn 'build-from-argv 'not-parameters? fparams)
+ #f)
+ ((not (check-parameters checks fparams))
+ (slib:warn 'build-from-argv 'check-parameters 'failed)
+ #f)
+ ((not (check-arities (map arity->arity-spec arities) fparams))
+ (slib:error 'build-from-argv "arity error" fparams) #f)
+ (else (comval fparams))))))))))
+
+(define (build-from-whole-argv argv)
+ (set! *optind* 0)
+ (set! *optarg* #f)
+ (build-from-argv argv))
+
+(define b build-from-whole-argv)
+
+(define (b*)
+ (require 'read-command)
+ (do ((e (read-command) (read-command)))
+ ((eof-object? e))
+ (cond ((null? e))
+ (else
+ (cond ((not (string-ci=? (car e) "build"))
+ (set! e (cons "build" e))))
+ (write (build-from-whole-argv e))
+ (newline)))
+ (display "build> ")
+ (force-output)))
+
+(define (bi) (if (build-from-argv *argv*) #t (exit #f)))
+
+(cond (*interactive*
+ (display "type (b \"build <command-line>\") to build") (newline)
+ (display "type (b*) to enter build command loop") (newline)))
+
+;;; Local Variables:
+;;; mode:scheme
+;;; End: