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