GM 1.4 Solaris Shared Library and Binary Package Support

[email protected] (Markus Gyger)
Newsgroups gmane.network.myrinet.general
Message-ID <[email protected]>
Appended is a shell archive that contains files that allow
to create a shared library of GM and allow to create binary
packages of GM for Solaris 7 and 8 that can be installed using
pkgadd. The Makefile.overrides.targets hook is used so that no
GM source code modification is necessary.

The GM drivers will be installed similarly to the ones from
Sun so that one can e.g. configure the myri0 network interface
using file /etc/hostname.myri0 or put routes in /etc/gateways.

After putting the files below in the GM source tree one can
run configure using e.g. one of the following lines if one
would like to use high optimization levels of the compilers
(but less flags might actually work better sometimes):

 - 32-bit SPARC Forte/WorkShop compilers:
   env CC=cc CXX=CC CFLAGS='-w -xO3 -xinline=%auto -xstrconst -xdepend -xtarget=ultra2 -xarch=v8' EXTRA_KERNEL_CFLAGS='-xregs=no%appl -xspace -xarch=v8plusa -xmemalign=8s' CXXFLAGS='-w -features=anachronisms -Qoption ccfe -messages=no%anachronism -xO3 -xtarget=ultra2 -xarch=v8 -staticlib=Cstd,Crun' ./configure --prefix=/opt/myrinet --enable-build_dso --enable-new-features --disable-sbus

 - 64-bit SPARC Forte/WorkShop compilers
   env CC=cc CXX=CC CFLAGS='-w -xO3 -xinline=%auto -xstrconst -xdepend -xtarget=ultra2 -xarch=v9' EXTRA_KERNEL_CFLAGS='-xregs=no%appl -xspace -xarch=v9a -xcode=abs32' CXXFLAGS='-w -features=anachronisms -Qoption ccfe -messages=no%anachronism -xO3 -xtarget=ultra2 -xarch=v9 -staticlib=Cstd,Crun' LDFLAGS=-xarch=v9 ./configure --prefix=/opt/myrinet --enable-build_dso --enable-new-features --disable-sbus sparc64-sun-solaris2.8

 - 32-bit SPARC GNU compilers (check also in Makefile.overrides.targets)
   env CC=gcc CXX=g++ CFLAGS='-O2 -mcpu=v8 -mtune=ultrasparc' EXTRA_KERNEL_CFLAGS='-mno-app-regs -mcpu=ultrasparc' CXXFLAGS='-O2 -mcpu=v8 -mtune=ultrasparc' ./configure --prefix=/opt/myrinet --enable-build_dso --enable-new-features --disable-sbus

(it might be necessary to add '-DGM_OS_SOLARIS -DGM_STRONG_TYPES=0' to
CFLAGS/CXXFLAGS for certain versions of compilers or GM). The packages
are then compiled and created using e.g.

   gmake pkg PKG=ACMEgm

which creates three packages, one with the drivers, one with the binaries,
header files, libraries and docs, and one with the source code.


Markus

---- Cut Here and feed the following to sh ----
#!/bin/sh
# This is a shell archive (produced by GNU sharutils 4.2.1).
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
# Made on 2001-03-29 13:09 UTC by <[email protected]>.
# Source directory was `gm-1.4.1pre2'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
#
# This shar contains:
# length mode       name
# ------ ---------- ------------------------------------------
#    578 -rw-r--r-- Makefile.overrides.targets
#   1152 -rw-r--r-- drivers/solaris2.5/Makefile.include
#   5032 -rw-r--r-- drivers/solaris2.5/pkg/Makefile.include
#    417 -rw-r--r-- drivers/solaris2.5/pkg/devlink.tab
#   1172 -rw-r--r-- drivers/solaris2.5/pkg/isaexec.c
#    205 -rw-r--r-- drivers/solaris2.5/pkg/myri.conf
#    853 -rw-r--r-- drivers/solaris2.5/pkg/myrinet.rc
#    226 -rw-r--r-- drivers/solaris2.5/pkg/pkginfo.root
#    216 -rw-r--r-- drivers/solaris2.5/pkg/pkginfo.src
#    222 -rw-r--r-- drivers/solaris2.5/pkg/pkginfo.usr
#    686 -rw-r--r-- drivers/solaris2.5/pkg/postinstall.root
#    223 -rw-r--r-- drivers/solaris2.5/pkg/postremove.root
#    747 -rw-r--r-- drivers/solaris2.5/pkg/prototype.root
#    284 -rw-r--r-- drivers/solaris2.5/pkg/prototype.root.include.32
#    102 -rw-r--r-- drivers/solaris2.5/pkg/prototype.root.include.64
#    279 -rw-r--r-- drivers/solaris2.5/pkg/prototype.src
#   1439 -rw-r--r-- drivers/solaris2.5/pkg/prototype.usr
#   1606 -rw-r--r-- drivers/solaris2.5/pkg/prototype.usr.include.32
#    168 -rw-r--r-- drivers/solaris2.5/pkg/prototype.usr.include.64
#    225 -rw-r--r-- drivers/solaris2.5/pkg/request.root.32
#     93 -rw-r--r-- drivers/solaris2.5/pkg/system
#   3521 -rw-r--r-- libgm/libgm.map
#
echo=echo
if touch -am -t 200112312359.59 $$.touch >/dev/null 2>&1 && test ! -f 200112312359.59 -a -f $$.touch; then
  shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"'
elif touch -am 123123592001.59 $$.touch >/dev/null 2>&1 && test ! -f 123123592001.59 -a ! -f 123123592001.5 -a -f $$.touch; then
  shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"'
elif touch -am 1231235901 $$.touch >/dev/null 2>&1 && test ! -f 1231235901 -a -f $$.touch; then
  shar_touch='touch -am $3$4$5$6$2 "$8"'
else
  shar_touch=:
  echo
  $echo 'WARNING: not restoring timestamps.  Consider getting and'
  $echo "installing GNU \`touch', distributed in GNU File Utilities..."
  echo
fi
rm -f 200112312359.59 123123592001.59 123123592001.5 1231235901 $$.touch
#
if mkdir _sh05495; then
  $echo 'x -' 'creating lock directory'
else
  $echo 'failed to create lock directory'
  exit 1
fi
# ============= Makefile.overrides.targets ==============
if test -f 'Makefile.overrides.targets' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'Makefile.overrides.targets' '(file already exists)'
else
  $echo 'x -' extracting 'Makefile.overrides.targets' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'Makefile.overrides.targets' &&
X# Solaris defaults which actually should be set by configure
XMCS	        ?= /usr/ccs/bin/mcs
XSONAME	        ?= libgm.so.1
XEXTRA_SO_CFLAGS ?= -Kpic -xregs=no%appl
XEXTRA_SO_CFLAGS ?= -fpic -mno-app-regs	# GCC
X
X# Solaris shared library support
Xinclude $(srcdir)/drivers/solaris2.5/Makefile.include
X
X# Solaris pkg creation support
Xinclude $(srcdir)/drivers/solaris2.5/pkg/Makefile.include
X
X# dependency add (workaround because there is actually more than one info file)
Xbinary/info/gm.info: binary/info/gm.info-1
Xbinary/info/gm.info-1: force
X	cp $(srcdir)/doc/gm.info-* binary/info
SHAR_EOF
  (set 20 01 03 29 08 07 17 'Makefile.overrides.targets'; eval "$shar_touch") &&
  chmod 0644 'Makefile.overrides.targets' ||
  $echo 'restore of' 'Makefile.overrides.targets' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'Makefile.overrides.targets'`"
  test 578 -eq "$shar_count" ||
  $echo 'Makefile.overrides.targets:' 'original size' '578,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/Makefile.include ==============
if test ! -d 'drivers'; then
  $echo 'x -' 'creating directory' 'drivers'
  mkdir 'drivers'
fi
if test ! -d 'drivers/solaris2.5'; then
  $echo 'x -' 'creating directory' 'drivers/solaris2.5'
  mkdir 'drivers/solaris2.5'
fi
if test -f 'drivers/solaris2.5/Makefile.include' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/Makefile.include' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/Makefile.include' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/Makefile.include' &&
X##################
X# Shared Library
X##################
X
Xlibgm/%_s.o: libgm/%.c
X	$(CC) -c $(LIBGM_CFLAGS) $(EXTRA_SO_CFLAGS) $< -o $@
X
XLDFLAGS_i386    = -R'$$ORIGIN/../lib:$$ORIGIN/../../lib'
XLDFLAGS_ia64    = -R'$$ORIGIN/../../lib/64:$$ORIGIN/../lib'
XLDFLAGS_sparc   = -R'$$ORIGIN/../lib:$$ORIGIN/../../lib'
XLDFLAGS_sparc64 = -R'$$ORIGIN/../../lib/64:$$ORIGIN/../lib'
X
Xbinary/bin/%:        LDFLAGS += $(LDFLAGS_$(target_cpu))
Xbinary/sbin/mapper:  LDFLAGS += $(LDFLAGS_$(target_cpu))
X
X.PHONY: binary/lib/libgm.so.$(GM_VERSION)
Xbinary/lib/libgm.so.$(GM_VERSION): binary/lib/$(SONAME) binary/lib/libgm.so
X
Xbinary/lib/$(SONAME): $(LIB_OBJS:%.o=%_s.o) installdirs \
X                      $(srcdir)/libgm/libgm.map
X#	Currently using -z noversion since libgm.map isn't stable yet
X	$(LD) -G -M $(srcdir)/libgm/libgm.map -h $(@F) -z defs \
X	      -z noversion -z text -o $@ $(LIB_OBJS:%.o=%_s.o) -lc
X
Xbinary/lib/libgm.so:
X	cd $(@D) && $(LN_S) $(SONAME) $(@F)
X
X.PHONY: drivers/solaris2.5/shlib-mostlyclean
Xdrivers/solaris2.5/mostlyclean: drivers/solaris2.5/shlib-mostlyclean
Xdrivers/solaris2.5/shlib-mostlyclean:
X	-rm -f binary/lib/$(SONAME) binary/lib/libgm.so
SHAR_EOF
  (set 20 01 03 29 04 37 16 'drivers/solaris2.5/Makefile.include'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/Makefile.include' ||
  $echo 'restore of' 'drivers/solaris2.5/Makefile.include' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/Makefile.include'`"
  test 1152 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/Makefile.include:' 'original size' '1152,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/Makefile.include ==============
if test ! -d 'drivers/solaris2.5/pkg'; then
  $echo 'x -' 'creating directory' 'drivers/solaris2.5/pkg'
  mkdir 'drivers/solaris2.5/pkg'
fi
if test -f 'drivers/solaris2.5/pkg/Makefile.include' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/Makefile.include' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/Makefile.include' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/Makefile.include' &&
X#############
X# Packaging
X#############
X
XPKG           = MYRIgm
XPKG.name      = Myrinet GM Networking Software ($(PKG.type)) ($(PKG.bits)-bit)
XPKG.revdate  := $(shell date -u +%Y.%m.%d)
XPKG.pstamp   := $(shell date -u +"$(GM_USER)@$(GM_HOSTNAME)%%%Y%m%d%H%M%SUTC")
XPKG.version   = $(GM_VERSION),REV=$(PKG.revdate)
XPKG.prodvers  = $(GM_VERSION)/$(GM_SYS) $(GM_REL)
XPKG.dir       = drivers/solaris2.5/pkg
X
XPKG.type			= $(PKG.type_$@)
XPKG.type_pkg_root		= root
XPKG.type_pkg_usr		= usr
XPKG.type_pkg_src		= src
X
XPKG.cpu				= $(PKG.cpu_$(PKG.type))
XPKG.cpu_root			= $(target_cpu)
XPKG.cpu_usr			= $(target_cpu)
XPKG.cpu_src			= all
X
XPKG.bits			= $(PKG.bits_$(PKG.cpu))
XPKG.bits_i386			= 32
XPKG.bits_ia64			= 64
XPKG.bits_sparc			= 32
XPKG.bits_sparc64		= 64
XPKG.bits_all			= 32/64
X
XPKG.arch			= $(PKG.arch_$(PKG.cpu))
XPKG.arch_i386			= i386
XPKG.arch_ia64			= i386
XPKG.arch_sparc			= sparc
XPKG.arch_sparc64		= sparc
XPKG.arch_all			= all
X
XPKG.platformgrp			= $(PKG.platformgrp_$(PKG.cpu))
XPKG.platformgrp_i386		= i86pc
XPKG.platformgrp_ia64		= i86pc
XPKG.platformgrp_sparc		= sun4u
XPKG.platformgrp_sparc64		= sun4u
XPKG.platformgrp_all		= all
X
XPKG.arch+platformgrp		= $(PKG.arch+platformgrp_$(PKG.type))
XPKG.arch+platformgrp_root	= $(PKG.arch).$(PKG.platformgrp)
XPKG.arch+platformgrp_usr	= $(PKG.arch)
XPKG.arch+platformgrp_src	= $(PKG.arch)
X
XPKG.isa 			= $(PKG.isa_$(PKG.cpu))
XPKG.isa_i386			= ia32
XPKG.isa_ia64		 	= ia64
XPKG.isa_sparc		 	= sparcv7
XPKG.isa_sparc64 	 	= sparcv9
X
XPKG.arch/isa			= $(PKG.arch/isa_$(PKG.bits))
XPKG.arch/isa_32			= $(PKG.arch)
XPKG.arch/isa_64			= $(PKG.isa)
X
XPKG.isa.libdir			= $(PKG.isa.libdir_$(PKG.bits))
XPKG.isa.libdir_32		= .
XPKG.isa.libdir_64		= $(PKG.isa)
X
XPKG.basedir			= $(PKG.basedir_$(PKG.type))
XPKG.basedir_root		= /
XPKG.basedir_usr 		= $(prefix)
XPKG.basedir_src			= $(prefix)/src
X
XPKG.abbreviation		= $(PKG.abbreviation_$(PKG.type)_$(PKG.bits))
XPKG.abbreviation_root_32	= $(PKG)r
XPKG.abbreviation_root_64	= $(PKG)rx
XPKG.abbreviation_usr_32		= $(PKG)u
XPKG.abbreviation_usr_64		= $(PKG)ux
XPKG.abbreviation_src_32/64	= $(PKG)S
X
XPKG.instance			= $(PKG.instance_$(PKG.type)_$(PKG.platformgrp))
XPKG.instance_root_i86pc		= $(PKG.abbreviation).i
XPKG.instance_root_sun4u		= $(PKG.abbreviation).u
XPKG.instance_usr_i86pc		= $(PKG.abbreviation)
XPKG.instance_usr_sun4u		= $(PKG.abbreviation)
XPKG.instance_src_all		= $(PKG.abbreviation)
X
X
X.PHONY: pkg
Xpkg: pkg_root pkg_usr pkg_src
X
X.PHONY: pkg_root pkg_usr pkg_src
Xpkg_root pkg_usr pkg_src:
X	pkgmk -o -d . -f $(srcdir)/$(PKG.dir)/prototype.$(PKG.type) \
X		-v '$(PKG.version)' -p '$(PKG.pstamp)' builddir="`pwd`" \
X		pkgdir='$(PKG.dir)' ARCH='$(PKG.arch+platformgrp)' \
X		platform='$(PKG.platformgrp)' isabindir='$(PKG.isa)' \
X		isalibdir='$(PKG.isa.libdir)' SUNW_ISA='$(PKG.arch/isa)' \
X		SUNW_PRODVERS='$(PKG.prodvers)' bits='$(PKG.bits)' \
X		SUNW_PKGTYPE='$(PKG.type)' NAME='$(PKG.name)' \
X		BASEDIR='$(PKG.basedir)' PKG=$(PKG.abbreviation) \
X		soname='$(SONAME)' $(PKG.instance)
X
Xpkg_root: binary/sbin/gm binary/sbin/myri strip_root
Xpkg_root: $(PKG.dir)/depend.root.64
Xpkg_usr:  release binary/bin/isaexec strip_usr
Xpkg_usr:  $(PKG.dir)/depend.usr.64 $(PKG.dir)/prototype.usr.include.docs
Xpkg_src:  $(PKG.dir)/prototype.src.include
X
X$(PKG.dir)/depend.root.64: force
X	echo 'P $(PKG)r	Myrinet GM Networking Software (root) (32-bit)' >$@
X
X$(PKG.dir)/depend.usr.64: force
X	echo 'P $(PKG)u	Myrinet GM Networking Software (usr) (32-bit)' >$@
X
X$(PKG.dir)/prototype.usr.include.docs: force
X	(cd binary && \
X	echo '!rsearch $$builddir/binary' && \
X	echo '!default 0755 root bin' && \
X	find doc info -type d | sed 's:^:d none :' && \
X	echo '!default 0644 root bin' && \
X	find doc info -type f | sed 's:^:f none :') >$@
X
Xbinary/bin/isaexec: $(PKG.dir)/isaexec.c
X	$(CC) $(CFLAGS) -o $@ $<
X
X$(PKG.dir)/prototype.src.include: MANIFEST force
X	-rm -f gm-$(GM_VERSION)
X	$(LN_S) $(srcdir) gm-$(GM_VERSION)
X#$(PKG.dir)/prototype.src.include: gm-$(GM_VERSION)/MANIFEST force
X	(echo '!rsearch $$builddir' && \
X	echo '!default 0755 root bin' && \
X	sed -n -e :l -e 's:/[^/]*$$::p' -e tl $< | sort -u | \
X		sed 's:^:d none :' && \
X	find `$(CAT) $<`   -perm -0100 | pkgproto | \
X		sed 's: [0-7]\{4,5\} [^ ]* [^ ]*$$::' && \
X	echo '!default 0644 root bin' && \
X	find `$(CAT) $<` ! -perm -0100 | pkgproto | \
X		sed 's: [0-7]\{4,5\} [^ ]* [^ ]*$$::') >$@
X
X.PHONY: strip_root
Xstrip_root:
X	-$(STRIP)  binary/sbin/gm binary/sbin/myri
X	-$(MCS) -d binary/sbin/gm binary/sbin/myri
X
X.PHONY: strip_usr
Xstrip_usr:
X	-$(STRIP)  binary/*bin/* binary/lib/lib*.so* 2>/dev/null || :
X	-$(MCS) -d binary/*bin/* binary/lib/lib*.so* 2>/dev/null || :
X
X.PHONY: $(PKG.dir)/mostlyclean
Xdrivers/solaris2.5/mostlyclean: $(PKG.dir)/mostlyclean
X$(PKG.dir)/mostlyclean:
X	-rm -f  $(PKG.dir)/depend.*.64
X	-rm -f  $(PKG.dir)/prototype.usr.include.docs
X	-rm -f  $(PKG.dir)/prototype.src.include
X	-rm -f  solaris-pkg-builddir
X
X.PHONY: $(PKG.dir)/distclean
Xdistclean: $(PKG.dir)/distclean
X$(PKG.dir)/distclean:
X	-rm -fr $(PKG)[ruS]*
X
Xsolaris-builddirs: solaris-pkg-builddir
Xsolaris-pkg-builddir:
X	mkdir -p $(PKG.dir)
X	@touch $@
SHAR_EOF
  (set 20 01 03 29 06 23 38 'drivers/solaris2.5/pkg/Makefile.include'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/Makefile.include' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/Makefile.include' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/Makefile.include'`"
  test 5032 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/Makefile.include:' 'original size' '5032,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/devlink.tab ==============
if test -f 'drivers/solaris2.5/pkg/devlink.tab' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/devlink.tab' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/devlink.tab' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/devlink.tab' &&
X!install
X$a\
Xtype=ddi_pseudo;name=pci10e8,8043	\\M0\
Xtype=ddi_pseudo;name=pci14c1,8043	\\M0\
Xtype=ddi_pseudo;name=pci103c,106b	\\M0\
Xtype=ddi_pseudo;name=myri	\\M0
X/\<name=pci10e8,8043\>/d
X/\<name=pci14c1,8043\>/d
X/\<name=pci103c,106b\>/d
X/\<name=MYRICOM,mlanai\>/d
X/\<name=myri\>/d
X/\<name=mlanai\>/d
X/\<name=gm\>/d
X!remove
X/\<name=pci10e8,8043\>/d
X/\<name=pci14c1,8043\>/d
X/\<name=pci103c,106b\>/d
X/\<name=myri\>/d
SHAR_EOF
  (set 20 01 02 21 19 56 07 'drivers/solaris2.5/pkg/devlink.tab'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/devlink.tab' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/devlink.tab' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/devlink.tab'`"
  test 417 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/devlink.tab:' 'original size' '417,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/isaexec.c ==============
if test -f 'drivers/solaris2.5/pkg/isaexec.c' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/isaexec.c' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/isaexec.c' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/isaexec.c' &&
X/* similar to /usr/lib/isaexec; see isaexec(3C) */
X/* this should be compiled for the basic 32-bit ISA */
X
X#include <stdio.h>
X#include <stdlib.h>
X#include <string.h>
X#include <unistd.h>
X#include <errno.h>
X#include <limits.h>
X
Xint main(int argc, char *argv[], char *envp[])
X{
X    const char *execname = getexecname();
X    int r = isaexec(execname, argv, envp);
X#ifdef __i386
X    /* the docs say there will be a bin/ia32 subdirectory on an IA64 */
X    /* aware OE but Solaris 7 and 8 don't have that ISA entry yet... */
X    if (errno == ENOENT) {
X	char path[PATH_MAX + sizeof "ia32/"];
X	const char *basename = strrchr(execname, '/');
X	if (basename++ == 0) basename = execname;
X	strncpy(path, execname, basename - execname);
X	strcpy(path + basename - execname, "ia32/");
X	strcat(path, basename);
X        r = execve(path, argv, envp);
X    }
X#endif
X    if (errno == ENOENT) {
X        const char *basename = strrchr(execname, '/');
X        if (basename++ == 0 || *basename == '\0') basename = execname;
X        fprintf(stderr, "%s: cannot find/execute \"%s\" in "
X                        "ISA subdirectories\n", execname, basename);
X    } else perror(execname);
X    return r;
X}
SHAR_EOF
  (set 20 01 03 28 04 47 32 'drivers/solaris2.5/pkg/isaexec.c'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/isaexec.c' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/isaexec.c' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/isaexec.c'`"
  test 1172 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/isaexec.c:' 'original size' '1172,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/myri.conf ==============
if test -f 'drivers/solaris2.5/pkg/myri.conf' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/myri.conf' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/myri.conf' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/myri.conf' &&
Xif [ install = "$1" ]
Xthen for i in 0 1 2 3
X     do [ $i -lt "${BOARDS:-1}" ] && comment= || comment='#'
X        echo "${comment}name=\"myri\" parent=\"pseudo\" instance=$i;" || exit 2
X     done
Xfi
Xexit 0
SHAR_EOF
  (set 20 01 03 20 21 44 46 'drivers/solaris2.5/pkg/myri.conf'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/myri.conf' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/myri.conf' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/myri.conf'`"
  test 205 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/myri.conf:' 'original size' '205,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/myrinet.rc ==============
if test -f 'drivers/solaris2.5/pkg/myrinet.rc' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/myrinet.rc' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/myrinet.rc' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/myrinet.rc' &&
Xif [ install = "$1" ]
Xthen cat <<__EOT__
X#!/sbin/sh
X
X# This startup script for mapper can be installed using the following commands:
X#     cp -p $CLIENT_BASEDIR/etc/active.args /etc/mapper.conf
X#     cp -p $CLIENT_BASEDIR/etc/myrinet.rc  /etc/init.d/myrinet
X#     ln -s ../init.d/myrinet /etc/rc0.d/K10myrinet
X#     ln -s ../init.d/myrinet /etc/rc1.d/K10myrinet
X#     ln -s ../init.d/myrinet /etc/rc2.d/S90myrinet
X
Xbasedir=$CLIENT_BASEDIR
X
Xcase \$1 in
Xstart)  if [ -x \$basedir/sbin/mapper -a -f /etc/mapper.conf ]
X	then echo "Starting Myrinet Mapper"
X	     (cd /var/tmp && \$basedir/sbin/mapper /etc/mapper.conf)&
X	else echo "Myrinet Mapper not installed or configured" >&2
X	fi
X        ;;
Xstop)   pkill -f -u 0 \$basedir/sbin/mapper && echo "Stopping Myrinet Mapper"
X        ;;
X*)      echo "Usage: \$0 { start | stop }" >&2
X        ;;
Xesac
X__EOT__
Xfi
SHAR_EOF
  (set 20 01 03 28 05 56 58 'drivers/solaris2.5/pkg/myrinet.rc'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/myrinet.rc' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/myrinet.rc' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/myrinet.rc'`"
  test 853 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/myrinet.rc:' 'original size' '853,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/pkginfo.root ==============
if test -f 'drivers/solaris2.5/pkg/pkginfo.root' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/pkginfo.root' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/pkginfo.root' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/pkginfo.root' &&
XDESC=GM is a message-passing system for Myrinet networks.
XCATEGORY=system
XMAXINST=1000
XSUNW_PKGVERS=1.0
XSUNW_PRODNAME=Myrinet GM
XCLASSES=none build sed
XVENDOR=Myricom, Inc.
XHOTLINE=http://www.myri.com/scs/
[email protected]
SHAR_EOF
  (set 20 01 02 28 08 44 50 'drivers/solaris2.5/pkg/pkginfo.root'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/pkginfo.root' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/pkginfo.root' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/pkginfo.root'`"
  test 226 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/pkginfo.root:' 'original size' '226,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/pkginfo.src ==============
if test -f 'drivers/solaris2.5/pkg/pkginfo.src' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/pkginfo.src' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/pkginfo.src' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/pkginfo.src' &&
XDESC=GM is a message-passing system for Myrinet networks.
XCATEGORY=system
XMAXINST=1000
XSUNW_PKGVERS=1.0
XSUNW_PRODNAME=Myrinet GM
XCLASSES=none
XVENDOR=Myricom, Inc.
XHOTLINE=http://www.myri.com/scs/
[email protected]
SHAR_EOF
  (set 20 01 02 28 08 45 05 'drivers/solaris2.5/pkg/pkginfo.src'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/pkginfo.src' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/pkginfo.src' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/pkginfo.src'`"
  test 216 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/pkginfo.src:' 'original size' '216,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/pkginfo.usr ==============
if test -f 'drivers/solaris2.5/pkg/pkginfo.usr' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/pkginfo.usr' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/pkginfo.usr' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/pkginfo.usr' &&
XDESC=GM is a message-passing system for Myrinet networks.
XCATEGORY=system
XMAXINST=1000
XSUNW_PKGVERS=1.0
XSUNW_PRODNAME=Myrinet GM
XCLASSES=none build
XVENDOR=Myricom, Inc.
XHOTLINE=http://www.myri.com/scs/
[email protected]
SHAR_EOF
  (set 20 01 02 28 08 44 56 'drivers/solaris2.5/pkg/pkginfo.usr'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/pkginfo.usr' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/pkginfo.usr' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/pkginfo.usr'`"
  test 222 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/pkginfo.usr:' 'original size' '222,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/postinstall.root ==============
if test -f 'drivers/solaris2.5/pkg/postinstall.root' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/postinstall.root' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/postinstall.root' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/postinstall.root' &&
Xaliases_dquot='"pci10e8,8043" "pci14c1,8043" "pci103c,106b"'
Xaliases_squot="'pci10e8,8043'
X'pci14c1,8043'
X'pci103c,106b'"
X
Xadd_drv=add_drv
Xrem_drv=rem_drv
Xif [ "${PKG_INSTALL_ROOT:+client}" = client ]
Xthen add_drv="$add_drv -b $PKG_INSTALL_ROOT"
X     rem_drv="$rem_drv -b $PKG_INSTALL_ROOT"
Xelse [ "`isainfo -k`" = "${SUNW_ISA:-`echo $ARCH | cut -d. -f1`}" ] &&
X     prtconf -p | fgrep -s "$aliases_squot" || add_drv="$add_drv -n"
Xfi
X
X$rem_drv myri >/dev/null 2>&1
X$rem_drv gm >/dev/null 2>&1
X
Xstatus=0
X$add_drv -i "$aliases_dquot" -m "* 0666 root sys" gm || status=2
X$add_drv -m "* 0666 root sys" myri || status=2
Xifconfig -a | egrep -s "^myri[0-9]+:" && status=1$status
X
Xexit $status
SHAR_EOF
  (set 20 01 02 22 18 32 31 'drivers/solaris2.5/pkg/postinstall.root'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/postinstall.root' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/postinstall.root' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/postinstall.root'`"
  test 686 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/postinstall.root:' 'original size' '686,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/postremove.root ==============
if test -f 'drivers/solaris2.5/pkg/postremove.root' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/postremove.root' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/postremove.root' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/postremove.root' &&
Xrem_drv=rem_drv
Xif [ "${PKG_INSTALL_ROOT:+client}" = client ]
Xthen rem_drv="$rem_drv -b $PKG_INSTALL_ROOT"
Xelse [ "`isainfo -k`" = "${SUNW_ISA:-`echo $ARCH | cut -d. -f1`}" ] || exit 0
Xfi
X
X$rem_drv myri
X$rem_drv gm
X
Xexit 0
SHAR_EOF
  (set 20 01 02 19 04 13 42 'drivers/solaris2.5/pkg/postremove.root'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/postremove.root' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/postremove.root' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/postremove.root'`"
  test 223 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/postremove.root:' 'original size' '223,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/prototype.root ==============
if test -f 'drivers/solaris2.5/pkg/prototype.root' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/prototype.root' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/prototype.root' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/prototype.root' &&
X# prototype.root
X# paths are relative to this file (unless they are absolute or !search is used)
X
X# information files and (de-)installation scripts
Xi copyright=../../../COPYING
Xi pkginfo=pkginfo.root
Xi postinstall=postinstall.root
Xi postremove=postremove.root
X
X# drivers
X# $platform is a platform name (uname -i) or a platform group/class (uname -m)
X# $isalibdir is '.', 'ia64' or 'sparcv9'
X!search $builddir/binary/sbin
X!default 0755 root sys
Xd none platform
Xd none platform/$platform
Xd none platform/$platform/kernel
Xd none platform/$platform/kernel/drv
Xd none platform/$platform/kernel/drv/$isalibdir
Xf none platform/$platform/kernel/drv/$isalibdir/gm
Xf none platform/$platform/kernel/drv/$isalibdir/myri
X
X!include prototype.root.include.$bits
SHAR_EOF
  (set 20 01 03 29 03 46 27 'drivers/solaris2.5/pkg/prototype.root'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/prototype.root' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/prototype.root' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/prototype.root'`"
  test 747 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/prototype.root:' 'original size' '747,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/prototype.root.include.32 ==============
if test -f 'drivers/solaris2.5/pkg/prototype.root.include.32' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/prototype.root.include.32' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/prototype.root.include.32' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/prototype.root.include.32' &&
X# prototype.root.include.32
X
X# query for myri.conf script below (# of boards)
Xi request=request.root.32
X
X# configuration scripts
X!default 0644 root sys
Xf build platform/$platform/kernel/drv/myri.conf=myri.conf
Xd none etc 0755
Xe sed etc/devlink.tab=devlink.tab
Xe sed etc/system=system
SHAR_EOF
  (set 20 01 03 28 06 59 45 'drivers/solaris2.5/pkg/prototype.root.include.32'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/prototype.root.include.32' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/prototype.root.include.32' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/prototype.root.include.32'`"
  test 284 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/prototype.root.include.32:' 'original size' '284,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/prototype.root.include.64 ==============
if test -f 'drivers/solaris2.5/pkg/prototype.root.include.64' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/prototype.root.include.64' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/prototype.root.include.64' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/prototype.root.include.64' &&
X# prototype.root.include.64
X
X# dependency on 32-bit package
Xi depend=$builddir/$pkgdir/depend.root.64
SHAR_EOF
  (set 20 01 03 28 05 16 00 'drivers/solaris2.5/pkg/prototype.root.include.64'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/prototype.root.include.64' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/prototype.root.include.64' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/prototype.root.include.64'`"
  test 102 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/prototype.root.include.64:' 'original size' '102,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/prototype.src ==============
if test -f 'drivers/solaris2.5/pkg/prototype.src' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/prototype.src' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/prototype.src' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/prototype.src' &&
X# prototype.usr
X# paths are relative to this file (unless they are absolute or !search is used)
X
X# information files
Xi copyright=../../../COPYING
Xi pkginfo=pkginfo.src
X
X# all source files
X# this is an automatically generated file
X!include $builddir/$pkgdir/prototype.src.include
SHAR_EOF
  (set 20 01 03 28 03 20 59 'drivers/solaris2.5/pkg/prototype.src'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/prototype.src' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/prototype.src' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/prototype.src'`"
  test 279 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/prototype.src:' 'original size' '279,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/prototype.usr ==============
if test -f 'drivers/solaris2.5/pkg/prototype.usr' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/prototype.usr' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/prototype.usr' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/prototype.usr' &&
X# prototype.usr
X# paths are relative to this file (unless they are absolute or !search is used)
X
X# information files
Xi copyright=../../../COPYING
Xi pkginfo=pkginfo.usr
X
X# ISA dependend binaries
X# $isabindir is usually 'ia32', 'ia64', 'sparcv7' or 'sparcv9'
X# but it could be any instruction set name isalist(5) returns
X!search $builddir/binary/bin $builddir/binary/sbin
X!default 0555 root bin
Xd none bin 0755
Xd none bin/$isabindir 0755
Xf none bin/$isabindir/gm_allsize
Xf none bin/$isabindir/gm_board_info
Xf none bin/$isabindir/gm_counters
Xf none bin/$isabindir/gm_debug
Xf none bin/$isabindir/gm_dirsend
Xf none bin/$isabindir/gm_dma_malloc
Xf none bin/$isabindir/gm_fault
Xf none bin/$isabindir/gm_nway
Xf none bin/$isabindir/gm_set_speed
Xf none bin/$isabindir/gm_setname
Xf none bin/$isabindir/gm_simpleroute
Xf none bin/$isabindir/gm_time_registration
Xf none bin/$isabindir/logp_test
Xd none sbin 0755
Xd none sbin/$isabindir 0755
Xf none sbin/$isabindir/mapper
X
X# shared and archive libraries
X# for 32-bit $isalibdir is just '.' or '' which is resolved by pkgmk(1)
X# for 64-bit $isalibdir is 'ia64' or 'sparcv9' (however the run path in
X# the binary uses actually the '64' symbolic link that points to $isalibdir)
X!search $builddir/binary/lib
X!default 0644 root bin
Xd none lib ?
Xd none lib/$isalibdir ?
Xf none lib/$isalibdir/libgm.a
Xf none lib/$isalibdir/$soname 0755
Xs none lib/$isalibdir/libgm.so=$soname
X
X!include prototype.usr.include.$bits
SHAR_EOF
  (set 20 01 03 29 05 03 55 'drivers/solaris2.5/pkg/prototype.usr'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/prototype.usr' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/prototype.usr' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/prototype.usr'`"
  test 1439 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/prototype.usr:' 'original size' '1439,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/prototype.usr.include.32 ==============
if test -f 'drivers/solaris2.5/pkg/prototype.usr.include.32' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/prototype.usr.include.32' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/prototype.usr.include.32' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/prototype.usr.include.32' &&
X# prototype.usr.include.32
X
X# ISA independend scripts
X!search $builddir/binary/bin $builddir/binary/sbin
X!default 0555 root bin
Xf none bin/gmperf.pl
Xf none sbin/winsize
X
X# the isaexec wrapper binary and all hard links to it
Xf none sbin/mapper=$builddir/binary/bin/isaexec
Xl none bin/gm_allsize=../sbin/mapper
Xl none bin/gm_board_info=../sbin/mapper
Xl none bin/gm_counters=../sbin/mapper
Xl none bin/gm_debug=../sbin/mapper
Xl none bin/gm_dirsend=../sbin/mapper
Xl none bin/gm_dma_malloc=../sbin/mapper
Xl none bin/gm_fault=../sbin/mapper
Xl none bin/gm_nway=../sbin/mapper
Xl none bin/gm_set_speed=../sbin/mapper
Xl none bin/gm_setname=../sbin/mapper
Xl none bin/gm_simpleroute=../sbin/mapper
Xl none bin/gm_time_registration=../sbin/mapper
Xl none bin/logp_test=../sbin/mapper
X
X# sample startup and config files for mapper
X!default 0644 root sys
Xd none etc 0755
Xf none etc/active.args
Xf none etc/passive.args
Xf build etc/myrinet.rc=myrinet.rc 0744
X
X# header files
X!search $builddir/binary/include
X!default 0644 root bin
Xd none include 0755
Xf none include/gm.h
X#f none include/gm_stbar.h
X#f none include/gm_roster.h
X#f none include/gm_config.h
X#f none include/gm_auto_config.h
X
X# files that should be in the doc subdirectory
X!search $builddir/binary $builddir/binary/bin
Xf none doc/README
Xf none doc/README-solaris
Xf none doc/logp_test.README
Xf none doc/tests.README
X#f none doc/GM_INSTALL
X#f none doc/gm_install_special
X#!search ../../..
X#f none doc/README-solaris7-64bit
X
X# all docs in the doc and info subdirectories
X# this is an automatically generated file
X!include $builddir/$pkgdir/prototype.usr.include.docs
SHAR_EOF
  (set 20 01 03 29 05 09 54 'drivers/solaris2.5/pkg/prototype.usr.include.32'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/prototype.usr.include.32' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/prototype.usr.include.32' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/prototype.usr.include.32'`"
  test 1606 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/prototype.usr.include.32:' 'original size' '1606,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/prototype.usr.include.64 ==============
if test -f 'drivers/solaris2.5/pkg/prototype.usr.include.64' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/prototype.usr.include.64' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/prototype.usr.include.64' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/prototype.usr.include.64' &&
X# prototype.usr.include.64
X
X# dependency on 32-bit package
Xi depend=$builddir/$pkgdir/depend.usr.64
X
X# a generic location for 64-bit libraries
Xs none lib/64=$isalibdir
SHAR_EOF
  (set 20 01 03 28 05 17 24 'drivers/solaris2.5/pkg/prototype.usr.include.64'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/prototype.usr.include.64' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/prototype.usr.include.64' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/prototype.usr.include.64'`"
  test 168 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/prototype.usr.include.64:' 'original size' '168,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/request.root.32 ==============
if test -f 'drivers/solaris2.5/pkg/request.root.32' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/request.root.32' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/request.root.32' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/request.root.32' &&
Xtrap 'exit 3' 15
Xprompt="Installed Myrinet boards in this machine: ~"
Xhelp="File myri.conf will be created accordingly."
XBOARDS=`ckrange -p "$prompt" -h "$help" -l 1 -u 4 -d 1` || exit $?
Xecho BOARDS="$BOARDS" >>$1 || exit 1
SHAR_EOF
  (set 20 01 02 27 05 44 35 'drivers/solaris2.5/pkg/request.root.32'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/request.root.32' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/request.root.32' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/request.root.32'`"
  test 225 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/request.root.32:' 'original size' '225,' 'current size' "$shar_count!"
fi
# ============= drivers/solaris2.5/pkg/system ==============
if test -f 'drivers/solaris2.5/pkg/system' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'drivers/solaris2.5/pkg/system' '(file already exists)'
else
  $echo 'x -' extracting 'drivers/solaris2.5/pkg/system' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'drivers/solaris2.5/pkg/system' &&
X!install
X$a\
Xforceload: drv/gm
X/\<forceload:.*drv\/gm\>/d
X!remove
X/\<forceload:.*drv\/gm\>/d
SHAR_EOF
  (set 20 01 02 21 01 13 01 'drivers/solaris2.5/pkg/system'; eval "$shar_touch") &&
  chmod 0644 'drivers/solaris2.5/pkg/system' ||
  $echo 'restore of' 'drivers/solaris2.5/pkg/system' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'drivers/solaris2.5/pkg/system'`"
  test 93 -eq "$shar_count" ||
  $echo 'drivers/solaris2.5/pkg/system:' 'original size' '93,' 'current size' "$shar_count!"
fi
# ============= libgm/libgm.map ==============
if test ! -d 'libgm'; then
  $echo 'x -' 'creating directory' 'libgm'
  mkdir 'libgm'
fi
if test -f 'libgm/libgm.map' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'libgm/libgm.map' '(file already exists)'
else
  $echo 'x -' extracting 'libgm/libgm.map' '(text)'
  sed 's/^X//' << 'SHAR_EOF' > 'libgm/libgm.map' &&
X# libgm versioning mapfile (or version script); see also
X# http://www.usenix.org/publications/library/proceedings/als2000/browndavid.html
X
X#MYRI_1.4.1 {
X#    global:
X#	gm_unmark_all;		# only in API doc?
X#	gm_datagram_send_4;	# GM_ENABLE_PIO_DATAGRAMS
X#
X#} MYRI_1.4;
X
XMYRI_1.4 {
X    global:
X	gm_abort;
X	gm_alloc_pages;
X	gm_alloc_send_token;
X	gm_allow_remote_memory_access;
X	gm_bcopy;
X	gm_blocking_receive;
X	gm_blocking_receive_no_spin;
X	gm_bzero;
X	gm_calloc;
X	gm_cancel_alarm;
X	gm_close;
X	gm_crc;
X	gm_crc_str;
X	gm_create_hash;
X	gm_create_lookaside;
X	gm_create_mark_set;
X	gm_datagram_send;
X	gm_deregister_memory;
X	gm_destroy_hash;
X	gm_destroy_lookaside;
X	gm_destroy_mark_set;
X	gm_directed_send;
X	gm_directed_send_with_callback;
X	gm_dma_calloc;
X	gm_dma_free;
X	gm_dma_malloc;
X	gm_drop_sends;
X	gm_exit;
X	gm_finalize;
X	gm_free;
X	gm_free_pages;
X	gm_free_send_token;
X	gm_free_send_tokens;
X	gm_get_host_name;
X	gm_get_node_id;
X	gm_get_unique_board_id;
X	gm_handle_directed_send_notification;
X	gm_handle_sent_tokens;
X	gm_hash_compare_ints;
X	gm_hash_compare_longs;
X	gm_hash_compare_ptrs;
X	gm_hash_compare_strings;
X	gm_hash_find;
X	gm_hash_hash_int;
X	gm_hash_hash_long;
X	gm_hash_hash_ptr;
X	gm_hash_hash_string;
X	gm_hash_insert;
X	gm_hash_rekey;
X	gm_hash_remove;
X	gm_host_name_to_node_id;
X	gm_init;
X	gm_initialize_alarm;
X	gm_log2_roundup;
X	gm_lookaside_alloc;
X	gm_lookaside_free;
X	gm_malloc;
X	gm_mark;
X	gm_mark_is_valid;
X	gm_max_length_for_size;
X	gm_max_node_id;
X	gm_max_node_id_inuse;	# API doc uses gm_max_node_id_in_use;
X	gm_memcmp;
X	gm_memorize_message;
X	gm_min_message_size;
X	gm_min_size_for_length;
X	gm_mtu;
X	gm_next_event_peek;
X	gm_node_id_to_host_name;
X	gm_node_id_to_unique_id;
X	gm_num_ports;
X	gm_num_receive_tokens;
X	gm_num_send_tokens;
X	gm_on_exit;
X	gm_open;
X	gm_page_alloc;
X	gm_page_free;
X	gm_perror;
X	gm_printf;
X	gm_provide_receive_buffer;
X	gm_provide_receive_buffer_with_tag;
X	gm_rand;
X	gm_rand_mod;
X	gm_receive;
X	gm_receive_pending;
X	gm_register_memory;
X	gm_resume_sending;
X	gm_send;
X	gm_send_to_peer;
X	gm_send_to_peer_with_callback;
X	gm_send_token_available;
X	gm_send_with_callback;
X	gm_set_acceptable_sizes;
X	gm_set_alarm;
X	gm_sleep;
X	gm_strerror;
X	gm_unknown;
X	gm_unmark;
X#	gm_ntohc;
X#	gm_ntohc;
X#	gm_ntohp;
X#	gm_ntohs;
X};
X
XMYRIprivate {
X    global:
X	# prototype in gm.h
X	GM_PAGE_LEN;	# global data -- might better be replaced by a function
X	_gm_assertion_failed;
X	_gm_get_route;
X	gm_get_mapper_unique_id;
X	gm_get_node_type;
X	gm_getpid;
X	gm_set_enable_nack_down;
X	gm_srand;
X	gm_ticks;
X	gm_unique_id_to_node_id;
X	gm_wait;
X
X	# prototype in gm.h but apparently not used
X#	gm_create_mutex;
X#	gm_destroy_mutex;
X#	gm_directcopy_get;
X#	gm_dump_buffers;
X#	gm_flush_alarm;
X#	gm_hex_dump;
X#	gm_isprint;
X#	gm_lookaside_zalloc;
X#	gm_mutex_enter;
X#	gm_mutex_exit;
X#	gm_register_buffer;
X#	gm_strcmp;
X#	gm_strlen;
X#	gm_strncasecmp;
X#	gm_strncpy;
X#	gm_unique_id;
X#	gm_unregister_buffer;
X#	gm_zone_addr_in_zone;
X#	gm_zone_calloc;
X#	gm_zone_create_zone;
X#	gm_zone_destroy_zone;
X#	gm_zone_free;
X#	gm_zone_malloc;
X
X	# no prototype in gm.h but used
X	__gm_forget_dma_addr;
X	__gm_notice_dma_addr;
X	__gm_noticed_dma_addr;
X	_gm_build_id;
X	_gm_clear_all_routes;
X	_gm_cop_end;
X	_gm_cop_send;
X	_gm_cop_wakeup;
X	_gm_get_eeprom;
X	_gm_get_globals;
X	_gm_get_opener_pids;
X	_gm_get_page_hash_cache_size;
X	_gm_mapper_open;
X	_gm_open_common;
X	_gm_provide_raw_receive_buffer;
X	_gm_raw_send;
X	_gm_set_host_name;
X	_gm_set_mapper_level;
X	_gm_set_node_id;
X	_gm_set_route;
X	_gm_set_unique_id;
X	_gm_user_write_lanai_register;
X	_gm_version;
X
X    local:
X    	*;
X};
SHAR_EOF
  (set 20 01 03 29 04 30 44 'libgm/libgm.map'; eval "$shar_touch") &&
  chmod 0644 'libgm/libgm.map' ||
  $echo 'restore of' 'libgm/libgm.map' 'failed'
  shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'libgm/libgm.map'`"
  test 3521 -eq "$shar_count" ||
  $echo 'libgm/libgm.map:' 'original size' '3521,' 'current size' "$shar_count!"
fi
rm -fr _sh05495
exit 0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.