LIARC_BOOT_BUNDLES = compiler cref sf star-parser
LIARC_BUNDLES = $(LIARC_BOOT_BUNDLES) ffi sos ssp xml
-SUBDIRS = $(INSTALLED_SUBDIRS) 6001 win32 xdoc
+SUBDIRS = $(INSTALLED_SUBDIRS) win32 xdoc
INSTALLED_SUBDIRS = microcode runtime $(LIARC_BUNDLES)
OPTION_SUBDIRS = @OPTION_SUBDIRS@
all-native: all-star-parser
all-native: all-win32
all-native: all-xml
-@IF_X11@all-native: all-x11
+@IF_BLOWFISH@all-native: all-blowfish
@IF_EDWIN@all-native: all-edwin
+@IF_GDBM@all-native: all-gdbm
@IF_IMAIL@all-native: all-imail
+@IF_MCRYPT@all-native: all-mcrypt
+@IF_PGSQL@all-native: all-pgsql
+@IF_X11@all-native: all-x11
+@IF_X11_SCREEN@all-native: all-x11-screen
# XXX This should really depend on microcode/gen-nonce and
# microcode/extract-liarc-decls instead of microcode/scheme, but
(cd xml && $(MAKE) compile-liarc-bundle)
################
-# Edwin
+# blowfish
+################
+
+.PHONY: all-blowfish
+all-blowfish: compile-blowfish
+
+.PHONY: compile-blowfish
+compile-blowfish: compile-runtime
+ (cd blowfish && MIT_SCHEME_EXE=$(MIT_SCHEME_EXE) $(MAKE))
+
+################
+# edwin
################
.PHONY: all-edwin
all-edwin: compile-edwin
.PHONY: compile-edwin
-compile-edwin: compile-runtime
+compile-edwin: compile-runtime compile-xml
+@IF_BLOWFISH@compile-edwin: compile-blowfish
+@IF_GDBM@compile-edwin: compile-gdbm
@IF_X11@compile-edwin: compile-x11
- (cd edwin && $(MAKE))
+ (cd edwin && MIT_SCHEME_EXE=$(MIT_SCHEME_EXE) $(MAKE))
################
-# Imail
+# gdbm
+################
+
+.PHONY: all-gdbm
+all-gdbm: compile-gdbm
+
+.PHONY: compile-gdbm
+compile-gdbm: compile-runtime
+ (cd gdbm && MIT_SCHEME_EXE=$(MIT_SCHEME_EXE) $(MAKE))
+
+################
+# imail
################
.PHONY: all-imail
.PHONY: compile-imail
compile-imail: compile-runtime compile-sos compile-edwin compile-star-parser
- (cd imail && $(MAKE))
+ (cd imail && MIT_SCHEME_EXE=$(MIT_SCHEME_EXE) $(MAKE))
+
+################
+# mcrypt
+################
+
+.PHONY: all-mcrypt
+all-mcrypt: compile-mcrypt
+
+.PHONY: compile-mcrypt
+compile-mcrypt: compile-runtime
+ (cd mcrypt && MIT_SCHEME_EXE=$(MIT_SCHEME_EXE) $(MAKE))
+
+################
+# pgsql
+################
+
+.PHONY: all-pgsql
+all-pgsql: compile-pgsql
+
+.PHONY: compile-pgsql
+compile-pgsql: compile-runtime
+ (cd pgsql && MIT_SCHEME_EXE=$(MIT_SCHEME_EXE) $(MAKE))
################
# X11
.PHONY: compile-x11
compile-x11: compile-runtime
- (cd x11 && $(MAKE))
- (cd x11-screen && $(MAKE))
+ (cd x11 && MIT_SCHEME_EXE=$(MIT_SCHEME_EXE) $(MAKE))
+
+################
+# X11-screen
+################
+
+.PHONY: all-x11-screen
+all-x11-screen: compile-x11-screen
+
+.PHONY: compile-x11-screen
+compile-x11-screen: compile-runtime compile-x11 compile-edwin
+ (cd x11-screen && MIT_SCHEME_EXE=$(MIT_SCHEME_EXE) $(MAKE))
#####################
### Cross compilation
|#
-(global-definitions runtime/)
+(global-definitions "../runtime/")
(define-package (blowfish)
(files "blowfish")
;;;; Compile the BLOWFISH option.
-(load-option 'CREF)
-(load-option 'FFI)
-(compile-file "blowfish" '() (->environment '(RUNTIME)))
+(load-option 'cref)
+(load-option 'ffi)
+(compile-file "blowfish" '() (->environment '(runtime)))
(cref/generate-constructors "blowfish")
\ No newline at end of file
AC_ARG_ENABLE([edwin],
AS_HELP_STRING([--enable-edwin],
- [Add support for the Edwin edit [[yes]]]))
+ [Add support for the Edwin editor [[yes]]]))
: ${enable_edwin=yes}
AC_ARG_ENABLE([imail],
HOST_COMPILER_HEAP="--heap 10000"
fi
+if test x"${enable_x11}" = xyes && test x"${enable_edwin}" = xyes; then
+ enable_x11_screen=yes
+else
+ enable_x11_screen=no
+fi
+
OPTION_SUBDIRS=
-if test x"${enable_x11}" = xyes; then
- OPTION_SUBDIRS="${OPTION_SUBDIRS} x11 x11-screen"
- IF_X11=
+if test x"${enable_blowfish}" = xyes; then
+ OPTION_SUBDIRS="${OPTION_SUBDIRS} blowfish"
+ IF_BLOWFISH=
else
- IF_X11="#!x11: "
+ IF_BLOWFISH="#!blowfish: "
fi
if test x"${enable_edwin}" = xyes; then
OPTION_SUBDIRS="${OPTION_SUBDIRS} edwin"
else
IF_EDWIN="#!edwin: "
fi
-if test x"${enable_imail}" = xyes; then
- OPTION_SUBDIRS="${OPTION_SUBDIRS} imail"
- IF_IMAIL=
-else
- IF_IMAIL="#!imail: "
-fi
-if test x"${enable_blowfish}" = xyes; then
- OPTION_SUBDIRS="${OPTION_SUBDIRS} blowfish"
- IF_BLOWFISH=
-else
- IF_BLOWFISH="#!blowfish: "
-fi
if test x"${enable_gdbm}" = xyes; then
OPTION_SUBDIRS="${OPTION_SUBDIRS} gdbm"
IF_GDBM=
else
IF_GDBM="#!gdbm: "
fi
+if test x"${enable_imail}" = xyes; then
+ OPTION_SUBDIRS="${OPTION_SUBDIRS} imail"
+ IF_IMAIL=
+else
+ IF_IMAIL="#!imail: "
+fi
if test x"${enable_mcrypt}" = xyes; then
OPTION_SUBDIRS="${OPTION_SUBDIRS} mcrypt"
IF_MCRYPT=
else
IF_PGSQL="#!pgsql: "
fi
+if test x"${enable_x11}" = xyes; then
+ OPTION_SUBDIRS="${OPTION_SUBDIRS} x11"
+ IF_X11=
+else
+ IF_X11="#!x11: "
+fi
+if test x"${enable_x11_screen}" = xyes; then
+ OPTION_SUBDIRS="${OPTION_SUBDIRS} x11-screen"
+ IF_X11_SCREEN=
+else
+ IF_X11_SCREEN="#!x11-screen: "
+fi
AC_SUBST([ALL_TARGET])
AC_SUBST([AUXDIR])
AC_SUBST([IF_SVM])
AC_SUBST([IF_SVM_COMPILER])
AC_SUBST([IF_X11])
+AC_SUBST([IF_X11_SCREEN])
AC_SUBST([INSTALL_COM])
AC_SUBST([INSTALL_LIARC_BUNDLES])
AC_SUBST([MIT_SCHEME_EXE])
AC_CONFIG_SUBDIRS([pgsql])
fi
if test x"${enable_x11}" = xyes; then
- AC_CONFIG_SUBDIRS([x11 x11-screen])
+ AC_CONFIG_SUBDIRS([x11])
+fi
+if test x"${enable_x11_screen}" = xyes; then
+ AC_CONFIG_SUBDIRS([x11-screen])
fi
AC_CONFIG_FILES([
;;;; Edwin Packaging
\f
-(global-definitions runtime/)
-(global-definitions xml/)
-(global-definitions blowfish/)
-(global-definitions gdbm/)
+(global-definitions "../runtime/")
+(global-definitions "../xml/")
(define-package (edwin)
(files "utils"
(port/output-channel output-port-channel)
(port/state textual-port-state)
generic-port-operation:write-substring)
+ #|
(import (blowfish)
blowfish-encrypt-port
blowfish-file?
gdbm_fast
gdbm_replace
gdbm_wrcreat)
+ |#
(export ()
create-editor
create-editor-args
|#
(load-option 'cref)
-(load-option 'xml)
-(load-option 'blowfish)
-(load-option 'gdbm)
(if (not (name->package '(edwin)))
(let ((package-set (package-set-pathname "edwin")))
(declare (usual-integrations))
(load-option 'xml)
-(load-option 'blowfish)
-(load-option 'gdbm)
(with-loader-base-uri (system-library-uri "edwin/")
(lambda ()
(load-package-set "edwin"
;;;; Compile the GDBM option.
-(load-option 'CREF)
-(load-option 'FFI)
-(compile-file "gdbm" '() (->environment '(RUNTIME)))
+(load-option 'cref)
+(load-option 'ffi)
+(compile-file "gdbm" '() (->environment '(runtime)))
(cref/generate-constructors "gdbm")
\ No newline at end of file
|#
-(global-definitions runtime/)
+(global-definitions "../runtime/")
(define-package (gdbm)
(files "gdbm")
(load-option '*parser)
(with-working-directory-pathname (directory-pathname (current-load-pathname))
(lambda ()
+ (unless (load-option 'edwin #t)
+ (with-working-directory-pathname (merge-pathnames "../edwin")
+ (lambda ()
+ (load "make"))))
(for-each (lambda (filename)
(compile-file filename '() (->environment '(edwin))))
'("imail-browser"
#
# Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
# 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
-# Massachusetts Institute of Technology
+# 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016,
+# 2017, 2018 Massachusetts Institute of Technology
#
# This file is part of MIT/GNU Scheme.
#
# 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,
set -e
: ${MIT_SCHEME_EXE=mit-scheme}
${MIT_SCHEME_EXE} --batch-mode <<\EOF
-(begin
-
- (parameterize ((param:suppress-loading-message? #t))
- (load-option 'EDWIN))
-
- (load "compile.scm")
- )
+(load "compile.scm")
EOF
suffix=`echo "(display (microcode-id/operating-system-suffix))" \
| ${MIT_SCHEME_EXE} --batch-mode`
;;;; IMAIL mail reader: packaging
-(global-definitions runtime/)
-(global-definitions sos/)
-(global-definitions edwin/)
-(global-definitions star-parser/parser)
+(global-definitions "../runtime/")
+(global-definitions "../sos/")
+(global-definitions "../edwin/")
+(global-definitions "../star-parser/parser")
(define-package (edwin imail)
(files "imail-util"
;;;; Compile the MCRYPT option.
-(load-option 'CREF)
-(load-option 'FFI)
-(compile-file "mcrypt" '() (->environment '(RUNTIME)))
+(load-option 'cref)
+(load-option 'ffi)
+(compile-file "mcrypt" '() (->environment '(runtime)))
(cref/generate-constructors "mcrypt")
\ No newline at end of file
|#
-(global-definitions runtime/)
+(global-definitions "../runtime/")
(define-package (mcrypt)
(files "mcrypt")
;;;; Compile the PGSQL option.
-(load-option 'CREF)
-(load-option 'FFI)
+(load-option 'cref)
+(load-option 'ffi)
(compile-file "pgsql" '() (->environment '()))
(cref/generate-constructors "pgsql")
\ No newline at end of file
|#
-(global-definitions runtime/)
+(global-definitions "../runtime/")
(define-package (postgresql)
(files "pgsql")
--- /dev/null
+#| -*-Scheme-*-
+
+Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016,
+ 2017, 2018 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.
+
+|#
+
+(load-option 'cref)
+(with-working-directory-pathname (directory-pathname (current-load-pathname))
+ (lambda ()
+ (unless (load-option 'edwin #t)
+ (with-working-directory-pathname (merge-pathnames "../edwin")
+ (lambda ()
+ (load "make"))))
+ (for-each (lambda (filename)
+ (compile-file filename '() (->environment '(edwin))))
+ '("x11-screen"
+ "x11-key"
+ "x11-command"))
+ (cref/generate-constructors "x11-screen")))
\ No newline at end of file
set -e
: ${MIT_SCHEME_EXE=mit-scheme}
${MIT_SCHEME_EXE} --batch-mode <<\EOF
-(begin
-
- (parameterize ((param:suppress-loading-message? #t))
- (load-option 'CREF)
- (load-option 'X11)
- (load-option 'EDWIN))
-
- (if (name->package '(EDWIN SCREEN X11-SCREEN))
- (error "The (EDWIN SCREEN X11-SCREEN) package already exists."))
- (let ((package-set (package-set-pathname "x11-screen")))
- (if (not (file-modification-time<? "x11-screen.pkg" package-set))
- (cref/generate-trivial-constructor "x11-screen" #f))
- (construct-packages-from-file (fasload package-set)))
-
- (compile-file "x11-screen" '() (->environment '(edwin screen x11-screen)))
- (compile-file "x11-key" '() (->environment '(edwin x11-keys)))
- (compile-file "x11-command" '() (->environment '(edwin x11-commands)))
-
- (cref/generate-constructors "x11-screen")
- )
+(load "compile.scm")
EOF
suffix=`echo "(display (microcode-id/operating-system-suffix))" \
| ${MIT_SCHEME_EXE} --batch-mode`
;;;; Edwin Packaging
\f
-(global-definitions runtime/)
-(global-definitions edwin/)
-(global-definitions x11/)
+(global-definitions "../runtime/")
+(global-definitions "../edwin/")
+(global-definitions "../x11/")
(define-package (edwin screen x11-screen)
(files "x11-screen")
${MIT_SCHEME_EXE} --prepend-library . --batch-mode <<\EOF
(begin
- (load-option 'CREF)
- (load-option 'FFI)
+ (load-option 'cref)
+ (load-option 'ffi)
(let ((runtime (->environment '(runtime))))
(compile-file "x11" '() runtime)
;;;; X11 Graphics Packaging
\f
-(global-definitions runtime/)
+(global-definitions "../runtime/")
(define-package (x11)
(files "x11")