--- /dev/null
+#!/bin/sh
+#
+# $Id: make-c-files,v 1.1 2007/04/04 05:08:18 riastradh Exp $
+#
+# Copyright 2007 Massachusetts Institute of Technology
+#
+# This file is part of MIT/GNU Scheme.
+#
+# MIT/GNU Scheme is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# MIT/GNU Scheme is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with MIT/GNU Scheme; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+set -e
+
+if [ $# -gt 3 ]; then
+ echo "usage: ${0} [TYPE [VERSION [DESTINATION]]]"
+ exit 1
+fi
+
+TYPE="${1:-std}"
+VERSION="${2}"
+DESTINATION="${3}"
+
+case "${TYPE}" in
+(6001 | all | std)
+ ;;
+(snapshot)
+ [ "${VERSION}" ] || VERSION="snapshot"
+ ;;
+(*)
+ echo "Unknown distribution type: ${TYPE}"
+ echo "Valid types: std all 6001 snapshot"
+ exit 1
+ ;;
+esac
+
+if [ "${VERSION}" = "snapshot" ]; then
+ VERSION=$(date +%Y%m%d)
+fi
+
+DIST_DIR="/scheme/v7/dist"
+
+. "${DIST_DIR}/release-prefix"
+
+TL_DIR="$(pwd)"
+
+C_DIR_REL="$(get_release_prefix "${VERSION}")"
+C_DIR="${TL_DIR}/${C_DIR_REL}"
+SRC_FILE="${SRC_FILE}.tar.gz"
+STAMP_C="${TL_DIR}/stamp-c"
+
+if [ ! -f "${SRC_FILE}" ]; then
+ echo "No source file: ${SRC_FILE}"
+ exit 1
+fi
+
+if [ ! -f "${STAMP_BUILD}" ]; then
+ rm -rf "${C_DIR}"
+
+ tar xzf "${SRC_FILE}"
+
+ cd "${C_DIR}/src"
+ ./configure --enable-native-code=c
+ make c
+ make c-clean
+fi
+
+tarfile="${C_DIR}-c.tar.gz"
+zipfile="${C_DIR}-c.zip"
+
+rm -f "${tarfile}"
+rm -f "${zipfile}"
+
+tar cvzf "${tarfile}" "${C_DIR}"
+
+for S in $(find ${C_DIR} -type l); do
+ [ ! -r "${S}" ] && rm -f "${S}"
+done
+
+zip -rl "${zipfile}" "${C_DIR}"
+chmod -w "${zipfile}"
+
+rm -rf "${C_DIR}"
#!/bin/sh
#
-# $Id: Clean.sh,v 1.10 2007/01/05 21:19:20 cph Exp $
+# $Id: Clean.sh,v 1.11 2007/04/04 05:08:18 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
COMMAND=$1
shift
+SUBDIRS="$@"
FULL=no
DIST=no
clean)
FULL=yes
;;
-distclean)
+distclean | c-clean)
FULL=yes
DIST=yes
;;
rm -rf configure lib autom4te.cache
fi
-for SUBDIR; do
+for SUBDIR in ${SUBDIRS}; do
if test -x ${SUBDIR}/Clean.sh; then
echo "making ${COMMAND} in ${SUBDIR}"
( cd ${SUBDIR} && ./Clean.sh ${COMMAND} ) || exit 1
-# $Id: Makefile.in,v 1.28 2007/01/05 21:19:20 cph Exp $
+# $Id: Makefile.in,v 1.29 2007/04/04 05:08:18 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
AUXDIR = @AUXDIR@
EDETC = $(AUXDIR)/edwin/etc
+COMPILE_SCRIPT = @COMPILE_SCRIPT@
+BUILD_BANDS_SCRIPT = @BUILD_BANDS_SCRIPT@
all:
( cd microcode && $(MAKE) all )
- $(srcdir)/etc/compile.sh $(srcdir)
- $(srcdir)/etc/build-bands.sh
+ $(srcdir)/etc/$(COMPILE_SCRIPT) $(srcdir)
+ ( cd microcode && $(MAKE) liarc-bundles )
+ $(srcdir)/etc/$(BUILD_BANDS_SCRIPT)
+
+c: boot-compiler.com
+ $(srcdir)/etc/c-prepare.sh
+
+boot-compiler.com:
+ $(srcdir)/etc/c-boot-compiler.sh
+
+c-clean:
+ -rm -f boot-compiler.com
+ $(srcdir)/Clean.sh $@ $(SUBDIRS)
mostlyclean clean distclean maintainer-clean:
$(srcdir)/Clean.sh $@ $(SUBDIRS)
$(INSTALL_DATA) $(srcdir)/etc/TUTORIAL $(DESTDIR)$(EDETC)/.
.PHONY: all mostlyclean clean distclean maintainer-clean tags TAGS install
+.PHONY: c c-clean
#!/bin/sh
#
-# $Id: Setup.sh,v 1.16 2007/01/05 21:19:20 cph Exp $
+# $Id: Setup.sh,v 1.17 2007/04/04 05:08:18 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
maybe_link lib/edwin/etc/mime.types ../../../etc/mime.types
maybe_link lib/edwin/autoload ../../edwin
+# lib/shared
+maybe_mkdir lib/shared
+for BUNDLE in sf+compiler edwin 6001 cref imail sos ssp xdoc xml; do
+ maybe_link "lib/shared/${BUNDLE}.so" "../../microcode/${BUNDLE}.so"
+done
+
for SUBDIR in 6001 compiler cref edwin imail rcs runtime runtime-check \
sf sos ssp star-parser win32 xdoc xml microcode; do
echo "setting up ${SUBDIR}"
#!/bin/sh
#
-# $Id: Clean.sh,v 1.12 2007/01/12 06:19:49 cph Exp $
+# $Id: Clean.sh,v 1.13 2007/04/04 05:08:18 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
CLEANSH=${TOPDIR}/etc/Clean.sh
"${CLEANSH}" "${1}" rm-pkg
+case "${1}" in
+c-clean)
+ SUBDIR_CMDS="rm-bin rm-com-sans-c"
+ ;;
+*)
+ SUBDIR_CMDS="rm-bin rm-com"
+ ;;
+esac
+
for SUBDIR in back base fggen fgopt machine rtlbase rtlgen rtlopt; do
if [ -d "${SUBDIR}" ]; then
echo "making ${1} in ${SUBDIR}"
- (cd "${SUBDIR}" && "${CLEANSH}" "${1}" rm-bin rm-com)
+ (cd "${SUBDIR}" && "${CLEANSH}" "${1}" "${SUBDIR_CMDS}")
fi
done
case "${1}" in
-distclean | maintainer-clean)
+distclean | maintainer-clean | c-clean)
rm -f machine compiler.cbf compiler.pkg compiler.sf
- "${CLEANSH}" "${1}" rm-bin rm-com
+ "${CLEANSH}" "${1}" "${SUBDIR_CMDS}"
;;
esac
#!/bin/sh
-# $Id: configure,v 1.12 2007/02/05 18:43:08 cph Exp $
+# $Id: configure,v 1.13 2007/04/04 05:08:18 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
LINKS="compiler.cbf compiler.pkg compiler.sf"
if test "${MACHINE}" = C; then
- LINKS="${LINKS} make.so"
+ LINKS="${LINKS} make.so make.dylib"
else
LINKS="${LINKS} make.com"
fi
dnl Process this file with autoconf to produce a configure script.
AC_INIT([MIT/GNU Scheme], [7.7.91], [bug-mit-scheme@gnu.org], [mit-scheme])
-AC_REVISION([$Id: configure.ac,v 1.6 2007/01/12 06:19:45 cph Exp $])
+AC_REVISION([$Id: configure.ac,v 1.7 2007/04/04 05:08:18 riastradh Exp $])
AC_CONFIG_SRCDIR([microcode/boot.c])
AC_PROG_MAKE_SET
AC_ARG_ENABLE([native-code],
AS_HELP_STRING([--enable-native-code],
[Support native compiled code if available [[yes]]]))
+: ${enable_native_code='yes'}
+
+case ${enable_native_code} in
+c)
+ COMPILE_SCRIPT=c-compile.sh
+ BUILD_BANDS_SCRIPT=c-build-bands.sh
+ INSTALL_COM=:
+ ;;
+*)
+ COMPILE_SCRIPT=compile.sh
+ BUILD_BANDS_SCRIPT=build-bands.sh
+ INSTALL_COM='$(INSTALL_DATA)'
+ ;;
+esac
+
+AC_SUBST(COMPILE_SCRIPT)
+AC_SUBST(BUILD_BANDS_SCRIPT)
+AC_SUBST(INSTALL_COM)
AC_PROG_INSTALL
AC_PROG_LN_S
-# $Id: Makefile.in,v 1.8 2007/01/05 21:19:23 cph Exp $
+# $Id: Makefile.in,v 1.9 2007/04/04 05:08:18 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_COM = @INSTALL_COM@
LN_S = @LN_S@
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
install:
$(mkinstalldirs) $(DESTDIR)$(CREF_DIR)
- $(INSTALL_DATA) *.com $(DESTDIR)$(CREF_DIR)/.
+ @for F in *.com; do \
+ echo "$(INSTALL_COM) $${F} $(DESTDIR)$(CREF_DIR)/.";\
+ $(INSTALL_COM) $${F} $(DESTDIR)$(CREF_DIR)/.;\
+ done
$(INSTALL_DATA) *.bci $(DESTDIR)$(CREF_DIR)/.
$(INSTALL_DATA) cref-unx.pkd $(DESTDIR)$(CREF_DIR)/.
#!/bin/sh
#
-# $Id: Clean.sh,v 1.12 2007/01/05 21:19:23 cph Exp $
+# $Id: Clean.sh,v 1.13 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
exit 1
fi
-../etc/Clean.sh "${1}" rm-bin rm-com
+../etc/Clean.sh "${1}"
-echo "rm -f edwin-unx.* edwin-w32.* edwin-os2.* edwin.bld"
-rm -f edwin-unx.* edwin-w32.* edwin-os2.* edwin.bld
+echo "rm -rf edwin.bld"
+rm -f edwin.bld
+
+echo "rm -f edwin-unx.crf edwin-w32.crf edwin-os2.crf"
+rm -f edwin-unx.crf edwin-w32.crf edwin-os2.crf
+
+echo "rm -f edwin-unx.pkd edwin-w32.pkd edwin-os2.pkd"
+rm -f edwin-unx.pkd edwin-w32.pkd edwin-os2.pkd
+
+echo "rm -f edwin-unx.fre edwin-w32.fre edwin-os2.fre"
+rm -f edwin-unx.fre edwin-w32.fre edwin-os2.fre
exit 0
-# $Id: Makefile.in,v 1.12 2007/01/05 21:19:23 cph Exp $
+# $Id: Makefile.in,v 1.13 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_COM = @INSTALL_COM@
LN_S = @LN_S@
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-rm -rf $(DESTDIR)$(EODIR)
$(mkinstalldirs) $(DESTDIR)$(EODIR)
@for F in $(EDOPTS); do \
- echo "$(INSTALL_DATA) $${F}.com $(DESTDIR)$(EODIR)/.";\
- $(INSTALL_DATA) $${F}.com $(DESTDIR)$(EODIR)/.;\
+ echo "$(INSTALL_COM) $${F}.com $(DESTDIR)$(EODIR)/.";\
+ $(INSTALL_COM) $${F}.com $(DESTDIR)$(EODIR)/.;\
done
@for F in $(EDOPTS); do \
REL="../../SRC/edwin/$${F}.bci";\
#| -*-Scheme-*-
-$Id: autold.scm,v 1.68 2007/01/05 21:19:23 cph Exp $
+$Id: autold.scm,v 1.69 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(hook)
(loop))))
(if entry (loop))))
+
+(define (load-library library)
+ (for-each (lambda (entry)
+ (let ((file (car entry))
+ (environment (->environment (cadr entry)))
+ (purify? (or (null? (cddr entry)) (caddr entry))))
+ (cond (((let-syntax ((ucode-primitive
+ (sc-macro-transformer
+ (lambda (form environment)
+ environment
+ (apply make-primitive-procedure
+ (cdr form))))))
+ (ucode-primitive initialize-c-compiled-block 1))
+ (string-append "edwin_" file))
+ => (lambda (obj)
+ (if purify? (purify obj))
+ (scode-eval obj environment)))
+ (else
+ (load (merge-pathnames file (edwin-binary-directory))
+ environment
+ 'DEFAULT
+ purify?)))))
+ (cdr library))
+ (if (not (memq (car library) loaded-libraries))
+ (set! loaded-libraries
+ (cons (car library) loaded-libraries)))
+ (run-library-load-hooks! (car library)))
\f
;;;; Loading
(let ((force? (if (default-object? force?) #f force?))
(interactive? (if (default-object? interactive?) #f interactive?)))
(let ((do-it
- (lambda (library)
- (let ((directory (edwin-binary-directory)))
- (for-each
- (lambda (entry)
- (load (merge-pathnames (car entry) directory)
- (cadr entry)
- 'DEFAULT
- (or (null? (cddr entry)) (caddr entry))))
- (cdr library)))
- (if (not (memq (car library) loaded-libraries))
- (set! loaded-libraries
- (cons (car library) loaded-libraries)))
- (run-library-load-hooks! (car library)))))
- (let ((do-it
- (lambda ()
- (let ((library (assq name known-libraries)))
- (if (not library)
- (error "Unknown library name:" name))
- (if interactive?
- (with-output-to-transcript-buffer
- (lambda ()
- (bind-condition-handler (list condition-type:error)
- evaluation-error-handler
- (lambda ()
- (fluid-let ((load/suppress-loading-message? #t))
- ((message-wrapper #f "Loading " (car library))
- (lambda ()
- (do-it library))))))))
- (do-it library))))))
- (cond ((not (library-loaded? name))
- (do-it))
- ((not force?)
- (if interactive? (message "Library already loaded: " name)))
- ((not (eq? force? 'NO-WARN))
- (do-it)))))))
+ (lambda ()
+ (let ((library (assq name known-libraries)))
+ (if (not library)
+ (error "Unknown library name:" name))
+ (if interactive?
+ (with-output-to-transcript-buffer
+ (lambda ()
+ (bind-condition-handler (list condition-type:error)
+ evaluation-error-handler
+ (lambda ()
+ (fluid-let ((load/suppress-loading-message? #t))
+ ((message-wrapper #f "Loading " (car library))
+ (lambda ()
+ (load-library library))))))))
+ (load-library library))))))
+ (cond ((not (library-loaded? name))
+ (do-it))
+ ((not force?)
+ (if interactive? (message "Library already loaded: " name)))
+ ((not (eq? force? 'NO-WARN))
+ (do-it))))))
(define-command load-file
"Load the Edwin binary file FILENAME.
#!/bin/sh
#
-# $Id: Clean.sh,v 1.16 2007/01/05 21:19:25 cph Exp $
+# $Id: Clean.sh,v 1.17 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
if [ $# -eq 1 ]; then
COMMAND="${1}"
- KEYWORDS="rm-bin rm-com rm-pkg"
+ case "${COMMAND}" in
+ c-clean)
+ KEYWORDS="rm-bin rm-com-sans-c rm-pkg"
+ ;;
+ *)
+ KEYWORDS="rm-bin rm-com rm-pkg"
+ ;;
+ esac
elif [ $# -ge 2 ]; then
COMMAND="${1}"
shift
clean)
FULL="yes"
;;
-distclean)
+distclean | c-clean)
FULL="yes"
DIST="yes"
;;
echo "rm -f *.com *.bci *.c *.o *.so *.sl *.dylib"
rm -f *.com *.bci *.c *.o *.so *.sl *.dylib
;;
+ rm-com-sans-c)
+ echo "rm -f *.com *.bci *.o *.so *.sl *.dylib"
+ rm -f *.com *.bci *.o *.so *.sl *.dylib
+ ;;
rm-old-pkg)
echo "rm -f *.bco *.bld *.glo *.con *.ldr"
rm -f *.bco *.bld *.glo *.con *.ldr
;;
rm-pkg)
- echo "rm -f *-unx.* *-w32.* *-os2.*"
- rm -f *-unx.* *-w32.* *-os2.*
+ echo "rm -f *-unx.crf *-unx.fre *-unx.pkd"
+ rm -f *-unx.crf *-unx.fre *-unx.pkd
+ echo "rm -f *-w32.crf *-w32.fre *-w32.pkd"
+ rm -f *-w32.crf *-w32.fre *-w32.pkd
+ echo "rm -f *-os2.crf *-os2.fre *-os2.pkd"
+ rm -f *-os2.crf *-os2.fre *-os2.pkd
;;
esac
done
--- /dev/null
+#!/bin/sh
+#
+# $Id: c-boot-compiler.sh,v 1.1 2007/04/04 05:08:19 riastradh Exp $
+#
+# Copyright 2007 Massachusetts Institute of Technology
+#
+# This file is part of MIT/GNU Scheme.
+#
+# MIT/GNU Scheme is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# MIT/GNU Scheme is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with MIT/GNU Scheme; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+set -e
+
+if [ -z "${SCHEME_LARGE}" ]; then
+ SCHEME_LARGE="scheme --heap 3000"
+fi
+
+if [ -z "${SCHEME_COMPILER}" ]; then
+ SCHEME_COMPILER="${SCHEME_LARGE} --compiler"
+fi
+
+# Step 1: Compile CREF and SF natively, so that we can load them
+# independently of the compiler. (There is no standard band that
+# loads them independently.)
+
+${SCHEME_COMPILER} <<EOF
+(with-working-directory-pathname "cref"
+ (lambda ()
+ (load "cref.sf")
+ (load "cref.cbf")
+ (if (not (name->package '(CROSS-REFERENCE)))
+ (load "make"))))
+(with-working-directory-pathname "sf"
+ (lambda ()
+ (load "sf.sf")
+ (load "sf.cbf")))
+EOF
+
+# Step 2: Load CREF and SF, and syntax the compiler configured with
+# the C back end.
+
+# (There *must* be a better way to write this...)
+
+LOAD_SF_CREF=`cat <<EOF
+(for-each (lambda (subdirectory)
+ (with-working-directory-pathname subdirectory
+ (lambda ()
+ (load "make"))))
+ '("cref" "sf"))
+EOF
+`
+
+${SCHEME_LARGE} <<EOF
+${LOAD_SF_CREF}
+(with-working-directory-pathname "compiler"
+ (lambda ()
+ (load "compiler.sf")))
+EOF
+
+# Step 3: Now that the compiler with the C back end is syntaxed and
+# packaged, use the native compiler to compile the bootstrap C
+# compiler natively.
+
+${SCHEME_COMPILER} <<EOF
+(with-working-directory-pathname "compiler"
+ (lambda ()
+ (load "compiler.cbf")))
+EOF
+
+# Step 4: Load up the natively compiled compiler with the C back end,
+# and save a band.
+
+${SCHEME_LARGE} <<EOF
+${LOAD_SF_CREF}
+(with-working-directory-pathname "compiler"
+ (lambda ()
+ (load "machines/C/make")))
+(disk-save "boot-compiler.com")
+EOF
--- /dev/null
+#!/bin/sh
+#
+# $Id: c-build-bands.sh,v 1.1 2007/04/04 05:08:19 riastradh Exp $
+#
+# Copyright 2007 Massachusetts Institute of Technology
+#
+# This file is part of MIT/GNU Scheme.
+#
+# MIT/GNU Scheme is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# MIT/GNU Scheme is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with MIT/GNU Scheme; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+set -e
+
+sh etc/c-initial-bands.sh
+
+microcode/scheme --library lib --compiler <<EOF
+(load "microcode/edwin.so")
+(load-option 'EDWIN)
+(disk-save "lib/all.com")
+EOF
+
+microcode/scheme --library lib --large <<EOF
+(load "microcode/edwin.so")
+(load-option 'EDWIN)
+(disk-save "lib/edwin.com")
+EOF
+
+(
+ cd runtime-check
+ ../microcode/scheme --library ../lib --fasl runtime_make <<EOF
+(load "../microcode/edwin.so")
+(load-option 'EDWIN)
+(load "../microcode/6001.so")
+(load-option 'STUDENT)
+(disk-save "../lib/6001.com")
+EOF
+)
--- /dev/null
+#!/bin/sh
+#
+# $Id: c-bundle.sh,v 1.1 2007/04/04 05:08:19 riastradh Exp $
+#
+# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007 Massachusetts Institute of Technology
+#
+# This file is part of MIT/GNU Scheme.
+#
+# MIT/GNU Scheme is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# MIT/GNU Scheme is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with MIT/GNU Scheme; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+set -e
+
+if [ ! $# -gt 2 ]; then
+ echo "usage: ${0} TYPE SYSTEM FILES ..."
+ exit 1
+fi
+
+TYPE="${1}"
+SYSTEM="${2}"
+shift 2
+
+case "${TYPE}" in
+ library | static)
+ ;;
+ *)
+ echo "usage: ${0} TYPE SYSTEM FILES ..."
+ echo " TYPE must be \`library' or \`static'."
+ exit 1
+ ;;
+esac
+
+(grep '^DECLARE_COMPILED_CODE' "${@}" && \
+ grep '^DECLARE_COMPILED_DATA' "${@}" && \
+ grep '^DECLARE_DATA_OBJECT' "${@}") \
+| sed -e 's/.*:/ /' >${SYSTEM}.h
+
+cat <<EOF >"${SYSTEM}.c"
+
+#define LIARC_IN_MICROCODE
+#include "liarc.h"
+
+#undef DECLARE_COMPILED_CODE
+#undef DECLARE_COMPILED_DATA
+#undef DECLARE_COMPILED_DATA_NS
+#undef DECLARE_DATA_OBJECT
+
+#define DECLARE_COMPILED_CODE(name, nentries, decl_code, code) \\
+extern int EXFUN (decl_code, (void)); \\
+extern SCHEME_OBJECT * EXFUN (code, (SCHEME_OBJECT *, entry_count_t));
+
+#define DECLARE_COMPILED_DATA(name, decl_data, data) \\
+extern int EXFUN (decl_data, (void)); \\
+extern SCHEME_OBJECT * EXFUN (data, (entry_count_t));
+
+#define DECLARE_COMPILED_DATA_NS(name, data) \\
+extern SCHEME_OBJECT * EXFUN (data, (entry_count_t));
+
+#define DECLARE_DATA_OBJECT(name, data) \\
+extern SCHEME_OBJECT EXFUN (data, (void));
+
+#include "${SYSTEM}.h"
+
+#undef DECLARE_COMPILED_CODE
+#undef DECLARE_COMPILED_DATA
+#undef DECLARE_COMPILED_DATA_NS
+#undef DECLARE_DATA_OBJECT
+EOF
+
+case "${TYPE}" in
+ library)
+ cat <<EOF >>"${SYSTEM}.c"
+
+#define DECLARE_COMPILED_CODE(name, nentries, decl_code, code) \\
+ if (0 != (declare_compiled_code (name, nentries, decl_code, code))) \\
+ return ((char *) NULL);
+
+#define DECLARE_COMPILED_DATA(name, decl_data, data) \\
+ if (0 != (declare_compiled_code (name, decl_data, data))) \\
+ return ((char *) NULL);
+
+#define DECLARE_COMPILED_DATA_NS(name, data) \\
+ if (0 != (declare_compiled_data_ns (name, data))) \\
+ return ((char *) NULL);
+
+#define DECLARE_DATA_OBJECT(name, data) \\
+ if (0 != (declare_data_object (name, data))) \\
+ return ((char *) NULL);
+
+char *
+DEFUN_VOID (dload_initialize_file)
+{
+#include "${SYSTEM}.h"
+ return (0);
+}
+EOF
+ ;;
+ static)
+ cat <<EOF >>"${SYSTEM}.c"
+
+#define DECLARE_COMPILED_CODE(name, nentries, decl_code, code) \\
+ result = (declare_compiled_code (name, nentries, decl_code, code)); \\
+ if (result != 0) \\
+ return (result);
+
+#define DECLARE_COMPILED_DATA(name, decl_data, data) \\
+ result = (declare_compiled_data (name, decl_data, data)); \\
+ if (result != 0) \\
+ return (result);
+
+#define DECLARE_COMPILED_DATA_NS(name, data) \\
+ result = (declare_compiled_data_ns (name, data)); \\
+ if (result != 0) \\
+ return (result);
+
+#define DECLARE_DATA_OBJECT(name, data) \\
+ result = (declare_data_object (name, data)); \\
+ if (result != 0) \\
+ return (result);
+
+int
+DEFUN_VOID (initialize_compiled_code_blocks)
+{
+ int result;
+#include "${SYSTEM}.h"
+ return (0);
+}
+EOF
+ ;;
+esac
--- /dev/null
+#| -*-Scheme-*-
+
+$Id: c-compile.scm,v 1.1 2007/04/04 05:08:19 riastradh Exp $
+
+Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2007 Massachusetts Institute of Technology
+
+This file is part of MIT/GNU Scheme.
+
+MIT/GNU Scheme is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+MIT/GNU Scheme is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with MIT/GNU Scheme; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
+USA.
+
+|#
+
+;;; This generates correct debugging information for the parts of the
+;;; Scheme code that were statically linked to the microcode, and also
+;;; compiles the rest of the system that was not statically linked.
+
+;;; (Ideally, this file would be identical to compile.scm. But we do
+;;; not live in an ideal world, and we shall have to settle for a file
+;;; that is merely very similar. The main difference is that we need
+;;; to avoid running the C compiler on some of the files but not
+;;; others. This is bogus.)
+
+(fluid-let ((compiler:invoke-c-compiler? #f))
+ (define (compile-package-descriptions subsystem)
+ (for-each
+ (lambda (os-suffix)
+ (cbf (pathname-new-type (string-append subsystem "-" os-suffix)
+ "pkd")))
+ '("unx" "w32" "os2")))
+ (with-working-directory-pathname "cref"
+ (lambda ()
+ (load "cref.sf")
+ (load "cref.cbf")
+ ;; This conditional is probably not necessary.
+ (if (not (name->package '(CROSS-REFERENCE)))
+ (load "make"))))
+ (for-each
+ (lambda (subsystem)
+ (with-working-directory-pathname subsystem
+ (lambda ()
+ (load (pathname-new-type subsystem "sf"))
+ (load (pathname-new-type subsystem "cbf"))
+ (if (string=? subsystem "compiler") ;++ kludge
+ (cbf "compiler-unx.pkd")
+ (compile-package-descriptions subsystem)))))
+ '("runtime" "win32" "sf" "compiler" "edwin" "6001"))
+ (with-working-directory-pathname "star-parser"
+ (lambda ()
+ (load "compile")
+ (compile-package-descriptions "parser")))
+ (for-each (lambda (subsystem)
+ (load (merge-pathnames "compile"
+ (pathname-as-directory subsystem)))
+ (with-working-directory-pathname subsystem
+ (lambda ()
+ (compile-package-descriptions subsystem))))
+ '("sos" "imail" "xml" "ssp" "xdoc")))
--- /dev/null
+#!/bin/sh
+#
+# $Id: c-compile.sh,v 1.1 2007/04/04 05:08:19 riastradh Exp $
+#
+# Copyright 2007 Massachusetts Institute of Technology
+#
+# This file is part of MIT/GNU Scheme.
+#
+# MIT/GNU Scheme is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# MIT/GNU Scheme is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with MIT/GNU Scheme; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+set -e
+
+if [ $# -ge 1 ]; then
+ DIR="${1}"
+elif [ -r "./etc/c-compile.scm" ]; then
+ DIR="."
+else
+ echo "usage: ${0} DIRECTORY"
+ exit 1
+fi
+
+if [ -z "${SCHEME_COMPILER}" ]; then
+ (
+ cd "${DIR}"
+ sh etc/c-initial-bands.sh
+ )
+ SCHEME_COMPILER="${DIR}/microcode/scheme --library ${DIR}/lib"
+ SCHEME_COMPILER="${SCHEME_COMPILER} --compiler --heap 3000"
+fi
+
+${SCHEME_COMPILER} < "${DIR}/etc/c-compile.scm"
--- /dev/null
+#!/bin/sh
+#
+# $Id: c-initial-bands.sh,v 1.1 2007/04/04 05:08:19 riastradh Exp $
+#
+# Copyright 2007 Massachusetts Institute of Technology
+#
+# This file is part of MIT/GNU Scheme.
+#
+# MIT/GNU Scheme is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# MIT/GNU Scheme is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with MIT/GNU Scheme; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+set -e
+
+(
+ cd runtime
+ ../microcode/scheme --library ../lib --fasl runtime_make <<EOF
+(disk-save "../lib/runtime.com")
+EOF
+)
+
+microcode/scheme --library lib --large <<EOF
+(load "microcode/sf+compiler.so")
+(load-option 'SF)
+(with-working-directory-pathname "compiler"
+ (lambda ()
+ (load "machines/C/make")))
+(load-option '*PARSER)
+(disk-save "lib/compiler.com")
#| -*-Scheme-*-
-$Id: script.scm,v 1.4 2007/01/05 21:19:25 cph Exp $
+$Id: c-prepare.scm,v 1.1 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|#
-;;;; Program to compile MIT/GNU Scheme
-
-;;; This is used to compile a part of the system written in Scheme.
-;;; This is the part of the system statically linked into the
-;;; microcode when using the C back end of the compiler.
+;;; This compiles the Scheme code that will be statically linked to
+;;; the microcode when using the C back end.
(fluid-let ((compiler:invoke-c-compiler? #f))
+ (define (compile-package-descriptions subsystem)
+ (for-each (lambda (os-suffix)
+ (cbf (pathname-new-type (string-append subsystem "-" os-suffix)
+ "pkd")))
+ '("unx" "w32" "os2")))
(with-working-directory-pathname "microcode"
(lambda ()
(if (or (not (file-exists? "utabmd.bin"))
(file-modification-time-indirect "utabmd.bin")))
(sf "utabmd"))
(cbf "utabmd")))
- (for-each (lambda (dir)
- (with-working-directory-pathname dir
+ (for-each (lambda (subsystem)
+ (with-working-directory-pathname subsystem
(lambda ()
- (load (string-append dir ".sf"))
- (load (string-append dir ".cbf"))
- (cbf (string-append dir "-unx.pkd")))))
- '("runtime" "sf" "cref" "compiler"))
+ (load (pathname-new-type subsystem "sf"))
+ (load (pathname-new-type subsystem "cbf"))
+ (compile-package-descriptions subsystem))))
+ '("runtime" "sf" "cref"))
+ (with-working-directory-pathname "compiler"
+ (lambda ()
+ (load "compiler.sf")
+ (load "compiler.cbf")
+ (cbf "compiler-unx.pkd")))
(with-working-directory-pathname "star-parser"
(lambda ()
- (load "compile.scm")
- (cbf "parser-unx.pkd"))))
\ No newline at end of file
+ (load "compile")
+ (compile-package-descriptions "parser"))))
--- /dev/null
+#!/bin/sh
+#
+# $Id: c-prepare.sh,v 1.1 2007/04/04 05:08:19 riastradh Exp $
+#
+# Copyright 2007 Massachusetts Institute of Technology
+#
+# This file is part of MIT/GNU Scheme.
+#
+# MIT/GNU Scheme is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# MIT/GNU Scheme is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with MIT/GNU Scheme; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+set -e
+
+if [ $# -ge 1 ]; then
+ DIR="${1}"
+elif [ -r "./etc/c-prepare.scm" ]; then
+ DIR="."
+else
+ echo "usage: ${0} DIRECTORY"
+ exit 1
+fi
+
+if [ -z "${SCHEME_LARGE}" ]; then
+ SCHEME_LARGE="scheme --heap 3000"
+fi
+
+${SCHEME_LARGE} --band boot-compiler.com < "${DIR}/etc/c-prepare.scm"
#| -*-Scheme-*-
-$Id: optiondb.scm,v 1.17 2007/01/05 21:19:25 cph Exp $
+$Id: optiondb.scm,v 1.18 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(pathname-new-type name (car type)))))))))
(lambda ()
(if (not (name->package package-name))
- (let dir-loop ((dirs dirs))
- (if (pair? dirs)
- (let ((directory
- (merge-pathnames place
- (pathname-as-directory (car dirs)))))
- (if (file-directory? directory)
- (let file-loop ((files files))
- (if (pair? files)
- (if (test
- (merge-pathnames
- (car files)
- (pathname-as-directory directory)))
- (with-working-directory-pathname directory
- (lambda ()
- (load (car files) '(RUNTIME))))
- (file-loop (cdr files)))
- (dir-loop (cdr dirs))))
- (dir-loop (cdr dirs))))
- (error "Unable to find package directory:" place)))))))
+ (begin
+ (ignore-errors
+ (lambda ()
+ (load (merge-pathnames
+ place
+ (system-library-directory-pathname "shared")))))
+ (let dir-loop ((dirs dirs))
+ (if (pair? dirs)
+ (let ((directory
+ (merge-pathnames place
+ (pathname-as-directory (car dirs)))))
+ (if (file-directory? directory)
+ (let file-loop ((files files))
+ (if (pair? files)
+ (if (test
+ (merge-pathnames
+ (car files)
+ (pathname-as-directory directory)))
+ (with-working-directory-pathname directory
+ (lambda ()
+ (load (car files) '(RUNTIME))))
+ (file-loop (cdr files)))
+ (dir-loop (cdr dirs))))
+ (dir-loop (cdr dirs))))
+ (error "Unable to find package directory:" place))))))))
\f
(define-load-option 'EDWIN
(guarded-system-loader '(edwin) "edwin"))
-# $Id: Makefile.in,v 1.8 2007/01/05 21:19:25 cph Exp $
+# $Id: Makefile.in,v 1.9 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_COM = @INSTALL_COM@
LN_S = @LN_S@
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
install:
$(mkinstalldirs) $(DESTDIR)$(IMAIL_DIR)
- $(INSTALL_DATA) *.com $(DESTDIR)$(IMAIL_DIR)/.
+ @for F in *.com; do \
+ echo "$(INSTALL_COM) $${F} $(DESTDIR)$(IMAIL_DIR)/.";\
+ $(INSTALL_COM) $${F} $(DESTDIR)$(IMAIL_DIR)/.;\
+ done
$(INSTALL_DATA) *.bci $(DESTDIR)$(IMAIL_DIR)/.
$(INSTALL_DATA) imail-unx.pkd $(DESTDIR)$(IMAIL_DIR)/.
$(INSTALL_DATA) $(srcdir)/load.scm $(DESTDIR)$(IMAIL_DIR)/.
#| -*-Scheme-*-
-$Id: load.scm,v 1.47 2007/03/11 01:11:41 riastradh Exp $
+$Id: load.scm,v 1.48 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(load-option 'WT-TREE)
(with-working-directory-pathname (directory-pathname (current-load-pathname))
(lambda ()
+ (declare-shared-library "imail" (lambda () #t))
(fluid-let ((*allow-package-redefinition?* #t))
(load-package-set "imail"))))
(add-subsystem-identification! "IMAIL" '(1 21))
\ No newline at end of file
#!/bin/sh
#
-# $Id: Clean.sh,v 1.6 2007/01/05 21:19:25 cph Exp $
+# $Id: Clean.sh,v 1.7 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
fi
case "${1}" in
-mostlyclean | clean | distclean)
+mostlyclean | clean | distclean | c-clean)
;;
maintainer-clean)
if [ ! -f Makefile ] && [ -f configure ]; then
+++ /dev/null
-/* -*-C-*-
-
-$Id: compinit.c,v 1.10 2007/01/05 21:19:25 cph Exp $
-
-Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
- 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007 Massachusetts Institute of Technology
-
-This file is part of MIT/GNU Scheme.
-
-MIT/GNU Scheme is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or (at
-your option) any later version.
-
-MIT/GNU Scheme is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with MIT/GNU Scheme; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
-USA.
-
-*/
-
-#define LIARC_IN_MICROCODE
-#include "liarc.h"
-
-#undef DECLARE_COMPILED_CODE
-#undef DECLARE_COMPILED_DATA
-#undef DECLARE_COMPILED_DATA_NS
-#undef DECLARE_DATA_OBJECT
-
-#define DECLARE_COMPILED_CODE(name, nentries, decl_code, code) \
-extern int EXFUN (decl_code, (void)); \
-extern SCHEME_OBJECT * EXFUN (code, (SCHEME_OBJECT *, entry_count_t));
-
-#define DECLARE_COMPILED_DATA(name, decl_data, data) \
-extern int EXFUN (decl_data, (void)); \
-extern SCHEME_OBJECT * EXFUN (data, (entry_count_t));
-
-#define DECLARE_COMPILED_DATA_NS(name, data) \
-extern SCHEME_OBJECT * EXFUN (data, (entry_count_t));
-
-#define DECLARE_DATA_OBJECT(name, data) \
-extern SCHEME_OBJECT EXFUN (data, (void));
-
-#include "compinit.h"
-
-#undef DECLARE_COMPILED_CODE
-#undef DECLARE_COMPILED_DATA
-#undef DECLARE_COMPILED_DATA_NS
-#undef DECLARE_DATA_OBJECT
-
-#define DECLARE_COMPILED_CODE(name, nentries, decl_code, code) \
- result = (declare_compiled_code (name, nentries, decl_code, code)); \
- if (result != 0) \
- return (result);
-
-#define DECLARE_COMPILED_DATA(name, decl_data, data) \
- result = (declare_compiled_data (name, decl_data, data)); \
- if (result != 0) \
- return (result);
-
-#define DECLARE_COMPILED_DATA_NS(name, data) \
- result = (declare_compiled_data_ns (name, data)); \
- if (result != 0) \
- return (result);
-
-#define DECLARE_DATA_OBJECT(name, data) \
- result = (declare_data_object (name, data)); \
- if (result != 0) \
- return (result);
-
-int
-DEFUN_VOID (initialize_compiled_code_blocks)
-{
- int result;
-#include "compinit.h"
- return (0);
-}
dnl Process this file with autoconf to produce a configure script.
AC_INIT([MIT/GNU Scheme microcode], [14.18], [bug-mit-scheme@gnu.org], [mit-scheme])
-AC_REVISION([$Id: configure.ac,v 1.38 2007/02/24 17:09:42 cph Exp $])
+AC_REVISION([$Id: configure.ac,v 1.39 2007/04/04 05:08:19 riastradh Exp $])
AC_CONFIG_SRCDIR([boot.c])
AC_CONFIG_HEADERS([config.h])
AC_PROG_MAKE_SET
MODULE_RULES=/dev/null
MODULE_CFLAGS="-DCOMPILE_AS_MODULE"
MODULE_LDFLAGS=
-LIARC_RULES_1=/dev/null
-LIARC_RULES_2=/dev/null
+LIARC_VARS=/dev/null
+LIARC_RULES=/dev/null
dnl Checks for programs.
AC_PROG_CC
AC_PROG_MAKE_SET
if test ${GCC} = yes; then
if test ${enable_debugging} = no; then
- CFLAGS=-O3
+ CFLAGS="-fPIC -O3"
else
- CFLAGS="-O0 -g"
+ CFLAGS="-fPIC -O0 -g"
LDFLAGS="${LDFLAGS} -g"
fi
CFLAGS="${CFLAGS} -Wall"
AC_DEFINE([COMPILE_FOR_STATIC_LINKING], [1],
[Define to 1 for static compilation of C native code.])
OPTIONAL_BASES="${OPTIONAL_BASES} cmpauxmd unstackify compinit"
- LIARC_RULES_1=liarc-rules-1
- LIARC_RULES_2=makegen/liarc-rules-2
+ LIARC_VARS=liarc-vars
+ LIARC_RULES=liarc-rules
;;
*)
AC_MSG_RESULT([yes, for ${SCM_ARCH}])
AC_SUBST_FILE([MODULE_RULES])
AC_SUBST([MODULE_CFLAGS])
AC_SUBST([MODULE_LDFLAGS])
-AC_SUBST_FILE([LIARC_RULES_1])
-AC_SUBST_FILE([LIARC_RULES_2])
+AC_SUBST_FILE([LIARC_VARS])
+AC_SUBST_FILE([LIARC_RULES])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
+++ /dev/null
-#!/bin/sh
-grep \^DECLARE_COMPILED_CODE "${@}" | sed -e 's/.*:/ /'
-grep \^DECLARE_COMPILED_DATA "${@}" | sed -e 's/.*:/ /'
-grep \^DECLARE_DATA_OBJECT "${@}" | sed -e 's/.*:/ /'
# -*- Makefile -*-
#
-# $Id: Makefile.in.in,v 1.44 2007/02/24 17:09:46 cph Exp $
+# $Id: Makefile.in.in,v 1.45 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
LINK_MODULE = $(LINK) $(MODULE_LDFLAGS)
MODULE_LIBS = -lc
-# **** Rules for C back end (part 1) ****
+# **** Rules for C back end (part 1, variables) ****
-@LIARC_RULES_1@
+@LIARC_VARS@
# **** Program definitions ****
ALL_DATA = $(aux_DATA)
MOSTLYCLEAN_FILES = *.o cmpauxmd.s usrdef.c compinit.h utabmd.c utabmd.bci \
- bchdef.c $(LIARC_OBJECTS)
+ bchdef.c $(LIARC_OBJECTS) $(LIARC_BUNDLE_CLEAN_FILES)
CLEAN_FILES = $(ALL_PROGRAMS) $(ALL_LIBS) $(ALL_DATA) $(EXTRA_PROGRAMS)
DISTCLEAN_FILES = Makefile config.h config.cache config.log config.status \
cmpauxmd.m4 cmpauxmd.c cmpintmd.h makegen-cc
-MAINTAINER_CLEAN_FILES = Makefile.in Makefile.deps liarc-rules-1 \
+MAINTAINER_CLEAN_FILES = Makefile.in Makefile.deps liarc-vars liarc-rules \
config.h.in configure TAGS
+C_CLEAN_FILES = *.o usrdef.c compinit.h utabmd.bci bchdef.c $(LIARC_OBJECTS) \
+ $(LIARC_BUNDLE_CLEAN_FILES) $(ALL_PROGRAMS) $(ALL_LIBS) \
+ $(EXTRA_PROGRAMS) $(DISTCLEAN_FILES)
+
# **** Implicit rules ****
.SUFFIXES:
default-target: $(ALL_PROGRAMS) $(ALL_LIBS)
-all: $(ALL_PROGRAMS) $(ALL_LIBS) $(ALL_DATA)
+all: $(ALL_PROGRAMS) $(ALL_LIBS) $(ALL_DATA) $(LIARC_BOOT_BUNDLES)
+
+liarc-bundles: all $(LIARC_BUNDLES)
scheme: $(scheme_OBJECTS) $(scheme_DEPENDENCIES)
-rm -f $@
-rm -f $(MAINTAINER_CLEAN_FILES)
( cd cmpauxmd && $(MAKE) $@ )
+c-clean:
+ -rm -f $(C_CLEAN_FILES)
+ -rm -rf autom4te.cache
+
install: install-binPROGRAMS install-auxPROGRAMS install-auxLIBS \
- install-auxDATA
+ install-auxDATA $(LIARC_INSTALL)
install-binPROGRAMS: $(bin_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(bindir)
done
.PHONY: default-target
-.PHONY: all tags TAGS mostlyclean clean distclean maintainer-clean
-.PHONY: install install_binPROGRAMS install_auxPROGRAMS install_auxDATA
+.PHONY: all tags TAGS mostlyclean clean distclean maintainer-clean c-clean
+.PHONY: install install-binPROGRAMS install-auxPROGRAMS install-auxDATA
# **** File dependencies ****
@(write-dependencies)@
-# **** Rules for C back end (part 2) ****
+# **** Rules for C back end (part 2, rules) ****
-@LIARC_RULES_2@
+@LIARC_RULES@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
--- /dev/null
+#| -*-Scheme-*-
+
+$Id: bundles-liarc.scm,v 1.1 2007/04/04 05:08:19 riastradh Exp $
+
+Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2007 Massachusetts Institute of Technology
+
+This file is part of MIT/GNU Scheme.
+
+MIT/GNU Scheme is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+MIT/GNU Scheme is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with MIT/GNU Scheme; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
+USA.
+
+|#
+
+;;;; Bundles for LIARC to be linked into dynamically loadable shared
+;;;; objects.
+
+;;; Format: (bundle (package*) source-directoory*)
+;;; bundle ::= string
+;;; package ::= pathname | (pathname os-type*)
+;;; source-directory ::= (pathname exclude-filename*)
+
+;++ This is fragile: excluding filenames is bogus. But it will work
+;++ until we get a real module system.
+
+("sf+compiler"
+ ("../sf/sf"
+ ("../compiler/compiler" "unx")
+ "../star-parser/parser")
+ ("../sf")
+ ("../compiler")
+ ("../compiler/base")
+ ("../compiler/back")
+ ("../compiler/fggen")
+ ("../compiler/fgopt")
+ ("../compiler/machines/C")
+ ("../compiler/rtlbase")
+ ("../compiler/rtlgen")
+ ("../compiler/rtlopt")
+ ("../star-parser" "compile" "ed-ffi" "load" "test-parser"))
+
+("edwin"
+ ("../edwin/edwin")
+ ("../edwin" "decls"))
+
+;; These are listed alphabetically; I don't think the order matters.
+
+("6001"
+ ("../6001/6001")
+ ("../6001" "make"))
+
+("cref"
+ ("../cref/cref")
+ ("../cref" "make"))
+
+("imail"
+ ("../imail/imail")
+ ("../imail" "compile" "ed-ffi" "fake-env" "load"))
+
+("sos"
+ ("../sos/sos")
+ ("../sos" "compile" "ed-ffi" "load" "microbench"))
+
+("ssp"
+ ("../ssp/ssp")
+ ("../ssp" "compile" "load"))
+
+("xdoc"
+ ("../xdoc/xdoc")
+ ("../xdoc" "compile" "load" "validate-xdoc"))
+
+("xml"
+ ("../xml/xml")
+ ("../xml"
+ "compile" "ed-ffi" "load" "parser-macro" "test-parser" "test-turtle" "xpath"))
#| -*-Scheme-*-
-$Id: dirs-liarc.scm,v 1.2 2007/01/12 02:57:10 cph Exp $
+$Id: dirs-liarc.scm,v 1.3 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;;; exclusions in the cdr.
("../runtime")
-("../sf")
-("../cref")
-("../compiler")
-("../compiler/back")
-("../compiler/base")
-("../compiler/fggen")
-("../compiler/fgopt")
-("../compiler/machines/C")
-("../compiler/rtlbase")
-("../compiler/rtlgen")
-("../compiler/rtlopt")
-("../star-parser" "compile" "ed-ffi" "load" "test-parser")
# -*- Makefile -*-
#
-# $Id: liarc-rules-2,v 1.2 2007/01/12 02:57:10 cph Exp $
+# $Id: liarc-base-rules,v 1.1 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
compinit.o: compinit.c compinit.h $(LIARC_HEAD_FILES)
unstackify.o: unstackify.c stackops.h $(LIARC_HEAD_FILES)
-compinit.h: $(LIARC_SOURCES) Makefile
+compinit.c compinit.h: $(LIARC_SOURCES) Makefile
rm -f $@
- ./make-compinit $(LIARC_SOURCES) > $@
+ sh ../etc/c-bundle.sh static compinit $(LIARC_SOURCES)
+
+install-liarc-bundles: $(LIARC_BUNDLES)
+ $(mkinstalldirs) $(DESTDIR)$(AUXDIR)/shared
+ @for p in $(LIARC_BUNDLES); do \
+ if test -f $$p; then \
+ echo "$(INSTALL_DATA) $$p $(DESTDIR)$(AUXDIR)/shared/."; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(AUXDIR)/shared/.; \
+ fi; \
+ done
+
+.PHONY: install-liarc-bundles
#| -*-Scheme-*-
-$Id: makegen.scm,v 1.15 2007/01/12 02:57:10 cph Exp $
+$Id: makegen.scm,v 1.16 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(load-option 'SYNCHRONOUS-SUBPROCESS)
\f
(define (generate-makefile)
+ (generate-liarc-files)
(let ((file-lists
(map (lambda (pathname)
(cons (pathname-name pathname)
(loop
(if (char=? #\newline char)
0
- (+ column 1)))))))))))))
- (call-with-output-file "liarc-rules-1"
+ (+ column 1))))))))))))))
+
+(define (write-header output)
+ (write-string "# This file automatically generated at " output)
+ (write-string (universal-time->local-iso8601-string (get-universal-time))
+ output)
+ (write-string "." output)
+ (newline output)
+ (newline output))
+\f
+(define (generate-liarc-files)
+ (generate-liarc-variables)
+ (generate-liarc-rules))
+
+(define (generate-liarc-variables)
+ (call-with-output-file "liarc-vars"
(lambda (output)
(write-header output)
(write-rule "LIARC_HEAD_FILES"
output)
(newline output)
(newline output)
- (let ((files
- (cons "utabmd"
- (enumerate-directories
- (read-file "makegen/dirs-liarc.scm")))))
- (write-rule "LIARC_SOURCES" "=" (files+suffix files ".c") output)
- (newline output)
- (newline output)
- (write-rule "LIARC_OBJECTS" "=" (files+suffix files ".o") output)
- (newline output)))))
+ (write-rule "LIARC_BOOT_BUNDLES" "=" '("sf+compiler.so") output)
+ (newline output)
+ (write-rule "LIARC_INSTALL" "=" '("install-liarc-bundles") output)
+ (newline output)
+ (generate-liarc-static-variables output)
+ (generate-liarc-dynamic-variables output))))
-(define (write-header output)
- (write-string "# This file automatically generated at " output)
- (write-string (universal-time->local-iso8601-string (get-universal-time))
- output)
- (write-string "." output)
- (newline output)
+(define (generate-liarc-rules)
+ (call-with-output-file "liarc-rules"
+ (lambda (output)
+ (write-header output)
+ (generate-liarc-static-rules output)
+ (generate-liarc-dynamic-rules output))))
+
+(define (generate-liarc-static-variables output)
+ (let ((files (liarc-static-files)))
+ (write-rule "LIARC_SOURCES" "=" (files+suffix files ".c") output)
+ (newline output)
+ (newline output)
+ (write-rule "LIARC_OBJECTS" "=" (files+suffix files ".o") output)
+ (newline output)
+ (newline output)))
+
+(define (generate-liarc-static-rules output)
+ (call-with-input-file "makegen/liarc-base-rules"
+ (lambda (input)
+ (let loop ()
+ (let ((char (read-char input)))
+ (if (not (eof-object? char))
+ (begin (write-char char output)
+ (loop)))))))
(newline output))
\f
+(define (generate-liarc-dynamic-variables output)
+ (let ((bundles (liarc-dynamic-bundles)))
+ (write-rule "LIARC_BUNDLE_CLEAN_FILES"
+ "="
+ (append-map (lambda (bundle)
+ (map (lambda (suffix)
+ (string-append (car bundle) suffix))
+ '("-init.h" "-init.c" "-init.o" ".so")))
+ bundles)
+ output)
+ (newline output)
+ (write-rule "LIARC_BUNDLES"
+ "="
+ ;; Adding "all" to this list is a kludge for debugging
+ ;; info. Exactly what this kludge accomplishes I have
+ ;; totally forgotten.
+ (cons "all"
+ (map (lambda (bundle)
+ (string-append (car bundle) ".so"))
+ (liarc-dynamic-bundles)))
+ output)))
+
+(define (generate-liarc-dynamic-rules output)
+ (for-each (lambda (bundle)
+ (let ((files
+ (append (append-map package-description-files
+ (cadr bundle))
+ (enumerate-directories (cddr bundle)))))
+ (write-rule (string-append (car bundle) ".so")
+ ":"
+ (files+suffix files ".o")
+ output)
+ (newline output)
+ (let ((write-command
+ (lambda (prefix suffix)
+ (write-char #\tab output)
+ (write-string prefix output)
+ (write-string (car bundle) output)
+ (write-string suffix output)
+ (newline output))))
+ (write-command "$(SHELL) ../etc/c-bundle.sh library "
+ "-init $(^:.o=.c)")
+ (write-command "$(COMPILE_MODULE) -c " "-init.c")
+ (write-command "$(LINK_MODULE) " "-init.o $^")
+ (write-command "rm -f " "-init.h")
+ (write-command "rm -f " "-init.c")
+ (write-command "rm -f " "-init.o"))
+ (newline output)))
+ (liarc-dynamic-bundles)))
+\f
+(define (liarc-static-files)
+ (append '("utabmd")
+ (append-map package-description-files
+ (read-file "makegen/pkds-liarc.scm"))
+ (enumerate-directories (read-file "makegen/dirs-liarc.scm"))))
+
+(define (liarc-dynamic-bundles)
+ (read-file "makegen/bundles-liarc.scm"))
+
+(define (enumerate-directories specs)
+ (map (lambda (path)
+ (enough-namestring (pathname-new-type path #f)))
+ (append-map (lambda (spec)
+ (let ((dir (pathname-as-directory (car spec))))
+ (if (file-directory? dir)
+ (delete-matching-items
+ (directory-read (merge-pathnames "*.scm" dir))
+ (lambda (path)
+ (member (pathname-name path) (cdr spec))))
+ (begin
+ (warn "Can't read directory:" dir)
+ '()))))
+ specs)))
+
+(define os-pkd-suffixes '("unx" "w32" "os2"))
+
+(define (package-description-files descriptor)
+ (receive (filename suffixes)
+ (if (pair? descriptor)
+ (values (car descriptor) (cdr descriptor))
+ (values descriptor os-pkd-suffixes))
+ (map (lambda (suffix)
+ (string-append filename "-" suffix))
+ suffixes)))
+\f
(define (interpret-command command column file-lists output)
(let ((malformed (lambda () (error "Malformed command:" command))))
(if (not (and (pair? command)
(else
(error "Unknown command:" command)))))))
-(define (enumerate-directories specs)
- (map (lambda (path)
- (enough-namestring (pathname-new-type path #f)))
- (append-map (lambda (spec)
- (let ((dir (pathname-as-directory (car spec))))
- (if (file-directory? dir)
- (delete-matching-items
- (directory-read (merge-pathnames "*.scm" dir))
- (lambda (path)
- (member (pathname-name path) (cdr spec))))
- (begin
- (warn "Can't read directory:" dir)
- '()))))
- specs)))
-
(define (files+suffix files suffix)
(map (lambda (file)
(string-append file suffix))
--- /dev/null
+#| -*-Scheme-*-
+
+$Id: pkds-liarc.scm,v 1.1 2007/04/04 05:08:19 riastradh Exp $
+
+Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2007 Massachusetts Institute of Technology
+
+This file is part of MIT/GNU Scheme.
+
+MIT/GNU Scheme is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+MIT/GNU Scheme is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with MIT/GNU Scheme; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
+USA.
+
+|#
+
+;;;; Pathnames of package description files
+
+;;; Format is either the filename of the package description file, or
+;;; a pair of that and a list of all of the OS types we want.
+
+"../runtime/runtime"
-# $Id: Makefile.in,v 1.12 2007/01/05 21:19:27 cph Exp $
+# $Id: Makefile.in,v 1.13 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_COM = @INSTALL_COM@
LN_S = @LN_S@
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-rm -rf $(DESTDIR)$(RODIR)
$(mkinstalldirs) $(DESTDIR)$(RODIR)
@for F in $(RUNOPTS); do \
- echo "$(INSTALL_DATA) $${F}.com $(DESTDIR)$(RODIR)/.";\
- $(INSTALL_DATA) $${F}.com $(DESTDIR)$(RODIR)/.;\
+ echo "$(INSTALL_COM) $${F}.com $(DESTDIR)$(RODIR)/.";\
+ $(INSTALL_COM) $${F}.com $(DESTDIR)$(RODIR)/.;\
done
@for F in $(RUNOPTS); do \
REL="../SRC/runtime/$${F}.bci";\
#| -*-Scheme-*-
-$Id: packag.scm,v 14.50 2007/01/05 21:19:28 cph Exp $
+$Id: packag.scm,v 14.51 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
;; program runs before it gets purified, some of its run-time state
;; can end up being purified also.
(flush-purification-queue!))
-
+\f
(define (package-set-pathname pathname #!optional os-type)
(make-pathname (pathname-host pathname)
(pathname-device pathname)
(value (prim name)))
(if (or (not value) load/suppress-loading-message?)
value
- (let ((port (notification-output-port)))
- (fresh-line port)
- (write-string ";Initialized " port)
- (write name port)
- value))))))
+ (begin
+ (write-notification-line
+ (lambda (port)
+ (write-string "Initialized " port)
+ (write name port)))
+ value))))))
\f
(define-integrable (make-package-file tag version descriptions loads)
(vector tag version descriptions loads))
-# $Id: Makefile.in,v 1.8 2007/01/05 21:19:29 cph Exp $
+# $Id: Makefile.in,v 1.9 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_COM = @INSTALL_COM@
LN_S = @LN_S@
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
install:
$(mkinstalldirs) $(DESTDIR)$(SOS_DIR)
- $(INSTALL_DATA) *.com $(DESTDIR)$(SOS_DIR)/.
+ @for F in *.com; do \
+ echo "$(INSTALL_COM) $${F} $(DESTDIR)$(SOS_DIR)/.";\
+ $(INSTALL_COM) $${F} $(DESTDIR)$(SOS_DIR)/.;\
+ done
$(INSTALL_DATA) *.bci $(DESTDIR)$(SOS_DIR)/.
$(INSTALL_DATA) sos-unx.pkd $(DESTDIR)$(SOS_DIR)/.
$(INSTALL_DATA) $(srcdir)/load.scm $(DESTDIR)$(SOS_DIR)/.
#| -*-Scheme-*-
-$Id: load.scm,v 1.18 2007/01/05 21:19:29 cph Exp $
+$Id: load.scm,v 1.19 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(with-working-directory-pathname (directory-pathname (current-load-pathname))
(lambda ()
+ (declare-shared-library "sos" (lambda () #t))
(load-package-set "sos")))
(add-subsystem-identification! "SOS" '(1 8))
\ No newline at end of file
-# $Id: Makefile.in,v 1.5 2007/01/05 21:19:29 cph Exp $
+# $Id: Makefile.in,v 1.6 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_COM = @INSTALL_COM@
LN_S = @LN_S@
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
install:
$(mkinstalldirs) $(DESTDIR)$(SSP_DIR)
- $(INSTALL_DATA) *.com $(DESTDIR)$(SSP_DIR)/.
+ @for F in *.com; do \
+ echo "$(INSTALL_COM) $${F} $(DESTDIR)$(SSP_DIR)/.";\
+ $(INSTALL_COM) $${F} $(DESTDIR)$(SSP_DIR)/.;\
+ done
$(INSTALL_DATA) *.bci $(DESTDIR)$(SSP_DIR)/.
$(INSTALL_DATA) ssp-unx.pkd $(DESTDIR)$(SSP_DIR)/.
$(INSTALL_DATA) $(srcdir)/load.scm $(DESTDIR)$(SSP_DIR)/.
#| -*-Scheme-*-
-$Id: load.scm,v 1.8 2007/01/05 21:19:29 cph Exp $
+$Id: load.scm,v 1.9 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(load-option 'mime-codec)
(with-working-directory-pathname (directory-pathname (current-load-pathname))
(lambda ()
+ (declare-shared-library "ssp" (lambda () #t))
(load-package-set "ssp")))
(add-subsystem-identification! "SSP" '(0 4))
\ No newline at end of file
-# $Id: Makefile.in,v 1.7 2007/01/05 21:19:29 cph Exp $
+# $Id: Makefile.in,v 1.8 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_COM = @INSTALL_COM@
LN_S = @LN_S@
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
install:
$(mkinstalldirs) $(DESTDIR)$(PARSER_DIR)
- $(INSTALL_DATA) *.com $(DESTDIR)$(PARSER_DIR)/.
+ @for F in *.com; do \
+ echo "$(INSTALL_COM) $${F} $(DESTDIR)$(PARSER_DIR)/.";\
+ $(INSTALL_COM) $${F} $(DESTDIR)$(PARSER_DIR)/.;\
+ done
$(INSTALL_DATA) *.bci $(DESTDIR)$(PARSER_DIR)/.
$(INSTALL_DATA) parser-unx.pkd $(DESTDIR)$(PARSER_DIR)/.
$(INSTALL_DATA) $(srcdir)/load.scm $(DESTDIR)$(PARSER_DIR)/.
-# $Id: Makefile.in,v 1.4 2007/01/05 21:19:29 cph Exp $
+# $Id: Makefile.in,v 1.5 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_COM = @INSTALL_COM@
LN_S = @LN_S@
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
install:
$(mkinstalldirs) $(DESTDIR)$(XDOC_DIR)
- $(INSTALL_DATA) *.com $(DESTDIR)$(XDOC_DIR)/.
+ @for F in *.com; do \
+ echo "$(INSTALL_COM) $${F} $(DESTDIR)$(XDOC_DIR)/.";\
+ $(INSTALL_COM) $${F} $(DESTDIR)$(XDOC_DIR)/.;\
+ done
$(INSTALL_DATA) *.bci $(DESTDIR)$(XDOC_DIR)/.
$(INSTALL_DATA) xdoc-unx.pkd $(DESTDIR)$(XDOC_DIR)/.
$(INSTALL_DATA) $(srcdir)/load.scm $(DESTDIR)$(XDOC_DIR)/.
#| -*-Scheme-*-
-$Id: load.scm,v 1.5 2007/01/05 21:19:29 cph Exp $
+$Id: load.scm,v 1.6 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(export 'xml-comment 'comment)))
(with-working-directory-pathname (directory-pathname (current-load-pathname))
(lambda ()
+ (declare-shared-library "xdoc" (lambda () #t))
(load-package-set "xdoc")))
(add-subsystem-identification! "XDOC" '(0 3))
\ No newline at end of file
-# $Id: Makefile.in,v 1.8 2007/01/05 21:19:29 cph Exp $
+# $Id: Makefile.in,v 1.9 2007/04/04 05:08:19 riastradh Exp $
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_COM = @INSTALL_COM@
LN_S = @LN_S@
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
install:
$(mkinstalldirs) $(DESTDIR)$(XML_DIR)
- $(INSTALL_DATA) *.com $(DESTDIR)$(XML_DIR)/.
+ @for F in *.com; do \
+ echo "$(INSTALL_COM) $${F} $(DESTDIR)$(XML_DIR)/.";\
+ $(INSTALL_COM) $${F} $(DESTDIR)$(XML_DIR)/.;\
+ done
$(INSTALL_DATA) *.bci $(DESTDIR)$(XML_DIR)/.
$(INSTALL_DATA) xml-unx.pkd $(DESTDIR)$(XML_DIR)/.
$(INSTALL_DATA) $(srcdir)/load.scm $(DESTDIR)$(XML_DIR)/.
#| -*-Scheme-*-
-$Id: load.scm,v 1.19 2007/01/05 21:19:29 cph Exp $
+$Id: load.scm,v 1.20 2007/04/04 05:08:19 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(load-option 'SOS)
(with-working-directory-pathname (directory-pathname (current-load-pathname))
(lambda ()
+ (declare-shared-library "xml" (lambda () #t))
(load-package-set "xml")))
(add-subsystem-identification! "XML" '(1 0))
\ No newline at end of file