[comp.sys.apollo] XllR4 shared libraries.

hb@ernie.csd.uu.se (Henrik B}kman; CSD) (11/22/90)

I has been using the generic version, from MIT, of X11R4 for
some time. It works realy well but because the libraries aren't
shared it takes A LOT of space. I have heared that some people
has managed to make the X libraries shared on Domain/OS.

I would be very glad if someone of those people could tell
me "how to do it".


Henrik Bakman
System Manager, Unix
Computing Science Department
Uppsala University
Box 520
751 20  UPPSALA
SWEDEN
Tel: +46 18 181044
Fax: +46 18 521270
Email: hb@emil.csd.uu.se

tomg@hpcvlx.cv.hp.com (Thomas J. Gilg) (11/24/90)

> I would be very glad if someone of those people could tell
> me "how to do it".

Generate libX11.a in the usual manner with the additional flag "-W0,-pic".
Then run the enclosed script to convert the position-independent-code
verion of libX11.a to a shared library;  for the upcoming 2nd Qtr. 91 PSK,
we'll name the beast /lib/x11lib.r4   The current R3 version is /lib/x11lib

Query: When you folks link an X application, do you let the "Globally Known
       Table" resolve your entry points (assumes /etc/sys.conf was setup), or
       do you utilize the link option -A inlib,/lib/whatever to bind your
       executable to a named shared library ?

Thomas Gilg
tomg@cv.hp.com

#!/bin/sh
###############################################################################
#
# $Header: make_ap_shlib,v 1.1 90/11/13 17:11:34 xbuild Exp $
#
# 11/12/90  --  Thomas Gilg
#
# Takes an archived library who's *.o files were compiled with position
# independent code and converts the whole works to a shared library.
#
# Depending on the library, the "-inlib <fid>" option might be needed.
#

if [ $# -lt 2 ]
then
	echo ""
	echo "usage : `basename $0` <src arlib> <dest shlib> [<options>...]"
	echo ""
	exit 0
fi

arlib=$1
shlib=$2
shift
shift

/com/bind -allocbss -b $shlib -allmark $arlib -include -all $*

exit 0

nazgul@alphalpha.com (Kee Hinckley) (11/26/90)

In article <101020011@hpcvlx.cv.hp.com> tomg@hpcvlx.cv.hp.com (Thomas J. Gilg) writes:
>/com/bind -allocbss -b $shlib -allmark $arlib -include -all $*

I could be wrong on this, but it shouldn't do any harm anyway.
You might want to do a -localsearch in there to make sure you don't
pick something out of an existing global library by accident.
-- 
Alphalpha Software, Inc.	|	motif-request@alphalpha.com
nazgul@alphalpha.com		|-----------------------------------
617/646-7703 (voice/fax)	|	Proline BBS: 617/641-3722

I'm not sure which upsets me more; that people are so unwilling to accept
responsibility for their own actions, or that they are so eager to regulate
everyone else's.