[comp.windows.x] Imakefile Patches for SunOS 4.0 Shared Libraries

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