# **** END BOILERPLATE ****
LIARC_BOOT_BUNDLES = compiler cref sf star-parser
-LIARC_BUNDLES = $(LIARC_BOOT_BUNDLES) edwin ffi imail sos ssp xml
+LIARC_BUNDLES = $(LIARC_BOOT_BUNDLES) edwin elisp ffi imail sos ssp xml
+ FFIS = @FFIS@
SUBDIRS = $(INSTALLED_SUBDIRS) 6001 compiler rcs win32 xdoc
- INSTALLED_SUBDIRS = microcode runtime $(LIARC_BUNDLES)
+ INSTALLED_SUBDIRS = microcode runtime $(LIARC_BUNDLES) $(FFIS)
MIT_SCHEME_EXE = @MIT_SCHEME_EXE@
AUXDIR_NAME = @AUXDIR_NAME@
maybe_link lib/runtime ../runtime
maybe_link lib/mit-scheme.h ../microcode/pruxffi.h
maybe_link lib/ffi ../ffi
+ maybe_link lib/ffi-test-shim.so ../ffi/ffi-test-shim.so
+ maybe_link lib/ffi-test-types.bin ../ffi/ffi-test-types.bin
+ maybe_link lib/ffi-test-const.bin ../ffi/ffi-test-const.bin
+maybe_link lib/elisp ../elisp
+ maybe_link config.sub microcode/config.sub
+ maybe_link config.guess microcode/config.guess
+
for SUBDIR in ${INSTALLED_SUBDIRS} ${OTHER_SUBDIRS}; do
echo "setting up ${SUBDIR}"
maybe_link ${SUBDIR}/Setup.sh ../etc/Setup.sh
for BN in star-parser; do
(cd lib; rm -f ${BN}; ${LN_S} ../${BN} .)
done
- for BUNDLE in 6001 compiler cref edwin ffi imail sf sos ssp star-parser \
- xdoc xml $FFIS; do
+ for BUNDLE in 6001 compiler cref edwin elisp ffi imail sf sos ssp \
- star-parser xdoc xml; do
++ star-parser xdoc xml $FFIS; do
SO=${BUNDLE}.so
(cd lib/lib; rm -f ${SO}; ${LN_S} ../../${BUNDLE}/${SO} .)
done
(with-working-directory-pathname "sos"
(lambda ()
(load "load")))
- (for-each compile-dir '("xml" "win32" "edwin" "imail" "ssp" "ffi")))
+ (for-each compile-dir '("xml" "win32" "edwin" "imail" "ssp" "ffi" "elisp")))
+ (define (compile-ffi dir)
+ (if (eq? microcode-id/compiled-code-type 'C)
+ (in-liarc
+ (lambda ()
+ (c-compile-dir dir)
+ (let* ((line '("make" "compile-liarc-bundle"))
+ (code (run-synchronous-subprocess
+ (car line) (cdr line) 'working-directory dir)))
+ (if (not (zero? code))
+ (error "Process exited with error code:" code line)))))
+ (compile-dir dir)))
+
(define (compile-boot-dirs compile-dir)
(compile-cref compile-dir)
(for-each compile-dir '("runtime" "cref" "sf" "compiler" "star-parser")))