diff --git a/Makefile.cobjs b/Makefile.cobjs
new file mode 100644
index 0000000000000000000000000000000000000000..e5a0ae82fd5ae1fb9541ef03f09549311c86408b
--- /dev/null
+++ b/Makefile.cobjs
@@ -0,0 +1,33 @@
+# $fiHeader: $
+#
+#  Makefile.cobj for CLIM 2.0, containing non-svr4 C rules
+#
+
+clim-motif.o	: stub-motif.o stub-xt.o $(MOTIFLIB)
+	ld -r $(LDFLAGS) -o clim-motif.o stub-motif.o stub-xt.o $(MOTIFXTRAOS) $(MOTIFLIB)
+
+clim-olit.o	: stub-olit.o stub-xt.o $(LIBXOL)
+	ld -r $(LDFLAGS) -o clim-olit.o stub-olit.o stub-xt.o $(LIBXOL)
+
+clim-motif_d.o	: stub-motif.o stub-xt.o $(MOTIFLIB_d)
+	ld -r  $(LDFLAGS) -o clim-motif_d.o stub-motif.o stub-xt.o $(MOTIFXTRAOS) $(MOTIFLIB_d)
+
+clim-olit_d.o	: stub-olit.o  stub-xt.o $(LIBXOL_d)
+	ld -r $(LDFLAGS) -o clim-olit_d.o stub-olit.o stub-xt.o $(LIBXOL_d)
+
+
+stub-motif.c	:  $(XT_UNDEFS)  $(XMC_UNDEFS) $(XM_UNDEFS) misc/make-stub-file misc/make-stub-file1
+	misc/make-stub-file "void ___lisp_load_motif_stub ()"  $(XT_UNDEFS) $(XM_UNDEFS) > /tmp/`whoami`stub-motif.c 
+	misc/make-stub-file1 "void ___lisp_load_motif_stub_vars ()"  $(XMC_UNDEFS) >> /tmp/`whoami`stub-motif.c 
+	$(MV) /tmp/`whoami`stub-motif.c  stub-motif.c 
+
+stub-olit.c	:   $(XT_UNDEFS) $(OL_UNDEFS) misc/make-stub-file misc/make-stub-file1
+	misc/make-stub-file "void ___lisp_load_olit_stub ()"   $(OL_UNDEFS) > /tmp/`whoami`stub-olit.c 
+	misc/make-stub-file1 "void ___lisp_load_olit_stub_vars ()"   $(OLC_UNDEFS) >> /tmp/`whoami`stub-olit.c 
+	$(MV) /tmp/`whoami`stub-olit.c  stub-olit.c 
+
+stub-x.c	:  $(UNDEFS) $(OL_UNDEFS) misc/make-stub-file
+	misc/make-stub-file "void ___lisp_load_x_stub ()"  $(UNDEFS) > stub-x.c 
+
+stub-xt.c	:  $(XT_UNDEFS) misc/make-stub-file
+	misc/make-stub-file "void ___lisp_load_xt_stub ()"  $(XT_UNDEFS)  > stub-xt.c 
diff --git a/Makefile.cobjs-svr4 b/Makefile.cobjs-svr4
new file mode 100644
index 0000000000000000000000000000000000000000..a55c6d30ed41eda7a8b7ec97d4b60e0e0ac15225
--- /dev/null
+++ b/Makefile.cobjs-svr4
@@ -0,0 +1,23 @@
+# $fiHeader: $
+
+climol.so:	xlibsupport.o xtsupport.o olsupport.o
+	ld -G -o climol.so xlibsupport.o xtsupport.o olsupport.o \
+		-L/usr/openwin/lib -lXol -lXt -lX11
+
+climxm.so:	xlibsupport.o xtsupport.o MyDrawingA.o
+	ld -G -o climxm.so xlibsupport.o xtsupport.o MyDrawingA.o \
+		-lXm -lXt -lX11 -lgen
+
+xlibsupport.o	: xlib/xlibsupport.c 
+	$(CC) -c -K pic $(CFLAGS) -o xlibsupport.o xlib/xlibsupport.c
+
+xtsupport.o: misc/xtsupport.c
+	$(CC) -c -K pic $(CFLAGS) $(XTSUPPORTINCLUDES) -o xtsupport.o \
+		misc/xtsupport.c
+
+MyDrawingA.o: misc/MyDrawingA.c
+	$(CC) -c -K pic $(CFLAGS) -o MyDrawingA.o misc/MyDrawingA.c
+
+olsupport.o: misc/olsupport.c
+	$(CC) -c -K pic $(CFLAGS) -o olsupport.o misc/olsupport.c
+
diff --git a/Makefile.defs b/Makefile.defs
index 8e59840798c9c567e6baf6e2d984f708e8aae351..167a6b5e27eb02328579ebe10c59c8cc15a554bf 100644
--- a/Makefile.defs
+++ b/Makefile.defs
@@ -159,11 +159,10 @@ MALLOCOBJS =
 # "Compile time objects" -- these go into clim-debug.fasl
 #
 DEBUG-OBJS = xlib/ffi.fasl xlib/xlib-defs.fasl xlib/xlib-funs.fasl \
-	     xlib/x11-keysyms.fasl xlib/last.fasl \
-	     tk/xt-defs.fasl tk/xt-funs.fasl 
+	     xlib/x11-keysyms.fasl tk/xt-defs.fasl tk/xt-funs.fasl 
 
-XM-DEBUG-OBJS = tk/xm-defs.fasl tk/xm-funs.fasl
-OL-DEBUG-OBJS = tk/ol-defs.fasl tk/ol-funs.fasl
+XM-DEBUG-OBJS = tk/xm-defs.fasl tk/xm-funs.fasl xlib/last.fasl
+OL-DEBUG-OBJS = tk/ol-defs.fasl tk/ol-funs.fasl xlib/last.fasl
 
 #
 # "Load time objects" -- these go into clim.fasl
@@ -520,4 +519,4 @@ CLIM1COMPAT= compatibility/packages.fasl compatibility/clim1-compatibility.fasl
 
 BENCHMARK_FILE=nil
 
-
+C_OBJECT_MAKEFILE = Makefile.cobjs
diff --git a/Makefile.generic b/Makefile.generic
index 687e65787fbd55c7d78d6a65d6a8c3733ea3ba80..da3a332cb8f5d6b1ba0e8cef5d0cb4e7a71d303c 100644
--- a/Makefile.generic
+++ b/Makefile.generic
@@ -58,6 +58,8 @@ cat-g:	climg.fasl clim-debug.fasl climps.fasl climgg.fasl climhpgl.fasl # clim1c
 cat-xm:	cat-g climxm.fasl clim-debugxm.fasl 
 cat-ol:	cat-g climol.fasl clim-debugol.fasl 
 
+# part of XLIB-CLIM-OBJS will have to be put at the beginning climxm and climol
+
 climg.fasl	: $(GENERIC-OBJS) $(XLIB-CLIM-OBJS)
 	$(CAT) $(GENERIC-OBJS) $(XLIB-CLIM-OBJS) > $(TMP)/clim.fasl_`whoami`
 	$(MV) $(TMP)/clim.fasl_`whoami` climg.fasl
@@ -264,47 +266,7 @@ dcl	:
 	cd $(CL_SRC) ; /bin/rm -f ucl ;\
 	make dcl	
 
-clim-motif.o	: stub-motif.o stub-xt.o $(MOTIFLIB)
-	ld -r $(LDFLAGS) -o clim-motif.o stub-motif.o stub-xt.o $(MOTIFXTRAOS) $(MOTIFLIB)
-
-clim-olit.o	: stub-olit.o stub-xt.o $(LIBXOL)
-	ld -r $(LDFLAGS) -o clim-olit.o stub-olit.o stub-xt.o $(LIBXOL)
-
-clim-motif_d.o	: stub-motif.o stub-xt.o $(MOTIFLIB_d)
-	ld -r  $(LDFLAGS) -o clim-motif_d.o stub-motif.o stub-xt.o $(MOTIFXTRAOS) $(MOTIFLIB_d)
-
-clim-olit_d.o	: stub-olit.o  stub-xt.o $(LIBXOL_d)
-	ld -r $(LDFLAGS) -o clim-olit_d.o stub-olit.o stub-xt.o $(LIBXOL_d)
-
-
-stub-motif.c	:  $(XT_UNDEFS)  $(XMC_UNDEFS) $(XM_UNDEFS) misc/make-stub-file misc/make-stub-file1
-	misc/make-stub-file "void ___lisp_load_motif_stub ()"  $(XT_UNDEFS) $(XM_UNDEFS) > /tmp/`whoami`stub-motif.c 
-	misc/make-stub-file1 "void ___lisp_load_motif_stub_vars ()"  $(XMC_UNDEFS) >> /tmp/`whoami`stub-motif.c 
-	$(MV) /tmp/`whoami`stub-motif.c  stub-motif.c 
-
-stub-olit.c	:   $(XT_UNDEFS) $(OL_UNDEFS) misc/make-stub-file misc/make-stub-file1
-	misc/make-stub-file "void ___lisp_load_olit_stub ()"   $(OL_UNDEFS) > /tmp/`whoami`stub-olit.c 
-	misc/make-stub-file1 "void ___lisp_load_olit_stub_vars ()"   $(OLC_UNDEFS) >> /tmp/`whoami`stub-olit.c 
-	$(MV) /tmp/`whoami`stub-olit.c  stub-olit.c 
-
-stub-x.c	:  $(UNDEFS) $(OL_UNDEFS) misc/make-stub-file
-	misc/make-stub-file "void ___lisp_load_x_stub ()"  $(UNDEFS) > stub-x.c 
-
-stub-xt.c	:  $(XT_UNDEFS) misc/make-stub-file
-	misc/make-stub-file "void ___lisp_load_xt_stub ()"  $(XT_UNDEFS)  > stub-xt.c 
-
-xlibsupport.o	: xlib/xlibsupport.c
-	$(CC) -c $(CFLAGS) -o xlibsupport.o xlib/xlibsupport.c
-
-
-xtsupport.o: misc/xtsupport.c
-	$(CC) -c $(CFLAGS) $(XTSUPPORTINCLUDES) -o xtsupport.o misc/xtsupport.c
-
-MyDrawingA.o: misc/MyDrawingA.c
-	$(CC) -c $(CFLAGS) -o MyDrawingA.o misc/MyDrawingA.c
-
-olsupport.o: misc/olsupport.c
-	$(CC) -c $(CFLAGS) -o olsupport.o misc/olsupport.c
+include $(C_OBJECT_MAKEFILE)
 
 FORCE	: 
 
diff --git a/Makefile.svr4 b/Makefile.svr4
new file mode 100644
index 0000000000000000000000000000000000000000..762a87a7404bfaaa57673ab489076884900d07ba
--- /dev/null
+++ b/Makefile.svr4
@@ -0,0 +1,34 @@
+# $fiHeader: $
+
+include Makefile.defs
+
+C_OBJECT_MAKEFILE = Makefile.cobjs-svr4
+
+XLIB-CLIM-OBJS = xlib/pkg.fasl
+
+MOTIF_OBJS= climxm.so
+OPENLOOK_OBJS= climol.so
+CLIMOBJS= climxm.so climol.so
+
+MOTIFLIB=/usr/lib/libXm$(DEBUGLIB).a
+MOTIFLIB_d=/usr/lib/libXm.a
+XLIB= /usr/lib/libX11$(DEBUGLIB).a 
+XTLIB=/usr/lib/libXt$(DEBUGLIB).a
+XINCLUDES=-I/usr/include
+XTSUPPORTINCLUDES=-I/net/vapor/x11/R5/src/mit/lib/Xt
+MOTIFXTRAOS=
+
+OLXLIB= /usr/lib/libX11.a
+OLXTLIB=/usr/lib/libXt.a
+
+############ overrides of things defined in Makefile.defs
+OPENWINHOME = /usr/openwin
+CL_SRC = xxxxxxxxxxxxxxxxxxxxx
+OLCOPYLIB=not-used-xxxxx
+OLXLIBS=/usr/openwin/lib/libXt.a /usr/openwin/lib/libX11.a
+LIBXOL=/usr/openwin/lib/libXol.a
+LIBXOL_d=$(LIBXOL)
+CL = ../src/dcl
+PWD = .
+
+include Makefile.generic
diff --git a/sys/sysdcl.lisp b/sys/sysdcl.lisp
index 3143d7d103488553b198579390233646b7aa2808..ca6691114c22e8735c53621cb71c7e962a834b93 100644
--- a/sys/sysdcl.lisp
+++ b/sys/sysdcl.lisp
@@ -338,9 +338,10 @@
 					       "xlib/last.lisp")))
   ("ffi")
   ("xlib-defs" #|:load-before-compile ("ffi") |#) ; Takes forever to ; compile...
-  ("load-xlib")
+  #-svr4 ("load-xlib")
   ("xlib-funs" :load-before-compile ("ffi"))
   ("x11-keysyms" :load-before-compile ("ffi"))
+  #-svr4
   ("last" :load-before-compile ("load-xlib" "xlib-funs")))
 
 #+Allegro
@@ -353,6 +354,15 @@
 		   :needed-systems (xlib)
 		   :load-before-compile (xlib))
 		(,file)
+		#+svr4
+		("last" :pathname
+			(namestring (merge-pathnames
+				     "last.lisp"
+				     (frob-pathname "xlib")))
+			:binary-pathname
+			(namestring (merge-pathnames
+				     "last.fasl"
+				     (frob-pathname "xlib"))))
 		("pkg")
 		("macros")
 		("xt-defs")			; Used to be 'xtk'.
diff --git a/tk-silica/last.lisp b/tk-silica/last.lisp
index c569b57a2663512f0534398a0e48c1ed192e286b..f17eec078a0d7782669b69ecbba46e9b71dacaad 100644
--- a/tk-silica/last.lisp
+++ b/tk-silica/last.lisp
@@ -1,6 +1,6 @@
 ;; -*- mode: common-lisp; package: system -*-
 ;;
-;;				-[]-
+;;				-[Thu Apr 15 18:06:28 1993 by layer]-
 ;; 
 ;; copyright (c) 1985, 1986 Franz Inc, Alameda, CA  All rights reserved.
 ;; copyright (c) 1986-1992 Franz Inc, Berkeley, CA  All rights reserved.
@@ -25,6 +25,8 @@
 
 (in-package :system)
 
+(defvar system::*devel* nil)
+
 (load-application 
  (load-patches
   "patch"
diff --git a/tk/load-ol.lisp b/tk/load-ol.lisp
index df8c12ca88961997716ba1134ab8f0602bf07b6d..4f5b108909fa87fcdf0d280132c0fb3f521e833b 100644
--- a/tk/load-ol.lisp
+++ b/tk/load-ol.lisp
@@ -1,6 +1,6 @@
 ;; -*- mode: common-lisp; package: user -*-
 ;;
-;;				-[]-
+;;				-[Thu Apr 15 17:05:49 1993 by layer]-
 ;; 
 ;; copyright (c) 1985, 1986 Franz Inc, Alameda, CA  All rights reserved.
 ;; copyright (c) 1986-1991 Franz Inc, Berkeley, CA  All rights reserved.
@@ -27,24 +27,29 @@
 (provide :climxm)
 (require :climg)
 
-(defvar sys::*libxt-pathname* "/x11/R4/sun4-lib/libXt.a")
-(defvar sys::*clim-olit-pathname* "clim-olit.o")
+#+svr4
+(load "climol.so")
 
-(x11::load-undefined-symbols-from-library
-  sys::*clim-olit-pathname*
- (x11::symbols-from-file "misc/undefinedsymbols.olit")
- (list sys::*libxt-pathname* sys::*libx11-pathname*))
+#-svr4
+(progn
+  (defvar sys::*libxt-pathname* "/x11/R4/sun4-lib/libXt.a")
+  (defvar sys::*clim-olit-pathname* #+svr4 "clim-olit.so" #-svr4 "clim-olit.o")
 
-(unless (ff:get-entry-point (ff:convert-to-lang "ol_appl_add_item"))
-  (load "olsupport.o"
-	:system-libraries (list sys::*libxt-pathname*
-				sys::*libx11-pathname*)
-	:print t))
+  (x11::load-undefined-symbols-from-library
+   sys::*clim-olit-pathname*
+   (x11::symbols-from-file "misc/undefinedsymbols.olit")
+   (list sys::*libxt-pathname* sys::*libx11-pathname*))
 
-(unless (ff:get-entry-point (ff:convert-to-lang "XtAppIntervalNextTimer"))
-    (load "xtsupport.o"
+  (unless (ff:get-entry-point (ff:convert-to-lang "ol_appl_add_item"))
+    (load "olsupport.o"
 	  :system-libraries (list sys::*libxt-pathname*
 				  sys::*libx11-pathname*)
 	  :print t))
 
+  (unless (ff:get-entry-point (ff:convert-to-lang "XtAppIntervalNextTimer"))
+    (load "xtsupport.o"
+	  :system-libraries (list sys::*libxt-pathname*
+				  sys::*libx11-pathname*)
+	  :print t)))
+
 (pushnew :clim-openlook *features*)
diff --git a/tk/load-xm.lisp b/tk/load-xm.lisp
index a0dadab8dd9d19cb79b13f5203d08d2617be6411..3e661d1da1ba76a9ec29b23e955ba31a73a7dfdf 100644
--- a/tk/load-xm.lisp
+++ b/tk/load-xm.lisp
@@ -1,6 +1,6 @@
 ;; -*- mode: common-lisp; package: user -*-
 ;;
-;;				-[]-
+;;				-[Thu Apr 15 17:05:21 1993 by layer]-
 ;; 
 ;; copyright (c) 1985, 1986 Franz Inc, Alameda, CA  All rights reserved.
 ;; copyright (c) 1986-1991 Franz Inc, Berkeley, CA  All rights reserved.
@@ -27,27 +27,32 @@
 (provide :climxm)
 (require :climg)
 
-;;;; 
-(defvar sys::*libxt-pathname* "/x11/R4/sun4-lib/libXt.a")
-(defvar sys::*clim-motif-pathname* "clim-motif.o")
+#+svr4
+(load "climxm.so")
 
-(x11::load-undefined-symbols-from-library
- sys::*clim-motif-pathname*
- (x11::symbols-from-file "misc/undefinedsymbols.motif")
- (list sys::*libxt-pathname* sys::*libx11-pathname*))
+#-svr4
+(progn
+  (defvar sys::*libxt-pathname* "/x11/R4/sun4-lib/libXt.a")
+  (defvar sys::*clim-motif-pathname*
+      "clim-motif.o")
 
-(unless (ff:get-entry-point (ff:convert-to-lang "XmCreateMyDrawingArea"))
-  (load "MyDrawingA.o"
-	:system-libraries (list sys::*libxt-pathname*
-				sys::*libx11-pathname*)
-	:print t))
+  (x11::load-undefined-symbols-from-library
+   sys::*clim-motif-pathname*
+   (x11::symbols-from-file "misc/undefinedsymbols.motif")
+   (list sys::*libxt-pathname* sys::*libx11-pathname*))
 
-(unless (ff:get-entry-point (ff:convert-to-lang "XtAppIntervalNextTimer"))
-    (load "xtsupport.o"
+  (unless (ff:get-entry-point (ff:convert-to-lang "XmCreateMyDrawingArea"))
+    (load "MyDrawingA.o"
 	  :system-libraries (list sys::*libxt-pathname*
 				  sys::*libx11-pathname*)
 	  :print t))
 
+  (unless (ff:get-entry-point (ff:convert-to-lang "XtAppIntervalNextTimer"))
+    (load "xtsupport.o"
+	  :system-libraries (list sys::*libxt-pathname*
+				  sys::*libx11-pathname*)
+	  :print t)))
+
 (pushnew :clim-motif *features*)
 
 
diff --git a/tk/make-classes.lisp b/tk/make-classes.lisp
index 4fb732d102ebb57084f6dfacfeccf6e775d8c844..3a1a97c0d2590a814a8db2bb88b814c0904ef717 100644
--- a/tk/make-classes.lisp
+++ b/tk/make-classes.lisp
@@ -1,6 +1,6 @@
 ;; -*- mode: common-lisp; package: tk -*-
 ;;
-;;				-[]-
+;;				-[Fri Apr 16 08:55:32 1993 by layer]-
 ;; 
 ;; copyright (c) 1985, 1986 Franz Inc, Alameda, CA  All rights reserved.
 ;; copyright (c) 1986-1991 Franz Inc, Berkeley, CA  All rights reserved.
@@ -217,6 +217,7 @@
 
 
 (defun define-toolkit-classes (&rest classes)
+  (break "define-toolkit-classes")
   (make-classes 
    (mapcar #'ff:convert-to-lang
 	   (remove-duplicates 
@@ -231,6 +232,8 @@
     (case name
       ;; Openlook
       (list 'ol-list)
+      (list-pane 'ol-list)
+      (event-obj 'event)
       (t name))))
   
 (defun lispify-tk-name (string &key 
diff --git a/tk/resources.lisp b/tk/resources.lisp
index d77f21f184bb66c009334109b4a6e37cd02ee9b1..9f30d5832ce2ee0eaf95b4c0c3c80d818423ec40 100644
--- a/tk/resources.lisp
+++ b/tk/resources.lisp
@@ -1,6 +1,6 @@
 ;; -*- mode: common-lisp; package: tk -*-
 ;;
-;;				-[]-
+;;				-[Fri Apr 16 09:24:22 1993 by layer]-
 ;; 
 ;; copyright (c) 1985, 1986 Franz Inc, Alameda, CA  All rights reserved.
 ;; copyright (c) 1986-1991 Franz Inc, Berkeley, CA  All rights reserved.
@@ -342,7 +342,7 @@
        value)
       ((null args)
        (make-array (length new-args)
-		   :element-type '(signed-byte 32)
+		   :element-type '(unsigned-byte 32)
 		   :initial-contents (nreverse new-args)))
     (setq keyword (pop args)
 	  value (pop args))
@@ -352,9 +352,11 @@
 	(push (resource-original-name resource) new-args)
 	(let ((type (resource-type resource)))
 	  (push
-	   (if (resource-type-set-conversion-p type)
-	       (convert-resource-out parent type value)
-	     value)
+	   (logand
+	    #xffffffff
+	    (if (resource-type-set-conversion-p type)
+		(convert-resource-out parent type value)
+	      value))
 	   new-args))))))
 
 
diff --git a/xlib/load-xlib.lisp b/xlib/load-xlib.lisp
index 7bc466ef745064b7e8b94f279b347741211acfbb..27b67d300fadc3ca8c7b0d5be2241b1a64106312 100644
--- a/xlib/load-xlib.lisp
+++ b/xlib/load-xlib.lisp
@@ -1,6 +1,6 @@
 ;; -*- mode: common-lisp; package: x11 -*-
 ;;
-;;				-[]-
+;;				-[Thu Apr 15 17:04:18 1993 by layer]-
 ;; 
 ;; copyright (c) 1985, 1986 Franz Inc, Alameda, CA  All rights reserved.
 ;; copyright (c) 1986-1992 Franz Inc, Berkeley, CA  All rights reserved.
@@ -52,7 +52,8 @@
 (defvar sys::*libx11-pathname* "/x11/R4/sun4-lib/libX11.a")
 
 (unless (ff:get-entry-point (ff:convert-to-lang "lisp_XDrawString"))
-  (load "xlibsupport.o" :system-libraries (list sys::*libx11-pathname*) :print t))
+  (load "xlibsupport.o"
+	:system-libraries (list sys::*libx11-pathname*) :print t))
 
 (x11::load-undefined-symbols-from-library
  "stub-x.o"
diff --git a/xlib/xlib-funs.lisp b/xlib/xlib-funs.lisp
index 58dda3f184de7305e21703f11b0ce4db9242388a..bcfdfcb80ed0fa25a9ef8b14ddf3d6f102b80846 100644
--- a/xlib/xlib-funs.lisp
+++ b/xlib/xlib-funs.lisp
@@ -58,8 +58,6 @@
    (pixels (:pointer unsigned-long))
    (ncolors unsigned-int))
 
-(x11::defforeign-functions-now)
-
 (def-exported-foreign-function (xalloccolorplanes (:return-type int) (:name "XAllocColorPlanes")) 
    (dpy (:pointer display))
    (cmap colormap)