#! /bin/sh TMPDIR=${TMPDIR:-/tmp} TMPFL=${TMPFL:-TEMPFL} TMPRL=${TMPRL:-TEMPRL} TMPXL=${TMPXL:-TEMPXL} USRLOCAL=${USRLOCAL:-/usr/local} LIB=${LIB:-lib} if [ -d ${USRLOCAL}/${LIB} ]; then true else mkdir ${USRLOCAL}/${LIB} fi FILES=`ls /lib/lib*.a` FILES="${FILES} `ls /usr/lib/lib*.a`" # Convert the libraries into an XL. There are errors # that will happen from this, depending on which libraries # are on the system. That is acceptable. echo Converting libraries into XLs: for FILE in ${FILES}; do echo Processing ${FILE} BASENAME=`basename ${FILE} .a` DIRNAME=`dirname ${FILE}` rm -f ${TMPDIR}/${TMPFL} echo ":purge ${TMPXL}" >> ${TMPDIR}/${TMPFL} echo "buildxl xl=${TMPXL}" >> ${TMPDIR}/${TMPFL} echo ":purge ${TMPRL}" >> ${TMPDIR}/${TMPFL} echo ":copy ${FILE},${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "revealrl rl=${TMPRL};all" >> ${TMPDIR}/${TMPFL} if [ ${FILE} = "/lib/libc.a" ] ; then rm -f START rm -f SIGSETJ rm -f ${USRLOCAL}/${LIB}/libcxl.a echo "extractrl entry=_start;from=${TMPRL};to=START" >> ${TMPDIR}/${TMPFL} echo "extractrl entry=sigsetjump;from=${TMPRL};to=SIGSETJ" >> ${TMPDIR}/${TMPFL} echo "purgerl entry=_start;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl entry=sigsetjump;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=brk;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=ccode;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=difftime;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=feof;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=ferror;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=fileno;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=libcdata;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=mk_fname;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=sbrk;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=time;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=_printmsg;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=a64l;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=abs;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=atof;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=atoi;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=atol;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=atold;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=bsearch;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=calloc.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=clock;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=crypt;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=ctype;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=ctypefunc;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=div;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=drand48;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=ecvt;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=errlst;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=frexp;r=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=gcvt;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=hsearch;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=l3;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=l64a;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=labs;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=ldecvt;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=ldexp;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=ldiv;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=lfind;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=localeconv;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=lsearch;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=malloc;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=memccpy.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=memchr.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=memcmp.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=memcpy.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=memmove;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=memset.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=_memcpyl.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=modf;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=multibyte;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=nl_langinf;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=qsort.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=rand;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=setlocale2;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strcat.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strchr.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strcmp;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strcoll;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strcpy.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strcspn;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strerror;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strlen;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strncat;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strncmp;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strncpy.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strpbrk;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strrchr.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strspn;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strstr;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strtok;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strtol;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strtoul;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=strxfrm;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=swab;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=tfind;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=thdflag;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=tolower;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=toupper;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=tsearch;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=clrerr;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=data;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=findiop;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=setvbuf;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=setjmp.o;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=_initglobs;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=_globutils;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=ltoi;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=qfdata;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=qfmul;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=qfns;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "purgerl module=qfsn;rl=${TMPRL}" >> ${TMPDIR}/${TMPFL} echo "buildrl ${USRLOCAL}/${LIB}/libcxl.a" >> ${TMPDIR}/${TMPFL} echo "addrl from=START;to=${USRLOCAL}/${LIB}/libcxl.a;merge" >> ${TMPDIR}/${TMPFL} echo "addrl from=SIGSETJ;to=${USRLOCAL}/${LIB}/libcxl.a;merge" >> ${TMPDIR}/${TMPFL} fi echo "addxl from=${TMPRL};merge;share;to=${TMPXL}" >> ${TMPDIR}/${TMPFL} echo ":copy ${TMPXL},${DIRNAME}/${BASENAME}.sl" >> ${TMPDIR}/${TMPFL} (cd ${TMPDIR}; callci "linkedit < ${TMPDIR}/${TMPFL}" > /dev/null) done rm -f ${TMPDIR}/${TMPFL} rm -f START rm -f SIGSETJ rm -f ${TMPDIR}/${TMPXL} rm -f ${TMPDIR}/${TMPRL}