drapeau@jessica.stanford.edu (George D. Drapeau) (12/21/88)
Last week, Johan Widen (jw@sics.se) posted a message with instructions
on how to create a shared library version of libX11.a for Suns running
SunOS 4.0. In his message, he mentioned that he made changes to
Imakefile's to take advantage of the shared libraries, and that all
the Imakefile's in the client/ subdirectory would have to be changed.
I've changed the Imakefiles as he suggested, and am including a file
with all the patches I made. Here's how you can use them:
(These instructions assume you've already made the shared libX11 library)
-- cd to $X11/clients, where $X11 is the top of your X11R3 source tree.
-- type "patch -p <patchFile" after you've saved the patches below
into a file.
-- Add the following lines to your site.def file:
#ifndef SunSharedLibs
#define SunSharedLibs
#endif
-- Do whatever it is you do to re-create the clients' Makefiles (e.g.,
type "make Makefiles")
-- Recompile the clients.
If anybody has made shared versions of any of the other X11 libraries,
I'd love to hear about it.
______________________________________________________________________________
George D. Drapeau Internet: drapeau@jessica.stanford.edu
Academic Information Resources
Stanford University
_______________________ cut here _______________________
*** bitmap/Imakefile.old Fri Dec 16 19:03:24 1988
--- bitmap/Imakefile Fri Dec 16 18:48:45 1988
***************
*** 6,12 ****
--- 6,18 ----
OBJS3 = atobm.o
PROGRAMS = bitmap bmtoa atobm
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ ComplexProgramTarget_1(bitmap,$(XMULIB),-lm)
+ #else
ComplexProgramTarget_1(bitmap,$(XMULIB) $(XLIB),-lm)
+ #endif
+
SingleProgramTarget(bmtoa,$(OBJS2),$(XMULIB),)
SingleProgramTarget(atobm,$(OBJS3),,)
InstallProgramWithFlags(bmtoa,$(BINDIR),)
*** uwm/Imakefile.old Fri Dec 16 19:03:24 1988
--- uwm/Imakefile Fri Dec 16 19:08:45 1988
***************
*** 1,6 ****
--- 1,10 ----
DEFINES = -DSYSFILE=\"$(UWMDIR)$(PATHSEP)system.uwmrc\"
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -ll -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
SYS_LIBRARIES = -ll
+ #endif
OTHERSRCS = gram.y lex.l
YFLAGS = -d
*** x10tox11/Imakefile.old Fri Dec 16 19:03:24 1988
--- x10tox11/Imakefile Fri Dec 16 19:11:17 1988
***************
*** 12,18 ****
--- 12,24 ----
access.o dispatch.o main.o startup.o
# DEFINES = -DDEBUG -DDUALTCP ConnectionFlags
DEFINES = -DDUALTCP ConnectionFlags
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(OLDXLIB)
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(OLDXLIB) $(XLIB)
+ #endif
+
LINTLIBS = $(LINTXLIB)
ComplexProgramTarget(x10tox11)
*** xbiff/Imakefile.old Fri Dec 16 19:03:25 1988
--- xbiff/Imakefile Fri Dec 16 19:12:12 1988
***************
*** 1,6 ****
--- 1,11 ----
INCLUDES = -I$(TOP) -I$(TOP)/X11
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB)
+ SYS_LIBRARIES = -lm -lX11
+ #else
LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
SYS_LIBRARIES = -lm
+ #endif
SRCS = xbiff.c
OBJS = xbiff.o
*** xcalc/Imakefile.old Fri Dec 16 19:03:25 1988
--- xcalc/Imakefile Fri Dec 16 19:12:59 1988
***************
*** 1,5 ****
--- 1,9 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lm -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
SYS_LIBRARIES = -lm
+ #endif
#ifdef MacIIArchitecture
DEFINES = -DIEEE
#endif /* MacIIArchitecture */
*** xclipboard/Imakefile.old Fri Dec 16 19:03:25 1988
--- xclipboard/Imakefile Fri Dec 16 19:13:49 1988
***************
*** 7,13 ****
--- 7,18 ----
SRCS2 = xcutsel.c
OBJS2 = xcutsel.o
PROGRAMS = xclipboard xcutsel
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB)
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+ #endif
ComplexProgramTarget_1(xclipboard,$(LOCAL_LIBRARIES),)
ComplexProgramTarget_2(xcutsel,$(LOCAL_LIBRARIES),)
*** xclock/Imakefile.old Fri Dec 16 19:03:26 1988
--- xclock/Imakefile Fri Dec 16 19:14:28 1988
***************
*** 1,6 ****
--- 1,11 ----
INCLUDES = -I$(TOP) -I$(TOP)/X11
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB)
+ SYS_LIBRARIES = -lm -lX11
+ #else
LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
SYS_LIBRARIES = -lm
+ #endif
SRCS = xclock.c
OBJS = xclock.o
*** xdm/Imakefile.old Fri Dec 16 19:03:26 1988
--- xdm/Imakefile Fri Dec 16 19:15:34 1988
***************
*** 10,16 ****
--- 10,21 ----
XDMCONFIGDIR = XdmConfigurationSubdirectory
SUBDIRS = $(XDMCONFIGDIR)
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB)
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+ #endif
SRCS1 = buf.c daemon.c display.c displaylist.c dm.c error.c \
file.c greet.c pseudoreset.c resource.c \
session.c socket.c verify.c Login.c
*** xdpyinfo/Imakefile.old Fri Dec 16 19:03:26 1988
--- xdpyinfo/Imakefile Fri Dec 16 19:16:12 1988
***************
*** 1,2 ****
--- 1,6 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SimpleProgramTarget(xdpyinfo)
*** xedit/Imakefile.old Fri Dec 16 19:03:27 1988
--- xedit/Imakefile Fri Dec 16 19:16:51 1988
***************
*** 2,9 ****
--- 2,14 ----
#include BandAidCompiler
#endif
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB)
+ SYS_LIBRARIES = -lm -lX11
+ #else
LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
SYS_LIBRARIES = -lm
+ #endif
SRCS = xedit.c EDiskSrc.c ap.c commands.c ps.c util.c
OBJS = xedit.o EDiskSrc.o ap.o commands.o ps.o util.o
*** xev/Imakefile.old Fri Dec 16 19:03:27 1988
--- xev/Imakefile Fri Dec 16 19:17:30 1988
***************
*** 1,3 ****
LOCAL_LIBRARIES = $(XLIB)
!
SimpleProgramTarget(xev)
--- 1,6 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
! #endif
SimpleProgramTarget(xev)
*** xfd/Imakefile.old Fri Dec 16 19:03:27 1988
--- xfd/Imakefile Fri Dec 16 19:18:06 1988
***************
*** 1,4 ****
--- 1,8 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SRCS = xfd.c wsimple.c
OBJS = xfd.o wsimple.o
*** xhost/Imakefile.old Fri Dec 16 19:03:27 1988
--- xhost/Imakefile Fri Dec 16 19:18:44 1988
***************
*** 1,4 ****
--- 1,9 ----
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XMULIB)
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XMULIB) $(XLIB)
+ #endif
DEFINES = ConnectionFlags
SimpleProgramTarget(xhost)
*** xinit/Imakefile.old Fri Dec 16 19:03:28 1988
--- xinit/Imakefile Fri Dec 16 19:20:49 1988
***************
*** 1,11 ****
--- 1,20 ----
DEFINES = ConnectionFlags -DBINDIR=\"$(BINDIR)\"
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
+
SRCS1 = xinit.c
OBJS1 = xinit.o
SAMPLECONFIGS = xinitrc /* xserverrc */
PROGRAMS = xinit startx $(SAMPLECONFIGS)
+ #ifdef SunSharedLibs
+ ComplexProgramTarget_1(xinit,,)
+ #else
ComplexProgramTarget_1(xinit,$(XLIB),)
+ #endif
MakeScriptFromCpp(startx, -DXINITDIR=$(XINITDIR))
MakeScriptFromCpp(xinitrc, -DXINITDIR=$(XINITDIR))
*** xkill/Imakefile.old Fri Dec 16 19:03:28 1988
--- xkill/Imakefile Fri Dec 16 19:21:42 1988
***************
*** 1,3 ****
--- 1,8 ----
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XMULIB)
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XMULIB) $(XLIB)
+ #endif
SimpleProgramTarget(xkill)
*** xload/Imakefile.old Fri Dec 16 19:03:28 1988
--- xload/Imakefile Fri Dec 16 19:22:19 1988
***************
*** 1,5 ****
--- 1,10 ----
INCLUDES = -I$(TOP) -I$(TOP)/X11
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB)
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+ #endif
SRCS = xload.c
OBJS = xload.o
*** xlogo/Imakefile.old Fri Dec 16 19:03:29 1988
--- xlogo/Imakefile Fri Dec 16 19:22:48 1988
***************
*** 1,4 ****
--- 1,9 ----
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB)
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+ #endif
SRCS = xlogo.c
OBJS = xlogo.o
*** xlsfonts/Imakefile.old Fri Dec 16 19:03:29 1988
--- xlsfonts/Imakefile Fri Dec 16 19:23:18 1988
***************
*** 1,4 ****
--- 1,8 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SRCS = xlsfonts.c dsimple.c
OBJS = xlsfonts.o dsimple.o
*** xlswins/Imakefile.old Fri Dec 16 19:03:29 1988
--- xlswins/Imakefile Fri Dec 16 19:23:49 1988
***************
*** 1,3 ****
--- 1,7 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SimpleProgramTarget(xlswins)
*** xmag/Imakefile.old Fri Dec 16 19:03:30 1988
--- xmag/Imakefile Fri Dec 16 19:24:27 1988
***************
*** 1,3 ****
--- 1,7 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SimpleProgramTarget(xmag)
*** xman/Imakefile.old Fri Dec 16 19:03:30 1988
--- xman/Imakefile Fri Dec 16 19:25:17 1988
***************
*** 26,32 ****
--- 26,37 ----
# Original idea borrowed from an X10 implementation created by Barry Shein
#
DEFINES = -DHELPFILE=\"$(LIBDIR)$(PATHSEP)xman.help\"
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB)
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+ #endif
SRCS = ScrollByL.c handler.c man.c pages.c buttons.c help.c menu.c \
search.c globals.c main.c misc.c tkfuncs.c
OBJS = ScrollByL.o handler.o man.o pages.o buttons.o help.o menu.o \
*** xmh/Imakefile.old Fri Dec 16 19:03:30 1988
--- xmh/Imakefile Fri Dec 16 19:25:54 1988
***************
*** 3,9 ****
--- 3,14 ----
#endif
INCLUDES = -I$(TOP) -I$(AWIDGETSRC) -I$(TOOLKITSRC)
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB)
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+ #endif
SRCS = EDiskSrc.c bbox.c button.c command.c compfuncs.c \
folder.c icon.c init.c main.c mlist.c msg.c pick.c popup.c \
*** xmodmap/Imakefile.old Fri Dec 16 19:03:31 1988
--- xmodmap/Imakefile Fri Dec 16 19:26:26 1988
***************
*** 1,4 ****
--- 1,8 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SRCS = xmodmap.c pf.c handle.c exec.c
OBJS = xmodmap.o pf.o handle.o exec.o
*** xpr/Imakefile.old Fri Dec 16 19:03:31 1988
--- xpr/Imakefile Fri Dec 16 19:26:57 1988
***************
*** 1,4 ****
--- 1,8 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
DEFINES = -DNOINLINE
SRCS = xpr.c x2pmp.c
*** xprop/Imakefile.old Fri Dec 16 19:03:31 1988
--- xprop/Imakefile Fri Dec 16 19:27:33 1988
***************
*** 1,4 ****
--- 1,8 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SRCS = xprop.c dsimple.c
OBJS = xprop.o dsimple.o
*** xpseudoroot/Imakefile.old Fri Dec 16 19:03:32 1988
--- xpseudoroot/Imakefile Fri Dec 16 19:28:12 1988
***************
*** 19,25 ****
--- 19,29 ----
*/
INCLUDES = -I$(TOP) -I$(TOP)/lib/X
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SRCS = pseudoroot.c SetPRoot.c
OBJS = pseudoroot.o SetPRoot.o
STD_DEFINES = ServerDefines
*** xrdb/Imakefile.old Fri Dec 16 19:03:32 1988
--- xrdb/Imakefile Fri Dec 16 19:28:46 1988
***************
*** 1,3 ****
--- 1,7 ----
DEFINES = -DCPP="\"$(CPP)\""
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SimpleProgramTarget(xrdb)
*** xrefresh/Imakefile.old Fri Dec 16 19:03:32 1988
--- xrefresh/Imakefile Fri Dec 16 19:29:15 1988
***************
*** 1,3 ****
--- 1,7 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SimpleProgramTarget(xrefresh)
*** xset/Imakefile.old Fri Dec 16 19:03:33 1988
--- xset/Imakefile Fri Dec 16 19:29:51 1988
***************
*** 1,3 ****
LOCAL_LIBRARIES = $(XMULIB) $(XLIB)
!
SimpleProgramTarget(xset)
--- 1,7 ----
+ #ifdef SunSharedLibs
+ LOCAL_LIBRARIES = $(XMULIB)
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XMULIB) $(XLIB)
! #endif
SimpleProgramTarget(xset)
*** xsetroot/Imakefile.old Fri Dec 16 19:03:33 1988
--- xsetroot/Imakefile Fri Dec 16 19:30:17 1988
***************
*** 1,4 ****
--- 1,8 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SRCS = xsetroot.c
OBJS = xsetroot.o
*** xterm/Imakefile.old Fri Dec 16 19:03:33 1988
--- xterm/Imakefile Fri Dec 16 19:31:23 1988
***************
*** 36,44 ****
--- 36,51 ----
PROGRAMS = resize xterm
INSTALLFLAGS = $(INSTUIDFLAGS)
INCLUDES = -I$(TOOLKITSRC) -I$(TOP)
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ ComplexProgramTarget_1(xterm,$(XAWLIB) $(XMULIB) $(XTOOLLIB),-ltermcap)
+ #else
+
+
ComplexProgramTarget_1(xterm,$(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB),-ltermcap)
+ #endif
SingleProgramTarget(resize,$(OBJS2),,-lc -ltermcap)
InstallProgramWithFlags(resize, $(BINDIR), )
*** xwd/Imakefile.old Fri Dec 16 19:03:34 1988
--- xwd/Imakefile Fri Dec 16 19:31:56 1988
***************
*** 1,4 ****
--- 1,8 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SRCS = xwd.c dsimple.c
OBJS = xwd.o dsimple.o
*** xwininfo/Imakefile.old Fri Dec 16 19:03:34 1988
--- xwininfo/Imakefile Fri Dec 16 19:32:27 1988
***************
*** 1,4 ****
--- 1,8 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SRCS = xwininfo.c dsimple.c
OBJS = xwininfo.o dsimple.o
*** xwud/Imakefile.old Fri Dec 16 19:03:35 1988
--- xwud/Imakefile Fri Dec 16 19:33:00 1988
***************
*** 1,4 ****
--- 1,8 ----
+ #ifdef SunSharedLibs
+ SYS_LIBRARIES = -lX11
+ #else
LOCAL_LIBRARIES = $(XLIB)
+ #endif
SRCS = xwud.c dsimple.c
OBJS = xwud.o dsimple.o
______________________________________________________________________________
George D. Drapeau Internet: drapeau@jessica.stanford.edu
Academic Information Resources
Stanford University