author | Camm Maguire <camm@debian.org> | 2003年03月20日 15:24:39 +0000 |
---|---|---|
committer | Camm Maguire <camm@debian.org> | 2003年03月20日 15:24:39 +0000 |
commit | 86e2e63bde76c4c55bba2c78e24fe2bedd81f169 (patch) | |
tree | 52828f5684d87a04d8c81f8b50d14f716e0ed168 | |
parent | 4bc9355c349a01f9efe1218bed6189d62cb77964 (diff) | |
download | gcl-Version_2_5_1.tar.gz |
-rw-r--r-- | gcl/debian/changelog | 8 | ||||
-rwxr-xr-x | gcl/minvers | 2 | ||||
-rwxr-xr-x | gcl/o/xdrfuns.c | 168 | ||||
-rw-r--r-- | gcl/unixport/makefile | 6 | ||||
-rw-r--r-- | gcl/xgcl-2/Events.c | 1 | ||||
-rw-r--r-- | gcl/xgcl-2/XStruct-4.c | 1 | ||||
-rw-r--r-- | gcl/xgcl-2/general-c.c | 1 | ||||
-rw-r--r-- | gcl/xgcl-2/makefile | 17 | ||||
-rw-r--r-- | gcl/xgcl-2/sysdef.lisp | 2 | ||||
-rw-r--r-- | gcl/xgcl-2/sysinit.lsp | 7 |
diff --git a/gcl/debian/changelog b/gcl/debian/changelog index 4eba3b965..288808bd8 100644 --- a/gcl/debian/changelog +++ b/gcl/debian/changelog @@ -1,3 +1,11 @@ +gcl (2.5.2-1) unstable; urgency=low + + * New upstream release + * Cleanup xdrfuns.c for Axiom + * Reenable xgcl build + + -- Camm Maguire <camm@enhanced.com> 2003年3月20日 09:15:54 -0500 + gcl (2.5.1-1) unstable; urgency=high * some optimization now on hppa diff --git a/gcl/minvers b/gcl/minvers index a75b92f1e..ef425ca98 100755 --- a/gcl/minvers +++ b/gcl/minvers @@ -1 +1 @@ -5.1 +5.2 diff --git a/gcl/o/xdrfuns.c b/gcl/o/xdrfuns.c index 381f76d98..69fd9c38e 100755 --- a/gcl/o/xdrfuns.c +++ b/gcl/o/xdrfuns.c @@ -15,7 +15,6 @@ License for more details. */ - #ifdef HAVE_XDR #ifdef AIX3 @@ -35,85 +34,122 @@ siGxdr_open(f) xdrstdio_create(xdrs, f->sm.sm_fp, (f->sm.sm_mode == smm_input ? XDR_DECODE : f->sm.sm_mode == smm_output ? XDR_ENCODE : - FEerror("stream not input or output",0))) + (FEerror("stream not input or output",0),XDR_ENCODE))) ; return ar; } object -siGxdr_write(str,elt) - object str,elt; -{ XDR *xdrp= (XDR *) str->ust.ust_self; +siGxdr_write(object str,object elt) { + + XDR *xdrp= (XDR *) str->ust.ust_self; + xdrproc_t e; - switch (type_of(elt)) - { case t_fixnum: - if(!xdr_int(xdrp,&fix(elt))) goto error; - return elt; - case t_longfloat: - if(!xdr_double(xdrp,&lf(elt))) goto error; - return elt; - case t_shortfloat: - if(!xdr_float(xdrp,&sf(elt))) goto error; - return elt; - case t_vector: - if(!xdr_array(xdrp,(char **)&elt->v.v_self, - &elt->v.v_fillp, - elt->v.v_dim, - aet_sizes[elt->v.v_elttype], - (elt->v.v_elttype == aet_lf ? xdr_double : - elt->v.v_elttype == aet_sf ? xdr_float : - elt->v.v_elttype == aet_fix ? xdr_int : - elt->v.v_elttype == aet_short ? xdr_short : - (FEerror("unsupported xdr size",0),xdr_short)))) - goto error ; - return elt; - default: - FEerror("unsupported xdr ~a",1,elt); - } + switch (type_of(elt)) { + case t_fixnum: + if(!xdr_long(xdrp,&fix(elt))) goto error; + break; + case t_longfloat: + if(!xdr_double(xdrp,&lf(elt))) goto error; + break; + case t_shortfloat: + if(!xdr_float(xdrp,&sf(elt))) goto error; + break; + case t_vector: + + switch(elt->v.v_elttype) { + case aet_lf: + e=(xdrproc_t)xdr_double; + break; + case aet_sf: + e=(xdrproc_t)xdr_float; + break; + case aet_fix: + e=(xdrproc_t)xdr_long; + break; + case aet_short: + e=(xdrproc_t)xdr_short; + break; + default: + FEerror("unsupported xdr size",0); + goto error; + break; + } + if(!xdr_array(xdrp,(char **)&elt->v.v_self, + &elt->v.v_fillp, + elt->v.v_dim, + aet_sizes[elt->v.v_elttype], + e)) + goto error; + break; + default: + FEerror("unsupported xdr ~a",1,elt); + break; + } return elt; error: FEerror("bad xdr read",0); - } + return elt; +} object -siGxdr_read(str,elt) - object str,elt; -{ XDR *xdrp= (XDR *) str->ust.ust_self; - switch (type_of(elt)) - { case t_fixnum: - {int l; - - if(!xdr_int(xdrp,&l)) goto error; - return make_fixnum(l);} - break; - case t_longfloat: - { double x; - if(!xdr_double(xdrp,&x)) goto error; - return make_longfloat(x);} - case t_shortfloat: - { float x; - if(!xdr_float(xdrp,&x)) goto error; - return make_shortfloat(x);} - case t_vector: - if(! xdr_array(xdrp,(char **)&elt->v.v_self, - &elt->v.v_fillp, - elt->v.v_dim, - aet_sizes[elt->v.v_elttype], - (elt->v.v_elttype == aet_lf ? xdr_double : - elt->v.v_elttype == aet_sf ? xdr_float : - elt->v.v_elttype == aet_fix ? xdr_int : - elt->v.v_elttype == aet_short ? xdr_short : - (FEerror("unsupported xdr size",0),xdr_short)))) - goto error; - return elt; - default: - FEerror("unsupported xdr ~a",1,elt); - } - error: +siGxdr_read(object str,object elt) { + + XDR *xdrp= (XDR *) str->ust.ust_self; + xdrproc_t e; + + switch (type_of(elt)) { + case t_fixnum: + {fixnum l; + if(!xdr_long(xdrp,&l)) goto error; + return make_fixnum(l);} + break; + case t_longfloat: + {double x; + if(!xdr_double(xdrp,&x)) goto error; + return make_longfloat(x);} + case t_shortfloat: + {float x; + if(!xdr_float(xdrp,&x)) goto error; + return make_shortfloat(x);} + case t_vector: + switch(elt->v.v_elttype) { + case aet_lf: + e=(xdrproc_t)xdr_double; + break; + case aet_sf: + e=(xdrproc_t)xdr_float; + break; + case aet_fix: + e=(xdrproc_t)xdr_long; + break; + case aet_short: + e=(xdrproc_t)xdr_short; + break; + default: + FEerror("unsupported xdr size",0); + goto error; + break; + } + + if(!xdr_array(xdrp,(char **)&elt->v.v_self, + &elt->v.v_fillp, + elt->v.v_dim, + aet_sizes[elt->v.v_elttype], + e)) + goto error; + return elt; + break; + default: + FEerror("unsupported xdr ~a",1,elt); + return elt; + break; + } + error: FEerror("bad xdr read",0); return elt; } -static +static void init_xdrfuns() { make_si_sfun("XDR-WRITE",siGxdr_write, ARGTYPE2(f_object,f_object)|RESTYPE(f_object)); diff --git a/gcl/unixport/makefile b/gcl/unixport/makefile index cf834a26f..e3820fa47 100644 --- a/gcl/unixport/makefile +++ b/gcl/unixport/makefile @@ -51,6 +51,9 @@ $(LSPDIR)/auto_new.lsp: $(LSPDIR)/auto.lsp init_gcl.lsp.tmp: init_gcl.lsp.in cp $< $@ +init_xgcl.lsp.tmp: init_gcl.lsp.tmp + ln -snf $< $@ + init_pcl_gcl.lsp.tmp: init_pcl_gcl.lsp.in ../cmpnew/cmpmain.lsp \ ../pcl/sys-package.lisp ../clcs/package.lisp \ $(shell ls -1 ../clcs/clcs_*.lisp) @@ -107,6 +110,9 @@ libgcl.a: $(FIRST_FILE) $(OBJS) sys_gcl.o $(LAST_FILE) gmpfiles bfdfiles rm -rf $@ ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o") +libxgcl.a: libgcl.a + ln -snf $< $@ + libansi_gcl.a: $(FIRST_FILE) $(OBJS) $(ANSIOBJS) sys_ansi_gcl.o $(LAST_FILE) gmpfiles bfdfiles rm -rf $@ ar rs $@ $(filter %.o,$^) $(shell find gmp bfd -name "*.o") diff --git a/gcl/xgcl-2/Events.c b/gcl/xgcl-2/Events.c index fea1b2b04..26bf50a8b 100644 --- a/gcl/xgcl-2/Events.c +++ b/gcl/xgcl-2/Events.c @@ -21,6 +21,7 @@ ; Some of the files that interface to the Xlib are adapted from DEC/MIT files. ; See the file dec.copyright for details. */ +#include <stdlib.h> #include <X11/Xlib.h> #include "include.h" diff --git a/gcl/xgcl-2/XStruct-4.c b/gcl/xgcl-2/XStruct-4.c index 12d2c6eb2..46b4ae9f7 100644 --- a/gcl/xgcl-2/XStruct-4.c +++ b/gcl/xgcl-2/XStruct-4.c @@ -21,6 +21,7 @@ ; Some of the files that interface to the Xlib are adapted from DEC/MIT files. ; See the file dec.copyright for details. */ +#include <stdlib.h> #include <X11/Xlib.h> #include <X11/Xutil.h> diff --git a/gcl/xgcl-2/general-c.c b/gcl/xgcl-2/general-c.c index e0a871a3c..b2eff4c07 100644 --- a/gcl/xgcl-2/general-c.c +++ b/gcl/xgcl-2/general-c.c @@ -21,6 +21,7 @@ ; Some of the files that interface to the Xlib are adapted from DEC/MIT files. ; See the file dec.copyright for details. */ +#include <stdlib.h> #include <stdio.h> #include <X11/Xlib.h> #include <X11/Xutil.h> diff --git a/gcl/xgcl-2/makefile b/gcl/xgcl-2/makefile index 62dcc8991..fb465102f 100644 --- a/gcl/xgcl-2/makefile +++ b/gcl/xgcl-2/makefile @@ -38,7 +38,7 @@ maxobjs: $(shell echo *.lsp) $(PORTDIR)/saved_gcl '(xlib::compile-xgcl)' | $(LISP) $(PORTDIR)/saved_$(SYSTEM): $(C_OBJS) maxobjs - (cd $(PORTDIR) ; $(MAKE) saved_xgcl "INIT_SYSTEM_LSP=init_gcl.lsp" "SYSTEM=$(SYSTEM)" "SYSTEM_OBJS=`cat $(SYSDIR)/maxobjs` $(C_OBJS) " "LIBSYSTEM= $(X_LIBS) " "PORTDIR=$(PORTDIR)") + (cd $(PORTDIR) ; $(MAKE) saved_xgcl "INIT_SYSTEM_LSP=init_gcl.lsp" "SYSTEM=$(SYSTEM)" "SYSTEM_OBJS=`cat $(SYSDIR)/maxobjs` $(C_OBJS) " "EXTRA_LD_LIBS= $(X_LIBS) " "PORTDIR=$(PORTDIR)") rm -f $(PORTDIR)/raw_$(SYSTEM) Xgcl: @@ -47,19 +47,22 @@ Xgcl: ############ the C code ############### -$(SYSDIR)/Xutil-2.o: $(SYSDIR)/Xutil-2.c +cmpinclude.h: ../h/cmpinclude.h + ln -snf $< $@ + +$(SYSDIR)/Xutil-2.o: cmpinclude.h $(SYSDIR)/Xutil-2.c $(CC) -c Xutil-2.c $(CFLAGS) -$(SYSDIR)/Events.o: $(SYSDIR)/Events.c +$(SYSDIR)/Events.o: cmpinclude.h $(SYSDIR)/Events.c $(CC) -c Events.c $(CFLAGS) -$(SYSDIR)/XStruct-2.o: $(SYSDIR)/XStruct-2.c +$(SYSDIR)/XStruct-2.o: cmpinclude.h $(SYSDIR)/XStruct-2.c $(CC) -c XStruct-2.c $(CFLAGS) -$(SYSDIR)/XStruct-4.o: $(SYSDIR)/XStruct-4.c +$(SYSDIR)/XStruct-4.o: cmpinclude.h $(SYSDIR)/XStruct-4.c $(CC) -c XStruct-4.c $(CFLAGS) -general-c.o: general-c.c +general-c.o: cmpinclude.h general-c.c $(CC) -c general-c.c $(CFLAGS) tar: @@ -69,5 +72,5 @@ tar1: (cd .. ; tar cvf - $(TARD)/*.lsp $(TARD)/*.lisp $(TARD)/*.c $(TARD)/*.paper $(TARD)/README $(TARD)/makefile $(TARD)/version | gzip -c > $(TARD).tgz) clean: - rm -f *.o *.data Xgcl maxobjs $(PORTDIR)/saved_$(SYSTEM) + rm -f *.o *.data Xgcl maxobjs $(PORTDIR)/saved_$(SYSTEM) cmpinclude.h diff --git a/gcl/xgcl-2/sysdef.lisp b/gcl/xgcl-2/sysdef.lisp index ecd195b39..c7d135715 100644 --- a/gcl/xgcl-2/sysdef.lisp +++ b/gcl/xgcl-2/sysdef.lisp @@ -19,7 +19,9 @@ ; Some of the files that interface to the Xlib are adapted from DEC/MIT files. ; See the file dec.copyright for details. +(make-package :XLIB) (in-package :XLIB) +(sys::use-package '(:lisp :system :sys)) (defvar *files* '( "Xlib" "Xutil" diff --git a/gcl/xgcl-2/sysinit.lsp b/gcl/xgcl-2/sysinit.lsp index 4da8e4838..78ad62604 100644 --- a/gcl/xgcl-2/sysinit.lsp +++ b/gcl/xgcl-2/sysinit.lsp @@ -32,6 +32,12 @@ ;;of files which are linked into an image. (clines "#define init_or_load(fn,file) do {extern void fn(void); init_or_load1(fn,file);} while(0)") +(clines "static void") +(clines "load1(char *x) {") +(clines "printf(\"loading %s\\n\",x);") +(clines "fflush(stdout);") +(clines "load(x);") +(clines "}") #. (let ((files *files*)) @@ -39,6 +45,7 @@ (with-open-file (st "maxobjs" :direction :output) `(progn (clines "object user_init() {") + (clines "load1(\"../xgcl-2/sysdef.lisp\");") ,@(sloop::sloop for x in files for f = (substitute #\_ #\- x) for ff = (namestring (truename (format nil "~a.o" x))) |