[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] conditions/clos/gcl unified build patch and instr
From: |
Vadim V. Zhytnikov |
Subject: |
Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions. |
Date: |
Thu, 13 Jun 2002 00:03:58 +0300 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.0.0) Gecko/20020526 |
Camm Maguire пишет:
Hi Vadim! OK, so I take it you are hot on the trail. Please let me
know when you get a patch version that doesn't break the maxima build,
and I'll take a look at it and commit.
1) I'd love someone to do a quick experiment on firing up default
gcl, creating a package, saving the image, starting the image and
seeing the package again. Likewise, have the package creation
stuff in a file, compile and load the .o, save, restart, etc.
2) This way, the "lisp" way, should certainly work. But is there
possibly a difference between run-time loaded objects and .o files
linked in at compile time? I don't think there should be, but in
case there is, a quick approach might be to just modify the
unixport/makefile to link in all the clcs and pcl .o files, and
then be sure to call init_.... in unixport/sys_gcl.c
Please try the clean build of GCL and Maxima with the following procedure:
1) Take latest gcl cvs
2) Merge PCL into subdir /pcl
3) Remove the link /pcl/makefile.gcl
4) Apply the patch attached to this message
6) Build gcl
7) Copy newly created ../bin/gcl somewhere
into the $PATH.
8) Build GCL Maxima with latest Maxima CVS
Does it work? GCL? Maxima?
Best wishes,
Vadim
diff -uNr gcl-2.5.0-orig/clcs/makefile gcl-2.5.0/clcs/makefile
--- gcl-2.5.0-orig/clcs/makefile Sat Jun 8 09:59:04 2002
+++ gcl-2.5.0/clcs/makefile Tue Jun 11 00:20:20 2002
@@ -1,6 +1,12 @@
-LISP=../unixport/saved_gcl
+LISP=../pcl/saved_gcl
compile: ${LISP}
- echo '(jamei-load-lcs :compile)' | ${LISP}
+ echo '(load "package.lisp")(load "loading.lisp")(jamie-load-clcs
:compile)' | ${LISP}
+
+saved_gcl: ${LISP}
+ echo '(load "package.lisp")(load "loading.lisp")(jamie-load-clcs
:compiled)(system::save-system "saved_gcl")' | ${LISP}
+ mv saved_gcl ../unixport/saved_gcl
+clean:
+ rm -f *.o
-include ../makedefs
diff -uNr gcl-2.5.0-orig/h/att_ext.h gcl-2.5.0/h/att_ext.h
--- gcl-2.5.0-orig/h/att_ext.h Sat Jun 8 09:59:09 2002
+++ gcl-2.5.0/h/att_ext.h Tue Jun 11 00:20:20 2002
@@ -348,7 +348,6 @@
EXTER object lisp_package;
EXTER object user_package;
EXTER object common_lisp_package;
-EXTER object common_lisp_user_package;
EXTER object keyword_package;
EXTER object system_package;
EXTER object sLApackageA;
diff -uNr gcl-2.5.0-orig/h/notcomp.h gcl-2.5.0/h/notcomp.h
--- gcl-2.5.0-orig/h/notcomp.h Sat Jun 8 09:59:09 2002
+++ gcl-2.5.0/h/notcomp.h Tue Jun 11 00:20:20 2002
@@ -21,7 +21,7 @@
EXTER int gc_enabled, saving_system;
EXTER object lisp_package,user_package;
-EXTER object common_lisp_package,common_lisp_user_package;
+EXTER object common_lisp_package;
EXTER char *core_end;
EXTER int catch_fatal;
EXTER int real_maxpage;
diff -uNr gcl-2.5.0-orig/makefile gcl-2.5.0/makefile
--- gcl-2.5.0-orig/makefile Sat Jun 8 09:59:04 2002
+++ gcl-2.5.0/makefile Tue Jun 11 00:20:20 2002
@@ -20,6 +20,8 @@
LSPDIR = lsp
CMPDIR = cmpnew
PORTDIR = unixport
+CLCSDIR = clcs
+PCLDIR = pcl
MPDIR = mp
GMP_DIR = gmp/
@@ -31,6 +33,9 @@
(cd $(LSPDIR); make all)
(cd $(CMPDIR); make all)
(cd $(PORTDIR); make saved_gcl)
+ (cd $(PCLDIR); make -f makefile.gcl compile; make -f makefile.gcl
saved_gcl)
+ (cd $(CLCSDIR); make compile; make saved_gcl)
+ (cd $(PORTDIR); make ansi_cl)
make command
# After making successfully send in a notification to
@@ -120,6 +125,7 @@
(cd $(PORTDIR); make clean)
(cd gcl-tk ; make clean)
-(cd gmp ; make distclean)
+ (cd clcs ; make clean)
(cd info ; make clean)
rm -f foo.tcl config.log makedefs makedefsafter config.cache
config.status makedefc
rm -f h/config.h h/gclincl.h h/cmpinclude.h
diff -uNr gcl-2.5.0-orig/o/package.d gcl-2.5.0/o/package.d
--- gcl-2.5.0-orig/o/package.d Sat Jun 8 09:59:10 2002
+++ gcl-2.5.0/o/package.d Tue Jun 11 00:20:20 2002
@@ -1059,10 +1059,6 @@
common_lisp_package
= make_package(make_simple_string("COMMON-LISP"),
Cnil, Cnil,47,509);
- common_lisp_user_package
- = make_package(make_simple_string("COMMON-LISP-USER"),
- Cnil,
- make_cons(common_lisp_package, Cnil),509,97);
keyword_package
= make_package(make_simple_string("KEYWORD"),
Cnil, Cnil,11,509);
diff -uNr gcl-2.5.0-orig/pcl/makefile.gcl gcl-2.5.0/pcl/makefile.gcl
--- gcl-2.5.0-orig/pcl/makefile.gcl Thu Jan 1 03:00:00 1970
+++ gcl-2.5.0/pcl/makefile.gcl Tue Jun 11 00:20:20 2002
@@ -0,0 +1,41 @@
+# makefile for making pcl -- W. Schelter.
+
+# Directions:
+# make -f makefile.gcl compile
+# make -f makefile.gcl saved_pcl
+
+
+LISP=../unixport/saved_gcl
+
+
+SETUP='(load "sys-package.lisp")' \
+ '(setq *features* (delete (quote kcl) *features*))'\
+ '(load "defsys.lisp")(push (quote kcl) *features*)' \
+ '(setq pcl::*default-pathname-extensions* (cons "lisp" "o"))' \
+ '(setq pcl::*pathname-extensions* (cons "lisp" "o"))' \
+ '(load "sys-proclaim.lisp")(compiler::emit-fn t)'
+
+compile:
+ echo ${SETUP} '(pcl::compile-pcl)' | ${LISP}
+
+saved_gcl:
+ echo ${SETUP} '(pcl::load-pcl)(si::save-system "saved_gcl")' | ${LISP}
+
+clean:
+ rm -f *.o *.fn
+
+
+# remake the sys-package.lisp and sys-proclaim.lisp files
+# Those files may be empty on a first build.
+remake-sys-files:
+ echo ${SETUP} '(pcl::load-pcl)(in-package "PCL")(renew-sys-files)' |
${LISP}
+ cp sys-proclaim.lisp xxx
+ cat xxx | sed -e "s/COMPILER::CMP-ANON//g" > sys-proclaim.lisp
+ rm xxx
+
+
+tar:
+ make -f makefile.gcl tar1 DIR=`pwd`
+
+tar1:
+ (cd .. ; tar cvf - `basename ${DIR}` | gzip -c > `basename ${DIR}`.tgz)
diff -uNr gcl-2.5.0-orig/unixport/ansi_cl.lisp gcl-2.5.0/unixport/ansi_cl.lisp
--- gcl-2.5.0-orig/unixport/ansi_cl.lisp Thu Jan 1 03:00:00 1970
+++ gcl-2.5.0/unixport/ansi_cl.lisp Tue Jun 11 00:20:20 2002
@@ -0,0 +1,98 @@
+(setq clcs_shadow
+ '(CONDITIONS::BREAK
+ CONDITIONS::ERROR
+ CONDITIONS::CERROR
+ CONDITIONS::WARN
+ CONDITIONS::CHECK-TYPE
+ CONDITIONS::ASSERT
+ CONDITIONS::ETYPECASE
+ CONDITIONS::CTYPECASE
+ CONDITIONS::ECASE
+ CONDITIONS::CCASE ))
+
+(setq lisp_unexport
+ '(LISP::LAMBDA-BLOCK-CLOSURE
+ LISP::BYE
+ LISP::QUIT
+ LISP::EXIT
+ LISP::IEEE-FLOATING-POINT
+ LISP::DEFENTRY
+ LISP::VOID
+ LISP::ALLOCATE-CONTIGUOUS-PAGES
+ LISP::UNSIGNED-SHORT
+ LISP::DOUBLE
+ LISP::BY
+ LISP::GBC
+ LISP::DEFCFUN
+ LISP::SAVE
+ LISP::MAXIMUM-CONTIGUOUS-PAGES
+ LISP::SPICE
+ LISP::DEFLA
+ LISP::ALLOCATED-PAGES
+ LISP::SUN
+ LISP::INT
+ LISP::USE-FAST-LINKS
+ LISP::CFUN
+ LISP::UNSIGNED-CHAR
+ LISP::HELP
+ LISP::HELP*
+ LISP::MACRO
+ LISP::*BREAK-ENABLE*
+ LISP::CLINES
+ LISP::LAMBDA-CLOSURE
+ LISP::OBJECT
+ LISP::FAT-STRING
+ LISP::SIGNED-SHORT
+ LISP::MC68020
+ LISP::LAMBDA-BLOCK
+ LISP::TAG
+ LISP::PROCLAMATION
+ LISP::ALLOCATED-CONTIGUOUS-PAGES
+ LISP::*EVAL-WHEN-COMPILE*
+ LISP::SIGNED-CHAR
+ LISP::*IGNORE-MAXIMUM-PAGES*
+ LISP::*LINK-ARRAY*
+ LISP::KCL
+ LISP::BSD
+ LISP::ALLOCATE-RELOCATABLE-PAGES
+ LISP::ALLOCATE
+ LISP::UNIX
+ LISP::MAXIMUM-ALLOCATABLE-PAGES
+ LISP::ALLOCATED-RELOCATABLE-PAGES
+ LISP::SYSTEM
+ LISP::KYOTO
+ LISP::CCLOSURE))
+
+(do-external-symbols (s "LISP")
+ (if (not(member s lisp_unexport))
+ (progn
+ (import (list s) "COMMON-LISP")
+ (import (list s) "USER")) ))
+
+(do-external-symbols (s "PCL")
+ (import (list s) "COMMON-LISP")
+ (import (list s) "USER"))
+
+(do-external-symbols (s "CONDITIONS")
+ (if (member s clcs_shadow)
+ (progn
+ (shadowing-import (list s) "COMMON-LISP")
+ (shadowing-import (list s) "USER"))
+ (progn
+ (import (list s) "COMMON-LISP")
+ (import (list s) "USER"))))
+
+(do-symbols (s "COMMON-LISP")
+ (export (list s) "COMMON-LISP"))
+
+(makunbound 'clcs_shadow)
+(makunbound 'lisp_unexport)
+(unintern 'clcs_shadow)
+(unintern 'lisp_unexport)
+(unintern 'int)
+
+
(rename-package 'common-lisp 'common-lisp '(cl))
+(rename-package 'user 'common-lisp-user '(cl-user user))
+
+(si::save-system "saved_ansi_cl")
+
diff -uNr gcl-2.5.0-orig/unixport/makefile gcl-2.5.0/unixport/makefile
--- gcl-2.5.0-orig/unixport/makefile Sat Jun 8 09:59:10 2002
+++ gcl-2.5.0/unixport/makefile Tue Jun 11 00:20:20 2002
@@ -75,6 +75,11 @@
SYSTEM=gcl
+ansi_cl: saved_$(SYSTEM) ansi_cl.lisp
+ $(PORTDIR)/saved_$(SYSTEM) < ansi_cl.lisp
+ rm -f saved_$(SYSTEM)
+ mv saved_ansi_cl saved_$(SYSTEM)
+
$(LSPDIR)/auto_new.lsp: $(LSPDIR)/auto.lsp
cp $< $@
[ "$(RL_OBJS)" = "" ] || \
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., (continued)
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., John Jorgensen, 2002/06/07
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Camm Maguire, 2002/06/07
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Vadim V. Zhytnikov, 2002/06/07
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Camm Maguire, 2002/06/07
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., John Jorgensen, 2002/06/07
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Camm Maguire, 2002/06/08
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Vadim V. Zhytnikov, 2002/06/10
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Camm Maguire, 2002/06/10
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Vadim V. Zhytnikov, 2002/06/12
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Camm Maguire, 2002/06/12
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions.,
Vadim V. Zhytnikov <=
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Camm Maguire, 2002/06/13
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Vadim V. Zhytnikov, 2002/06/14
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Camm Maguire, 2002/06/17
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Vadim V. Zhytnikov, 2002/06/14
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Camm Maguire, 2002/06/17
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Vadim V. Zhytnikov, 2002/06/12
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Peter Wood, 2002/06/11
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Vadim V. Zhytnikov, 2002/06/12
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Camm Maguire, 2002/06/12
- Re: [Gcl-devel] conditions/clos/gcl unified build patch and instructions., Vadim V. Zhytnikov, 2002/06/09