diff --git a/ChangeLog.n b/ChangeLog.n index c0fffc679e524b3397cd51ac7980e5ec55172b36..647eabc7c77838a63b15bd6286ac4532e7bdaa05 100644 --- a/ChangeLog.n +++ b/ChangeLog.n @@ -1,3 +1,37 @@ +************************************************************* + +Thu Mar 14 21:11:06 PST 1996 Colin Meldrum (colin@vapor) + +Makefile.cobjs + replaced mainxm.o rule with makemainxm and added MAIN_OBJ + ACL_MAIN_OBJ to allow the one rule to be used for making both + mainxm.o and ics_mainxm.o + added a commentary on CLIM's current use of .o, .a and .so files + +Makefile.generic + removed ucl.clim and ucli.clim rules + made xm-dcl and xm-dcli rules create a ucl.clim (or ucli.clim) as well + +Makefile.sgi4d-svr4, Makefile.sun4, Makefile.rs6000 + added STD_DEFINES and AR defns for making Wnn/jlib. + +demo/japanese-graphics-editor.lisp + renamed functions with fat characters in them to use only plain + characters + this avoids spurious warnings when loading the demos into a non-ics + lisp + +tk/load-xm.lisp, tk/xm-init.lisp + now we simply always assume shared on all dlfcn archs except for rs6k + +tk-silica/xt-silica.lisp + fixed bracketting typo which was breaking font-set-from-font-list + from working correctly + +wnn/load-wnn.lisp + Put in error message to trap if someone tries to dynamically load + it on a dlfcn arch - they can't because we don't have a shared + libwnn ************************************************************* diff --git a/Makefile.cobjs b/Makefile.cobjs index c24e14b9b7255b8a7f1970f07fdf188bfe6094d7..e7dd1d9fa0809255595568aa94d2672561f21f23 100644 --- a/Makefile.cobjs +++ b/Makefile.cobjs @@ -1,4 +1,4 @@ -# $fiHeader: Makefile.cobjs,v 1.12 1995/11/08 06:11:10 georgej Exp $ +# $fiHeader: Makefile.cobjs,v 1.13 1996/03/13 09:55:07 colin Exp $ # # Makefile.cobj for CLIM 2.0 # @@ -67,10 +67,64 @@ climol.so: xlibsupport.o xtsupport.o olsupport.o # mainxm.o contains foreign code from the libraries X11,Xt and Xm # required by Motif version of CLIM statically linked -mainxm.o: $(ACL_MAIN_OBJ) $(PRODUCT-GENERIC-OBJS) $(STATIC-XM-OBJS) +makemainxm: $(ACL_MAIN_OBJ) $(PRODUCT-GENERIC-OBJS) $(STATIC-XM-OBJS) (eval '$(SET_LIBRARY_PATH)' ; \ - ld -r $(LDFLAGS) -o mainxm.o \ + ld -r $(LDFLAGS) -o $(MAIN_OBJ) \ $(ACL_MAIN_OBJ) \ stub-xt.o stub-x.o stub-motif.o \ $(TKLIB) $(XTLIB) $(XLIB) $(MOTIFXTRAS)) +# Here's the deal on the CLIM cobjs. (cim 3/13/96) +# +# 1. Objects that contain CLIM's C support code. When building a CLIM image +# these should always be linked in to the initial executable if possible. +# NB they are still required even if mainxm.o is being used. +# +# xtsupport.o +# xlibsupport.o +# xmsupport.o +# +# If they're not linked in then when climxm is loaded they will be +# loaded individually or in the case of dlfcn +# +# climxm.so +# +# (a shared library made from all of the above) will be loaded. +# +# 2. Stub files that define what we need from the X libraries - +# +# stub-xt.o +# stub-x.o +# stub-motif.o +# +# These also should always be linked in to the initial executable if +# possible. They are not required if mainxm.o is being used but using +# them will not do any harm as long as +# +# 3. All of the required functionality from the X libraries put into a +# single .o (with main for licensing restrictions on SunOS) +# +# mainxm.o +# ics_mainxm.o +# +# ics_mainxm.o is identical to mainxm.o except that it's built from a +# ci/main.o rather than a c/main.o +# +# in the distn +# mainxm.o -> dist-clim2/build/c/mainxm.o +# ics_mainxm.o -> dist-clim2-ics/build/ci/mainxm.o +# +# This needs to be used where the libraries are not available on the +# machine on which CLIM is being installed. If this is not available +# then the 3 stub files must be used. +# +# 4. Stub files + library for wnn +# +# stub-wnn.o +# libwnn.a +# +# Use both of these in creating the initial executable - the stub-wnn.o +# must come before the libwnn.a in the list of cobjs. +# +# On dlfcn we _have_ to link into the initial executable because we +# don't currently have a shared version of libwnn diff --git a/Makefile.defs b/Makefile.defs index dc1846a4630b3882ce9a9470e8e4b259810f9bcc..7a354123327e119361336e12c5fe9832fde307d1 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -1,4 +1,4 @@ -# $fiHeader: Makefile.defs,v 1.35 1996/03/01 05:41:26 colin Exp $ +# $fiHeader: Makefile.defs,v 1.36 1996/03/13 09:55:08 colin Exp $ # # Makefile.defs for CLIM 2.0 # @@ -103,7 +103,7 @@ SHARED-XM-OBJS= climxm.so STATIC-OL-OBJS= stub-olit.o olsupport.o SHARED-OL-OBJS= climol.so -WNNLIB = libwnn.a +WNNLIB = ./libwnn.a STATIC-WNN-OBJS=stub-wnn.o $(WNNLIB) # The default is for statically linked Motif diff --git a/Makefile.generic b/Makefile.generic index 409740678ef94ebc3fccd0d22b16e8f82e4d23b7..7fa70cef33f0edc5d0ffb8223ef257d518655d3c 100644 --- a/Makefile.generic +++ b/Makefile.generic @@ -1,4 +1,4 @@ -# $fiHeader: Makefile.generic,v 1.34 1996/03/01 05:41:30 colin Exp $ +# $fiHeader: Makefile.generic,v 1.35 1996/03/13 09:55:10 colin Exp $ # # Makefile.generic for CLIM 2.0 # @@ -239,7 +239,7 @@ echo_src_files: @echo $(PRODUCT_SRC_FILES) -################## Lower level Makefile stuff +################## Lower level make-dist stuff xm-dcl : stub-x.o stub-xt.o stub-motif.o \ xlibsupport.o xtsupport.o xmsupport.o @@ -250,13 +250,12 @@ xm-dcl : stub-x.o stub-xt.o stub-motif.o \ user_objects='$(PWD)/stub-x.o $(PWD)/stub-xt.o $(PWD)/stub-motif.o \ $(PWD)/xlibsupport.o $(PWD)/xmsupport.o $(PWD)/xtsupport.o \ $(CL_SRC)/code/excldep.o $(CL_SRC)/code/socket.o \ - $(TKLIB) $(XTLIB) $(XLIB)' dcl ;\ - /bin/mv dcl xm-dcl ; \ + $(TKLIB) $(XTLIB) $(XLIB) $(MOTIFXTRAS)' dcl ;\ + /bin/mv dcl xm-dcl ; /bin/mv ucl ucl.clim ;\ /bin/mv dcl.climsave dcl ; /bin/mv ucl.climsave ucl; $(RESTEXP) - xm-dcli : stub-x.o stub-xt.o stub-motif.o stub-wnn.o \ - xlibsupport.o xtsupport.o xmsupport.o + xlibsupport.o xtsupport.o xmsupport.o libwnn.a cd $(CL_SRC) ; \ /bin/mv dcli dcli.climsave ; /bin/mv ucli ucli.climsave ; $(SAVEEXPI) ; \ make initial_oldspace=$(OLDSPACE) oldspace=$(OLDSPACE) \ @@ -265,31 +264,10 @@ xm-dcli : stub-x.o stub-xt.o stub-motif.o stub-wnn.o \ $(PWD)/stub-wnn.o \ $(PWD)/xlibsupport.o $(PWD)/xmsupport.o $(PWD)/xtsupport.o \ $(CL_SRC)/code/excldep.o $(CL_SRC)/code/socket.o \ - $(TKLIB) $(XTLIB) $(XLIB) $(PWD)/libwnn.a' dcli ;\ - /bin/mv dcli xm-dcli ; \ + $(TKLIB) $(XTLIB) $(XLIB) $(PWD)/libwnn.a $(MOTIFXTRAS)' dcli ;\ + /bin/mv dcli xm-dcli ; /bin/mv ucli ucli.clim ;\ /bin/mv dcli.climsave dcli ; /bin/mv ucli.climsave ucli; $(RESTEXPI) -ucl.clim: stub-x.o stub-xt.o stub-motif.o \ - xlibsupport.o xtsupport.o xmsupport.o - cd $(CL_SRC) ; /bin/mv ucl ucl.climsave ; $(SAVEEXP) ; \ - make stubs=$(stubs) \ - user_objects=' \ - $(PWD)/stub-x.o $(PWD)/stub-xt.o $(PWD)/stub-motif.o \ - $(PWD)/xlibsupport.o $(PWD)/xmsupport.o $(PWD)/xtsupport.o \ - $(TKLIB) $(XTLIB) $(XLIB) $(MOTIFXTRAS)' ucl ;\ - /bin/mv ucl ucl.clim ; $(RESTEXP) ; /bin/mv ucl.climsave ucl - -ucli.clim: stub-x.o stub-xt.o stub-motif.o stub-wnn.o \ - xlibsupport.o xtsupport.o xmsupport.o - cd $(CL_SRC) ; /bin/mv ucli ucli.climsave ; $(SAVEEXPI) ; \ - make stubs=$(stubs) \ - user_objects=' \ - $(PWD)/stub-x.o $(PWD)/stub-xt.o $(PWD)/stub-motif.o \ - $(PWD)/stub-wnn.o \ - $(PWD)/xlibsupport.o $(PWD)/xmsupport.o $(PWD)/xtsupport.o \ - $(TKLIB) $(XTLIB) $(XLIB) $(PWD)/libwnn.a $(MOTIFXTRAS)' ucli ;\ - /bin/mv ucli ucli.clim ; $(RESTEXPI) ; /bin/mv ucli.climsave ucli - ################## End of make-dist stuff include Makefile.cobjs diff --git a/Makefile.rs6000 b/Makefile.rs6000 index 54ce5a46c72128ece2dd4deb81f248637ca3d08d..6cbc86db3f8c70c8d221d41b0fd47a7ab7c482bc 100644 --- a/Makefile.rs6000 +++ b/Makefile.rs6000 @@ -1,4 +1,4 @@ -# $fiHeader: Makefile.rs6000,v 1.4 1995/10/20 17:36:10 colin Exp $ +# $fiHeader: Makefile.rs6000,v 1.5 1996/03/13 09:55:14 colin Exp $ # # Makefile.rs6000 for CLIM 2.0 # @@ -17,6 +17,8 @@ XINCLUDES= -I/usr/include PRODUCT-OBJS= $(PRODUCT-GENERIC-OBJS) $(STATIC-XM-OBJS) $(SHARED-XM-OBJS) MAKE_SHARED = make_shared +STD_DEFINES = -DSYSV -DAIXV3 +AR = ar clq CL= ../src/xm-dcl diff --git a/Makefile.sgi4d-svr4 b/Makefile.sgi4d-svr4 index 69a67a7637811ec8722d066408b09b213963e367..25cab1c40cba13d16f1248995c7bf58d0175cf8b 100644 --- a/Makefile.sgi4d-svr4 +++ b/Makefile.sgi4d-svr4 @@ -1,4 +1,4 @@ -# $fiHeader: Makefile.sgi4d-svr4,v 1.7 1995/10/20 17:36:12 colin Exp $ +# $fiHeader: Makefile.sgi4d-svr4,v 1.8 1996/03/13 09:55:15 colin Exp $ # # Makefile.sigi4d-svr4 for CLIM 2.0 # @@ -18,5 +18,7 @@ PRODUCT-OBJS= $(PRODUCT-GENERIC-OBJS) $(STATIC-XM-OBJS) $(SHARED-XM-OBJS) PICFLAGS = -KPIC SHAREFLAGS = -shared -all MAKE_SHARED = ld +STD_DEFINES = -DSVR4 +AR = /usr/bin/ar cq include Makefile.generic diff --git a/Makefile.sun4 b/Makefile.sun4 index 0632eb9e3f93b1cd5029bd9239ec28d18f830ca4..3201d73d160b0a88b084e48827721ac4be70e5a6 100644 --- a/Makefile.sun4 +++ b/Makefile.sun4 @@ -1,4 +1,4 @@ -# $fiHeader: Makefile.sun4,v 1.12 1995/05/17 19:47:11 colin Exp $ +# $fiHeader: Makefile.sun4,v 1.13 1996/03/13 09:55:17 colin Exp $ # # Makefile.sun4 for CLIM 2.0 # @@ -15,6 +15,8 @@ TKLIB=$(MOTIFHOME)/usr/lib/libXm.a XTLIB=/net/louie/malle/colin/X11R5/Ximp-libs/libXt.a XLIB=/net/louie/malle/colin/X11R5/Ximp-libs/libX11.a +AR = ar cq + # not needed anymore - we make libwnn.a in clim-2.0 #WNNLIB=/usr/fi/X11R5/lib/libwnn.a diff --git a/demo/japanese-graphics-editor.lisp b/demo/japanese-graphics-editor.lisp index dec3e20d0c5d5df54a1e14474e2e6cf97d152810..454b1672e1b61fde2a1fb820a3ad0d5c3aca3031 100644 --- a/demo/japanese-graphics-editor.lisp +++ b/demo/japanese-graphics-editor.lisp @@ -1,6 +1,6 @@ ;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Package: JAPANESE-GRAPHICS-EDITOR; Base: 10; Lowercase: Yes -*- -;; $fiHeader: japanese-graphics-editor.lisp,v 1.2 1996/03/01 05:42:32 colin Exp $ +;; $fiHeader: japanese-graphics-editor.lisp,v 1.3 1996/03/13 09:55:40 colin Exp $ (in-package :japanese-graphics-editor) @@ -474,7 +474,7 @@ (dolist (object (slot-value frame 'objects)) (draw-object object stream))) -(define-graphics-editor-command (com-ボックスの成作) +(define-graphics-editor-command (com-create-box :name "ボックスの成作") ((left 'integer) (top 'integer)) (com-deselect-object) @@ -531,7 +531,7 @@ (setq box (make-box left top right bottom label style shape)) (return-from track-pointer))) (beep stream) - (return-from com-ボックスの成作))))) + (return-from com-create-box))))) (when box (setf (slot-value *application-frame* 'objects) (append (slot-value *application-frame* 'objects) (list box))) @@ -544,13 +544,13 @@ ;; A mouse click over blank area creates a new box. (define-presentation-to-command-translator create-box - (blank-area com-ボックスの成作 graphics-editor + (blank-area com-create-box graphics-editor :gesture :select :menu nil) (x y) (list x y)) ;; Select an object by clicking "select" (Mouse-Left) on it. -(define-graphics-editor-command com-ボックスの選択 +(define-graphics-editor-command (com-select-box :name "ボックスの選択") ((object 'box :gesture :select)) (select-object *application-frame* object) (setf (slot-value *application-frame* 'style) (object-style object) @@ -566,7 +566,7 @@ (deselect-object *application-frame* (frame-selected-object *application-frame*)))) ;; Move an object by clicking Mouse-Middle on it and dragging the mouse. -(define-graphics-editor-command com-ボックスの移動 +(define-graphics-editor-command (com-move-object :name "ボックスの移動") ((object 'box :gesture :describe)) (let ((stream (get-frame-pane *application-frame* 'display))) (with-bounding-rectangle* (left top right bottom) object diff --git a/sys/sysdcl.lisp b/sys/sysdcl.lisp index 0e7342832ef80c134614eb24267291f446630970..538ff43b0cae6a657687cde5ca3f86f3cd742839 100644 --- a/sys/sysdcl.lisp +++ b/sys/sysdcl.lisp @@ -1,6 +1,6 @@ ;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Package: CL-USER; Base: 10; Lowercase: Yes -*- -;; $fiHeader: sysdcl.lisp,v 1.50 1996/03/01 05:43:02 colin Exp $ +;; $fiHeader: sysdcl.lisp,v 1.51 1996/03/13 09:55:53 colin Exp $ (in-package :cl-user) @@ -12,7 +12,7 @@ (export '(excl::codeset-0 excl::codeset-1 excl::codeset-2 excl::codeset-3 excl::string-to-euc excl::euc-to-string) (find-package :excl)) - (export '(ff::euc-to-char* ff::char*-to-euc) (find-package :ff))) + (export '(ff::euc-to-char* ff::char*-to-euc ff::wchar*-to-string) (find-package :ff))) "Copyright (c) 1990, 1991, 1992 Symbolics, Inc. All rights reserved." diff --git a/tk-silica/xt-silica.lisp b/tk-silica/xt-silica.lisp index d1f3ac9512712287f32a41d3335cd1074f9413c7..601e09be34ed47056b1ff6350811ad6a139e2c7e 100644 --- a/tk-silica/xt-silica.lisp +++ b/tk-silica/xt-silica.lisp @@ -19,7 +19,7 @@ ;; Commercial Software developed at private expense as specified in ;; DOD FAR Supplement 52.227-7013 (c) (1) (ii), as applicable. ;; -;; $fiHeader: xt-silica.lisp,v 1.101 1996/03/01 05:44:25 colin Exp $ +;; $fiHeader: xt-silica.lisp,v 1.102 1996/03/13 09:56:15 colin Exp $ (in-package :xm-silica) @@ -944,7 +944,7 @@ (let ((mapping (text-style-mapping port text-style c))) (when mapping (push (cons c mapping) mappings)))) - (reverse mappings))))) + (reverse mappings)))) (defmethod font-set-from-font-list ((port xt-port) font-list) (let ((name "")) @@ -958,7 +958,7 @@ (setf (gethash name font-cache) (make-instance 'tk::font-set :display (port-display port) - :base-names name))))))) + :base-names name)))))))) (:-ics diff --git a/tk/load-xm.lisp b/tk/load-xm.lisp index 4df0796a08c7240574accf7df8bf497c63256887..e9135505a4636f3e24b081229c0214e4a837f0b1 100644 --- a/tk/load-xm.lisp +++ b/tk/load-xm.lisp @@ -17,24 +17,19 @@ ;; Commercial Software developed at private expense as specified in ;; DOD FAR Supplement 52.227-7013 (c) (1) (ii), as applicable. ;; -;; $fiHeader: load-xm.lisp,v 1.36 1995/11/08 06:14:05 georgej Exp $ +;; $fiHeader: load-xm.lisp,v 1.37 1996/03/13 09:56:03 colin Exp $ (in-package :user) (require :climg) #+dlfcn -(progn - -(defvar sys::*toolkit-static* - (or (ff:get-entry-point (ff:convert-to-lang "XmCreateMyDrawingArea") +(unless (ff:get-entry-point (ff:convert-to-lang "XmCreateMyDrawingArea") :note-shared-library-references nil) - (prog1 nil - (let ((ff::*dlopen-mode* (excl:ics-target-case - (:+ics #x102) - (:-ics ff::*dlopen-mode*)))) - (load "clim2:;climxm.so"))))) -) + (let ((ff::*dlopen-mode* (excl:ics-target-case + (:+ics #x102) + (:-ics ff::*dlopen-mode*)))) + (load "clim2:;climxm.so"))) #-dlfcn (progn diff --git a/tk/xm-init.lisp b/tk/xm-init.lisp index c6068b6eb289698dc2c964b3d93057bab93c5b45..a155a9b550132063f3ca612439915968a0d8ced1 100644 --- a/tk/xm-init.lisp +++ b/tk/xm-init.lisp @@ -19,7 +19,7 @@ ;; Commercial Software developed at private expense as specified in ;; DOD FAR Supplement 52.227-7013 (c) (1) (ii), as applicable. ;; -;; $fiHeader: xm-init.lisp,v 1.14 1995/06/21 21:24:22 georgej Exp $ +;; $fiHeader: xm-init.lisp,v 1.16 1995/11/08 06:15:03 georgej Exp $ (in-package :tk) @@ -33,14 +33,23 @@ (setq *xm-done* t)) +;; We only want to reinitialize if the toolkit was linked in shared. +;; Unfortunately there doesn't appear to be anyway of reliably +;; finding this out. Experience would indicate that the default is +;; to always link in the shared libraries except on rs6k (cim 3/14/96) + +#+dlfcn +(defparameter *toolkit-static* + #+rs6000 t + #-rs6000 nil) #+dlfcn (defun reinitialize-toolkit () - (xt_toolkit_initialize) - (setup-error-handlers) - (fixup-class-entry-points)) + (unless *toolkit-static* + (xt_toolkit_initialize) + (setup-error-handlers) + (fixup-class-entry-points))) #+dlfcn -(unless sys::*toolkit-static* - (push 'reinitialize-toolkit excl::*restart-actions*)) +(push 'reinitialize-toolkit excl::*restart-actions*) diff --git a/wnn/load-wnn.lisp b/wnn/load-wnn.lisp index a82a0e866883d204b78c2f4f59a412005f0dc424..4491315b91003ab375eed2a59c385b18ca2d9b4d 100644 --- a/wnn/load-wnn.lisp +++ b/wnn/load-wnn.lisp @@ -18,7 +18,7 @@ ;; 52.227-19 or DOD FAR Supplement 252.227-7013 (c) (1) (ii), as ;; applicable. ;; -;; $fiHeader: load-wnn.lisp,v 1.1 1995/10/20 17:42:19 colin Exp $ +;; $fiHeader: load-wnn.lisp,v 1.2 1996/03/13 09:56:55 colin Exp $ (in-package :user) @@ -36,8 +36,8 @@ #+dlfcn (unless (ff:get-entry-point (ff:convert-to-lang "jl_open_lang")) - (cerror "Continue without jlib" - "Can't load jlib dynamically - need to rebuild Lisp")) + (cerror "Continue without wnn" + "Can't load Wnn/jlib dynamically - need to rebuild Lisp")) (provide :wnn) (pushnew :wnn *features*)