]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
shlib-overhaul-20060802
authorRuss Allbery <rra@stanford.edu>
Wed, 2 Aug 2006 22:54:51 +0000 (22:54 +0000)
committerRuss Allbery <rra@stanford.edu>
Wed, 2 Aug 2006 22:54:51 +0000 (22:54 +0000)
Overhaul how we build shared libraries.  Pull the code for building and
installing shared libraries out into simple shell scripts that we can then
evolve as we need to and make more sophisticated.  Remove the details of
how to use a mapfile from the Solaris Autoconf-driven configuration and
move them to the Solaris case of the build script.  In the process, make
it possible to build more than one shared library in a single directory.

Remove the last vestiges of libafssetpag from the sys directory; kopenafs
now replaces all of that.

Only link in syscall.o in the sys and kopenafs directories on those
platforms that actually care so that we don't have to do work to generate
a valid .o file that can be included in an archive.

31 files changed:
configure.in
src/cf/osconf.m4
src/config/.cvsignore
src/config/shlib-build.in [new file with mode: 0644]
src/config/shlib-install.in [new file with mode: 0644]
src/kopenafs/.cvsignore
src/kopenafs/Makefile.in
src/kopenafs/kopenafs.exp [deleted file]
src/kopenafs/libkopenafs.exp [new file with mode: 0644]
src/kopenafs/libkopenafs.map [new file with mode: 0644]
src/kopenafs/mapfile [deleted file]
src/pam/Makefile.in
src/pam/mapfile [deleted file]
src/pam/mapfile.hp [deleted file]
src/pam/pam_afs.hp [new file with mode: 0644]
src/pam/pam_afs.map [new file with mode: 0644]
src/shlibafsauthent/.cvsignore
src/shlibafsauthent/Makefile.in
src/shlibafsauthent/afsauthent.exp [deleted file]
src/shlibafsauthent/libafsauthent.exp [new file with mode: 0644]
src/shlibafsauthent/libafsauthent.map [new file with mode: 0644]
src/shlibafsauthent/mapfile [deleted file]
src/shlibafsrpc/.cvsignore
src/shlibafsrpc/Makefile.in
src/shlibafsrpc/afsrpc.exp [deleted file]
src/shlibafsrpc/libafsrpc.exp [new file with mode: 0644]
src/shlibafsrpc/libafsrpc.map [new file with mode: 0644]
src/shlibafsrpc/mapfile [deleted file]
src/sys/Makefile.in
src/sys/afssetpag.exp [deleted file]
src/sys/mapfile [deleted file]

index 99c4a9170d2dfcd711e1589ef13134d18bae2da7..5e2c0b8aef30755405dcf629304dcb2752dd78b2 100644 (file)
@@ -37,6 +37,8 @@ src/comerr/test/Makefile \
 src/config/Makefile \
 src/config/Makefile.config \
 src/config/Makefile.version-NOCML \
+src/config/shlib-build \
+src/config/shlib-install \
 src/des/Makefile \
 src/des/test/Makefile \
 src/dir/Makefile \
@@ -120,5 +122,7 @@ src/vol/Makefile \
 src/vol/test/Makefile \
 src/volser/Makefile \
 src/xstat/Makefile \
-src/helper-splint.sh \
-)
+src/helper-splint.sh,
+
+[chmod a+x src/config/shlib-build
+ chmod a+x src/config/shlib-install])
index dd309966cdd37ee7b53417a5766adb2fee39ec50..152496be039a99721e4b077c3b6628025733a234 100644 (file)
@@ -747,7 +747,7 @@ case $AFS_SYSNAME in
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
                LD="/usr/ccs/bin/ld"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
                LWP_OPTMZ="-g"
                ;;
 
@@ -768,7 +768,7 @@ case $AFS_SYSNAME in
                LD="/usr/ccs/bin/ld"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
                LWP_OPTMZ="-g"
                ;;
 
@@ -790,7 +790,7 @@ case $AFS_SYSNAME in
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
                LWP_OPTMZ="-g"
                ;;
 
@@ -812,7 +812,7 @@ case $AFS_SYSNAME in
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
                LWP_OPTMZ="-g"
                ;;
 
@@ -834,7 +834,7 @@ case $AFS_SYSNAME in
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
                LWP_OPTMZ="-g"
                ;;
 
@@ -856,7 +856,7 @@ case $AFS_SYSNAME in
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
                LWP_OPTMZ="-g"
                ;;
 
@@ -878,7 +878,7 @@ case $AFS_SYSNAME in
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
                ;;
 
        sunx86_58)
@@ -899,7 +899,7 @@ case $AFS_SYSNAME in
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
                ;;
 
        sunx86_59)
@@ -920,7 +920,7 @@ case $AFS_SYSNAME in
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
                ;;
 
        sunx86_510)
@@ -941,7 +941,7 @@ case $AFS_SYSNAME in
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
                ;;
 esac
 
index 176458763ca0a4193ed8e447287d6c5a172e3871..951c21542ca82e8a0182c367239f4b1ed6e04b2a 100644 (file)
@@ -15,4 +15,6 @@ Makefile.sun4x_56
 Makefile.sun4x_57
 param.h.new
 Makefile.config
+shlib-build
+shlib-install
 stamp-h1
diff --git a/src/config/shlib-build.in b/src/config/shlib-build.in
new file mode 100644 (file)
index 0000000..6e46699
--- /dev/null
@@ -0,0 +1,121 @@
+#!/bin/sh
+#
+# Builds a shared library, incorporating the random portability work that we
+# have to do.  Gets the basic information from Autoconf and knows how to find
+# the appropriate system-specific map or version file and set library SONAMEs.
+#
+# This is not libtool.  If it appears to be in danger of evolving into
+# libtool, please shoot it and start over, possibly by rewriting AFS in Ada.
+
+# We take the following regular arguments: -d <srcdir>, -f <filename>, -l
+# <library>, -M <major>, and -m <minor>.  If -f is given, it overrides -l and
+# specifies the complete filename of the shared library to build.  We then
+# expect a -- option indicating the end of our arguments and the rest of the
+# arguments are passed along verbatim to the linker.
+
+linker="@SHLIB_LINKER@"
+suffix="@SHLIB_SUFFIX@"
+sysname="@AFS_SYSNAME@"
+
+library=
+major=
+minor=
+srcdir=.
+done=
+while [ -z "$done" ] && [ $# -gt 0 ] ; do
+    case "$1" in
+    -d)
+        shift
+        srcdir="$1"
+        shift
+        ;;
+    -f)
+        shift
+        filename="$1"
+        shift
+        ;;
+    -l)
+        shift
+        library="$1"
+        shift
+        ;;
+    -M)
+        shift
+        major="$1"
+        shift
+        ;;
+    -m)
+        shift
+        minor="$1"
+        shift
+        ;;
+    --)
+        shift
+        done=yes
+        ;;
+    *)
+        echo 'Usage: shlib-build -l <lib> -M <major> -m <minor> -- ...' >&2
+        exit 1
+        ;;
+    esac
+done
+if [ -z "$library" ] ; then
+    echo 'Usage: shlib-install -l <lib> -M <major> -m <minor>' >&2
+    exit 1
+fi
+
+# Print out what we're doing while we do it for debugging.
+export=
+if [ -z "$filename" ] ; then
+    if [ -z "$major" ] ; then
+        filename="$library.$suffix"
+        soname=
+    else
+        filename="$library.$suffix.$major.$minor"
+        soname="$library.$suffix.$major"
+    fi
+fi
+case $sysname in
+rs_aix*)
+    if [ -f "$srcdir/$library.exp" ] ; then
+        export="-bE:$srcdir/$library.exp"
+    fi
+    echo "$linker $export -o $filename $*"
+    $linker $export -o "$filename" "$@"
+    ;;
+sun*_5*)
+    if [ -f "$srcdir/$library.map" ] ; then
+        export="-Wl,-M$srcdir/$library.map"
+    fi
+    if [ -z "$soname" ] ; then
+        echo "$linker $export -o $filename $*"
+        $linker $export -o "$filename" "$@"
+    else
+        echo "$linker $export -h $soname -o $filename $*"
+        $linker $export -h "$soname" -o "$filename" "$@"
+    fi
+    ;;
+*_linux*)
+    if [ -f "$srcdir/$library.map" ] ; then
+        export="-Wl,--version-script=$srcdir/$library.map"
+    fi
+    if [ -z "$soname" ] ; then
+        echo "$linker $export -o $filename $*"
+        $linker $export -o "$filename" "$@"
+    else
+        echo "$linker $export -Wl,-h,$soname -o $filename $*"
+        $linker $export -Wl,-h,"$soname" -o "$filename" "$@"
+    fi
+    ;;
+hp_ux*)
+    if [ -f "$srcdir/$library.hp" ] ; then
+        export="-c $srcdir/$library.hp"
+    fi
+    echo "$linker $export -o $filename $*"
+    $linker $export -o "$filename" "$@"
+    ;;
+*)
+    echo "$linker -o $filename $*"
+    $linker -o "$filename" "$@"
+    ;;
+esac
diff --git a/src/config/shlib-install.in b/src/config/shlib-install.in
new file mode 100644 (file)
index 0000000..33955d7
--- /dev/null
@@ -0,0 +1,79 @@
+#!/bin/sh
+#
+# Install a shared library, doing the appropriate portable linking depending
+# on the platform.  We don't deal with rpath.
+#
+# This is not libtool.  If it appears to be in danger of evolving into
+# libtool, please shoot it and start over, possibly by rewriting AFS in Ada.
+
+# We take the following regular arguments: -d <destination>, -l <library>, -M
+# <major>, -m <minor>.
+
+INSTALL="@INSTALL@"
+install="@INSTALL_DATA@"
+suffix="@SHLIB_SUFFIX@"
+sysname="@AFS_SYSNAME@"
+
+library=
+major=
+minor=
+while [ $# -gt 0 ] ; do
+    case "$1" in
+    -d)
+        shift
+        dest="$1"
+        shift
+        ;;
+    -l)
+        shift
+        library="$1"
+        shift
+        ;;
+    -M)
+        shift
+        major="$1"
+        shift
+        ;;
+    -m)
+        shift
+        minor="$1"
+        shift
+        ;;
+    *)
+        echo 'Usage: shlib-install -d <dest> -l <lib> -M <maj> -m <min>' >&2
+        exit 1
+        ;;
+    esac
+done
+if [ -z "$library" ] || [ -z "$dest" ] ; then
+    echo 'Usage: shlib-install -d <dest> -l <lib> -M <maj> -m <min>' >&2
+    exit 1
+fi
+
+if [ -z "$major" ] ; then
+    filename="$library.$suffix"
+else
+    filename="$library.$suffix.$major.$minor"
+fi
+case $sysname in
+rs_aix*)
+    $install "$filename" "$dest/$library.$suffix.shared"
+    ;;
+hp_ux*)
+    if [ -z "$major" ] ; then
+        $install "$filename" "$dest/$library.$suffix"
+    else
+        $install "$filename" "$dest/$library.$suffix.$major"
+        ln -s -f "$library.$suffix.$major" "$dest/$library.$suffix"
+    fi
+    ;;
+*)
+    if [ -z "$major" ] ; then
+        $install "$filename" "$dest/$library.$suffix"
+    else
+        $install "$filename" $dest/"$filename"
+        ln -s -f "$filename" "$dest/$library.$suffix"
+        ln -s -f "$filename" "$dest/$library.$suffix.$major"
+    fi
+    ;;
+esac
index 88e4cc6941e5d9d16f6cb19e6d4df84b72b27508..48bf75a49d884d98de058bb4d2da61b6ed6b09a5 100644 (file)
@@ -1,5 +1,6 @@
 AFS_component_version_number.c
 Makefile
-libkopenafs.*
+libkopenafs.a*
+libkopenafs.so*
 test-setpag
 test-unlog
index eb470edfa053b3d11c82656085df26948c3b8ebb..37be450925719386925ae86c0cfc649176d4e8d9 100644 (file)
@@ -20,7 +20,7 @@ INCLUDES      = -I. -I${srcdir} -I../sys
 CFLAGS         = ${COMMON_CFLAGS} ${INCLUDES} ${MT_CFLAGS} ${SHLIB_CFLAGS}
 
 SYS            = ${srcdir}/../sys
-SYSOBJS                = glue.o pioctl.o setpag.o syscall.o
+SYSOBJS                = glue.o pioctl.o setpag.o
 LIBOBJS                = kopenafs.o ${SYSOBJS} AFS_component_version_number.o
 
 LIBKOPENAFS    = libkopenafs.${SHLIB_SUFFIX}.${MAJOR}.${MINOR}
@@ -29,11 +29,8 @@ all: ${TOP_LIBDIR}/${LIBKOPENAFS} ${TOP_LIBDIR}/libkopenafs.a \
                ${TOP_INCDIR}/kopenafs.h
 
 ${TOP_LIBDIR}/${LIBKOPENAFS}: ${LIBKOPENAFS}
-       ${INSTALL_DATA} ${LIBKOPENAFS} ${TOP_LIBDIR}/${LIBKOPENAFS}
-       -ln -f -s ${LIBKOPENAFS} \
-               ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}
-       -ln -f -s ${LIBKOPENAFS} \
-               ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}.${MAJOR}
+       ../config/shlib-install -d ${TOP_LIBDIR} \
+               -l libkopenafs -M ${MAJOR} -m ${MINOR}
 
 ${TOP_LIBDIR}/libkopenafs.a: libkopenafs.a
        ${INSTALL_DATA} libkopenafs.a $@
@@ -53,47 +50,41 @@ setpag.o: ${SYS}/setpag.c ${SYS}/afssyscalls.h
 # This file is only actually used on SGI and AIX, but some systems can't cope
 # with an empty .o file being included in a link.
 syscall.o: ${SYS}/syscall.s
-       @set -x; case "$(SYS_NAME)" in \
+       @set -e; set -x; case "$(SYS_NAME)" in \
        sgi_*) \
                 ${CC} ${CFLAGS} -c ${SYS}/syscall.s; \
                ;; \
-       *fbsd* | *obsd* | *nbsd*) \
-               ${CCOBJ} -E ${SFLAGS} syscall.s > syscall.S ; \
-               ${AS} syscall.S -o syscall.o ; \
-               $(RM) -f syscall.S; \
-               ;; \
-       rs_aix*) \
+       rs_aix* | hp_ux10*) \
                /lib/cpp -P ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \
                as -o syscall.o syscall.ss; \
                $(RM) syscall.ss; \
                ;; \
        *) \
-               touch syscall.o; \
+               touch syscall.o ; \
                ;; \
        esac
 
 libkopenafs.a: ${LIBOBJS}
        ${RM} -f $@
-       ${AR} crv $@ ${LIBOBJS}
+       @set -e; set -x; case "$(SYS_NAME)" in \
+       sgi_* | rs_aix* | hp_ux10*) \
+               ${AR} crv $@ ${LIBOBJS} syscall.o ;; \
+       *) \
+               ${AR} crv $@ ${LIBOBJS} ;; \
+       esac
        ${RANLIB} $@
 
 ${LIBKOPENAFS}: ${LIBOBJS}
-       case ${SYS_NAME} in \
-       rs_aix*) \
-               ${SHLIB_LINKER} -o ${LIBKOPENAFS} ${LIBOBJS} \
-                       -bE:${srcdir}/kopenafs.exp ${MT_LIBS}; \
-               ;; \
-       sun*_5*) \
-               ${SHLIB_LINKER} -h libafsrpc.${SHLIB_SUFFIX}.${MAJOR} \
-                       -o ${LIBKOPENAFS} ${LIBOBJS} ${MT_LIBS}; \
-               ;; \
-       *_linux*) \
-               ${SHLIB_LINKER} -Wl,-h,libafsrpc.${SHLIB_SUFFIX}.${MAJOR} \
-                       -Wl,--version-script=${srcdir}/mapfile \
-                       -o ${LIBKOPENAFS} ${LIBOBJS} ${MT_LIBS}; \
+       @set -e; set -x; case ${SYS_NAME} in \
+       sgi_* | rs_aix* | hp_ux10*) \
+               ../config/shlib-build -d $(srcdir) -l libkopenafs \
+                       -M ${MAJOR} -m ${MINOR} -- \
+                       ${LIBOBJS} syscall.o ${MT_LIBS} ; \
                ;; \
        *) \
-               ${SHLIB_LINKER} -o ${LIBKOPENAFS} ${LIBOBJS} ${MT_LIBS}; \
+               ../config/shlib-build -d $(srcdir) -l libkopenafs \
+                       -M ${MAJOR} -m ${MINOR} -- \
+                       ${LIBOBJS} ${MT_LIBS} ; \
                ;; \
        esac
 
@@ -110,28 +101,23 @@ install: ${LIBKOPENAFS}
        ${INSTALL} -d ${DESTDIR}${libdir}
        ${INSTALL} -d ${DESTDIR}${includedir}
        ${INSTALL_DATA} libkopenafs.a ${DESTDIR}${libdir}/libkopenafs.a
-       ${INSTALL_DATA} ${LIBKOPENAFS} ${DESTDIR}${libdir}/${LIBKOPENAFS}
-       -ln -f -s ${LIBKOPENAFS} \
-               ${DESTDIR}${libdir}/libkopenafs.${SHLIB_SUFFIX}
-       -ln -f -s ${LIBKOPENAFS} \
-               ${DESTDIR}${libdir}/libkopenafs.${SHLIB_SUFFIX}.${MAJOR}
        ${INSTALL_DATA} kopenafs.h ${DESTDIR}${includedir}/kopenafs.h
+       ../config/shlib-install -d ${DESTDIR}${libdir} \
+               -l libkopenafs -M ${MAJOR} -m ${MINOR}
 
 dest: ${LIBKOPENAFS}
        ${INSTALL} -d ${DEST}/lib
        ${INSTALL} -d ${DEST}/include
        ${INSTALL_DATA} libkopenafs.a ${DEST}/lib/libkopenafs.a
-       ${INSTALL_DATA} ${LIBKOPENAFS} ${DEST}/lib/${LIBKOPENAFS}
-       -ln -f -s ${LIBKOPENAFS} \
-               ${DEST}/lib/libkopenafs.${SHLIB_SUFFIX}
-       -ln -f -s ${LIBKOPENAFS} \
-               ${DEST}/lib/libkopenafs.${SHLIB_SUFFIX}.${MAJOR}
        ${INSTALL_DATA} kopenafs.h ${DEST}/include/kopenafs.h
+       ../config/shlib-install -d ${DEST}/lib \
+               -l libkopenafs -M ${MAJOR} -m ${MINOR}
 
 #
 # Misc targets
 #
 clean:
-       $(RM) -f *.o *.a ${LIBKOPENAFS} AFS_component_version_number.c
+       $(RM) -f *.o *.a ${LIBKOPENAFS} AFS_component_version_number.c \
+               test-setpag test-unlog
 
 include ../config/Makefile.version
diff --git a/src/kopenafs/kopenafs.exp b/src/kopenafs/kopenafs.exp
deleted file mode 100644 (file)
index 5cfc102..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-k_hasafs
-k_setpag
-k_unlog
-k_pioctl
diff --git a/src/kopenafs/libkopenafs.exp b/src/kopenafs/libkopenafs.exp
new file mode 100644 (file)
index 0000000..5cfc102
--- /dev/null
@@ -0,0 +1,4 @@
+k_hasafs
+k_setpag
+k_unlog
+k_pioctl
diff --git a/src/kopenafs/libkopenafs.map b/src/kopenafs/libkopenafs.map
new file mode 100644 (file)
index 0000000..2220a04
--- /dev/null
@@ -0,0 +1,13 @@
+# Export map for libkopenafs, used on Linux and Solaris to restrict
+# exports from the shared libraries to just the public ABI.  Add symbol
+# versioning while we're at it, just in case.
+
+KOPENAFS_1.0 {
+    global:
+        k_hasafs;
+        k_setpag;
+        k_unlog;
+        k_pioctl;
+    local:
+        *;
+};
diff --git a/src/kopenafs/mapfile b/src/kopenafs/mapfile
deleted file mode 100644 (file)
index 2220a04..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# Export map for libkopenafs, used on Linux and Solaris to restrict
-# exports from the shared libraries to just the public ABI.  Add symbol
-# versioning while we're at it, just in case.
-
-KOPENAFS_1.0 {
-    global:
-        k_hasafs;
-        k_setpag;
-        k_unlog;
-        k_pioctl;
-    local:
-        *;
-};
index 024f3847ca71e10fc3c45bf1e9bb911006ac0b6d..07156e88e6676464cc0ffb4a4604274181b1fb55 100644 (file)
@@ -48,46 +48,13 @@ afs_util_krb.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
        ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_util.c -o afs_util_krb.o
 
 pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o
-       set -x; \
-       case "$(SYS_NAME)" in \
-       hp_ux* | ia64_hpux*) \
-               $(LD) $(LDFLAGS) -c ${srcdir}/mapfile.hp -o $@ \
-                       afs_setcred.o afs_auth.o afs_util.o \
-                       $(SHOBJS) $(LIBS) ;; \
-       sun*_5*) \
-               $(LD) $(LDFLAGS) -M ${srcdir}/mapfile -o $@ \
-                       afs_setcred.o afs_auth.o afs_util.o \
-                       $(SHOBJS) $(LIBS) ;; \
-       *linux*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
-                       afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
-       *fbsd*| *nbsd*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
-                       afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
-       * ) \
-               echo No link line for system $(SYS_NAME). ;; \
-       esac
+       ../config/shlib-build -d $(srcdir) -f pam_afs.so.1 -l pam_afs -- \
+               afs_setcred.o afs_auth.o afs_util.o ${SHOBJS} ${LIBS}
 
 pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o
-       set -x; \
-       case "$(SYS_NAME)" in \
-       hp_ux* | ia64_hpux*) \
-               $(LD) $(LDFLAGS) -c ${srcdir}/mapfile.hp -o $@ \
-                       afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o \
-                       $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
-       sun*_5*) \
-               $(LD) $(LDFLAGS) -M ${srcdir}/mapfile -o $@ \
-                       afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o \
-                       $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
-       *linux*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
-                       afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
-       *fbsd*| *nbsd*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
-                       afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
-       * ) \
-               echo No link line for system $(SYS_NAME). ;; \
-       esac
+       ../config/shlib-build -d $(srcdir) -f pam_afs.krb.so.1 -l pam_afs -- \
+               afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o \
+               ${SHOBJS} ${KLIBS}
 
 test_pam: test_pam.o
        set -x; \
diff --git a/src/pam/mapfile b/src/pam/mapfile
deleted file mode 100644 (file)
index 74c1e3a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-pam_afs.so.1 {
-       global:
-               # Published PAM service module interfaces
-               pam_sm_authenticate;
-               pam_sm_acct_mgmt;
-               pam_sm_setcred;
-               pam_sm_open_session;
-               pam_sm_close_session;
-               pam_sm_chauthtok;
-       local:
-               *;
-};
diff --git a/src/pam/mapfile.hp b/src/pam/mapfile.hp
deleted file mode 100644 (file)
index 1ea26fc..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-+e pam_sm_authenticate
-+e pam_sm_acct_mgmt
-+e pam_sm_setcred
-+e pam_sm_open_session
-+e pam_sm_close_session
-+e pam_sm_chauthtok
diff --git a/src/pam/pam_afs.hp b/src/pam/pam_afs.hp
new file mode 100644 (file)
index 0000000..1ea26fc
--- /dev/null
@@ -0,0 +1,6 @@
++e pam_sm_authenticate
++e pam_sm_acct_mgmt
++e pam_sm_setcred
++e pam_sm_open_session
++e pam_sm_close_session
++e pam_sm_chauthtok
diff --git a/src/pam/pam_afs.map b/src/pam/pam_afs.map
new file mode 100644 (file)
index 0000000..74c1e3a
--- /dev/null
@@ -0,0 +1,12 @@
+pam_afs.so.1 {
+       global:
+               # Published PAM service module interfaces
+               pam_sm_authenticate;
+               pam_sm_acct_mgmt;
+               pam_sm_setcred;
+               pam_sm_open_session;
+               pam_sm_close_session;
+               pam_sm_chauthtok;
+       local:
+               *;
+};
index b318ac51834a6e605ba1b0122f50f7be272e5748..8b2d65ecf4e5ce48b5a128c5cad7368c80cf251e 100644 (file)
@@ -1,2 +1,4 @@
 Makefile
-libafsauthent.so.1.0
+libafsauthent.a.*
+libafsauthent.sl*
+libafsauthent.so*
index 302cc4eeaf839b632d352a7fabb7a969461125cd..dd3c28e376374be80572fb49d33f838f0df37f93 100644 (file)
@@ -103,31 +103,24 @@ LIBAFSAUTHENT = libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR}.${LIBAFSAUTH
 all: ${TOP_LIBDIR}/${LIBAFSAUTHENT}
 
 ${TOP_LIBDIR}/${LIBAFSAUTHENT}: ${LIBAFSAUTHENT}
-       ${INSTALL_DATA} ${LIBAFSAUTHENT} ${TOP_LIBDIR}/${LIBAFSAUTHENT}
-       -ln -f -s ${LIBAFSAUTHENT} ${TOP_LIBDIR}/libafsauthent.${SHLIB_SUFFIX}
-       -ln -f -s ${LIBAFSAUTHENT} ${TOP_LIBDIR}/libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR}
+       ../config/shlib-install -d ${TOP_LIBDIR} \
+               -l libafsauthent \
+               -M ${LIBAFSAUTHENTMAJOR} -m ${LIBAFSAUTHENTMINOR}
 
 install: ${LIBAFSAUTHENT}
-       ${INSTALL_DATA} ${LIBAFSAUTHENT} ${DESTDIR}${libdir}/${LIBAFSAUTHENT}
-       -ln -f -s ${LIBAFSAUTHENT} ${DESTDIR}${libdir}/libafsauthent.${SHLIB_SUFFIX}
-       -ln -f -s ${LIBAFSAUTHENT} ${DESTDIR}${libdir}/libafsauthent.${SHLIB_SUFFIX}.${LIBFASAUTHENTMAJOR}
+       ../config/shlib-install -d ${DESTDIR}${libdir} \
+               -l libafsauthent \
+               -M ${LIBAFSAUTHENTMAJOR} -m ${LIBAFSAUTHENTMINOR}
 
 dest: ${LIBAFSAUTHENT}
-       ${INSTALL_DATA} ${LIBAFSAUTHENT} ${DEST}/lib/${LIBAFSAUTHENT}
-       -ln -f -s ${LIBAFSAUTHENT} ${DEST}/lib/libafsauthent.${SHLIB_SUFFIX}
-       -ln -f -s ${LIBAFSAUTHENT} ${DEST}/lib/libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR}
+       ../config/shlib-install -d ${DEST}/lib \
+               -l libafsauthent \
+               -M ${LIBAFSAUTHENTMAJOR} -m ${LIBAFSAUTHENTMINOR}
 
 ${LIBAFSAUTHENT}: ${LIBOBJS}
-       case ${SYS_NAME} in \
-       rs_aix4*) \
-               ${SHLIB_LINKER} -o ${LIBAFSAUTHENT} ${LIBOBJS} -L${TOP_LIBDIR} -bE:afsauthent.exp -lafsrpc ${MT_LIBS};; \
-       sun*_5*) \
-               ${SHLIB_LINKER} -h libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR} -o ${LIBAFSAUTHENT} ${LIBOBJS} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \
-       *_linux*) \
-               ${SHLIB_LINKER} -Wl,-h,libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR} -Wl,--version-script=${srcdir}/mapfile -o ${LIBAFSAUTHENT} ${LIBOBJS} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \
-       *) \
-               ${SHLIB_LINKER} -o ${LIBAFSAUTHENT} ${LIBOBJS} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \
-       esac
+       ../config/shlib-build -d $(srcdir) -l libafsauthent \
+               -M ${LIBAFSAUTHENTMAJOR} -m ${LIBAFSAUTHENTMINOR} -- \
+               ${LIBOBJS} ${MT_LIBS}
 
 audit.o: ${AUDIT}/audit.c
        ${CCRULE}
@@ -281,4 +274,4 @@ pioctl.o: ${SYS}/pioctl.c
        ${CCRULE}
 
 clean:
-       $(RM) -f *.o *.a libafsauthent*
+       $(RM) -f *.o *.a libafsauthent.a* libafsauthent.sl* libafsauthent.so*
diff --git a/src/shlibafsauthent/afsauthent.exp b/src/shlibafsauthent/afsauthent.exp
deleted file mode 100644 (file)
index b5f8247..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-afsconf_AddKey
-afsconf_AddUser
-afsconf_CellApply
-afsconf_CheckAuth
-afsconf_ClientAuth
-afsconf_ClientAuthSecure
-afsconf_Close
-afsconf_DeleteKey
-afsconf_DeleteUser
-afsconf_GetCellInfo
-afsconf_GetKey
-afsconf_GetKeys
-afsconf_GetLatestKey
-afsconf_GetLocalCell
-afsconf_GetNoAuthFlag
-afsconf_GetNthUser
-afsconf_IntGetKeys
-afsconf_Open
-afsconf_ServerAuth
-afsconf_SetCellInfo
-afsconf_SetNoAuthFlag
-afsconf_SuperUser
-ka_AuthServerConn
-ka_Authenticate
-ka_CellConfig
-ka_CellToRealm
-ka_ChangePassword
-ka_ExpandCell
-ka_ExplicitCell
-ka_GetAdminToken
-ka_GetAuthToken
-ka_GetSecurity
-ka_GetServerToken
-ka_GetServers
-ka_GetToken
-ka_Init
-ka_LocalCell
-ka_ParseLoginName
-ka_ReadPassword
-ka_SingleServerConn
-ka_StringToKey
-ka_UserAuthenticateGeneral
-ka_VerifyUserToken
-ktc_ForgetAllTokens
-ktc_ForgetToken
-ktc_GetToken
-ktc_ListTokens
-ktc_OldPioctl
-ktc_SetToken
-ubik_Call
-ubik_Call_New
-ubik_CallIter
-ubik_ClientDestroy
-ubik_ClientInit
-ubik_ParseClientList
diff --git a/src/shlibafsauthent/libafsauthent.exp b/src/shlibafsauthent/libafsauthent.exp
new file mode 100644 (file)
index 0000000..b5f8247
--- /dev/null
@@ -0,0 +1,55 @@
+afsconf_AddKey
+afsconf_AddUser
+afsconf_CellApply
+afsconf_CheckAuth
+afsconf_ClientAuth
+afsconf_ClientAuthSecure
+afsconf_Close
+afsconf_DeleteKey
+afsconf_DeleteUser
+afsconf_GetCellInfo
+afsconf_GetKey
+afsconf_GetKeys
+afsconf_GetLatestKey
+afsconf_GetLocalCell
+afsconf_GetNoAuthFlag
+afsconf_GetNthUser
+afsconf_IntGetKeys
+afsconf_Open
+afsconf_ServerAuth
+afsconf_SetCellInfo
+afsconf_SetNoAuthFlag
+afsconf_SuperUser
+ka_AuthServerConn
+ka_Authenticate
+ka_CellConfig
+ka_CellToRealm
+ka_ChangePassword
+ka_ExpandCell
+ka_ExplicitCell
+ka_GetAdminToken
+ka_GetAuthToken
+ka_GetSecurity
+ka_GetServerToken
+ka_GetServers
+ka_GetToken
+ka_Init
+ka_LocalCell
+ka_ParseLoginName
+ka_ReadPassword
+ka_SingleServerConn
+ka_StringToKey
+ka_UserAuthenticateGeneral
+ka_VerifyUserToken
+ktc_ForgetAllTokens
+ktc_ForgetToken
+ktc_GetToken
+ktc_ListTokens
+ktc_OldPioctl
+ktc_SetToken
+ubik_Call
+ubik_Call_New
+ubik_CallIter
+ubik_ClientDestroy
+ubik_ClientInit
+ubik_ParseClientList
diff --git a/src/shlibafsauthent/libafsauthent.map b/src/shlibafsauthent/libafsauthent.map
new file mode 100644 (file)
index 0000000..7bf00c0
--- /dev/null
@@ -0,0 +1,90 @@
+# Copyright 2000, International Business Machines Corporation and others.
+# All Rights Reserved.
+# 
+# This software has been released under the terms of the IBM Public
+# License.  For details, see the LICENSE file in the top-level source
+# directory or online at http://www.openafs.org/dl/license10.html
+
+{
+    global:
+       afsconf_AddKey;
+       afsconf_AddUser;
+       afsconf_CellApply;
+       afsconf_CheckAuth;
+       afsconf_ClientAuth;
+       afsconf_ClientAuthSecure;
+       afsconf_Close;
+       afsconf_DeleteKey;
+       afsconf_DeleteUser;
+       afsconf_GetCellInfo;
+       afsconf_GetKey;
+       afsconf_GetKeys;
+       afsconf_GetLatestKey;
+       afsconf_GetLocalCell;
+       afsconf_GetNoAuthFlag;
+       afsconf_GetNthUser;
+       afsconf_IntGetKeys;
+       afsconf_Open;
+       afsconf_ServerAuth;
+       afsconf_SetCellInfo;
+       afsconf_SetNoAuthFlag;
+       afsconf_SuperUser;
+       ka_AuthServerConn;
+       ka_Authenticate;
+       ka_CellConfig;
+       ka_CellToRealm;
+       ka_ChangePassword;
+       ka_ExpandCell;
+       ka_ExplicitCell;
+       ka_GetAdminToken;
+       ka_GetAuthToken;
+       ka_GetSecurity;
+       ka_GetServerToken;
+       ka_GetServers;
+       ka_GetToken;
+       ka_Init;
+       ka_LocalCell;
+       ka_ParseLoginName;
+       ka_ReadPassword;
+       ka_SingleServerConn;
+       ka_StringToKey;
+       ka_KeyCheckSum;
+       ka_UserAuthenticateGeneral;
+       ka_VerifyUserToken;
+       ktc_ForgetAllTokens;
+       ktc_ForgetToken;
+       ktc_GetToken;
+       ktc_ListTokens;
+       ktc_OldPioctl;
+       ktc_SetToken;
+       ubik_Call;
+       ubik_Call_New;
+       ubik_CallIter;
+       ubik_ClientDestroy;
+       ubik_ClientInit;
+       ubik_ParseClientList;
+       pioctl;
+       getDirPath;
+       ka_AuthSpecificServersConn;
+       pthread_recursive_mutex_lock;
+       pthread_recursive_mutex_unlock;
+       grmutex;
+       initAFSDirPath;
+       renamefile;
+       pr_GetCPS;
+       pr_Initialize;
+       pr_GetHostCPS;
+       afs_krb_get_lrealm;
+       pr_NameToId;
+       pr_IdToName;
+       pr_ListMembers;
+       pr_End;
+       pr_SNameToId;
+       afs_get_pag_from_groups;
+       setpag;
+       afs_snprintf;
+       LogThreadNum;
+
+    local:
+       *;
+};
diff --git a/src/shlibafsauthent/mapfile b/src/shlibafsauthent/mapfile
deleted file mode 100644 (file)
index 7bf00c0..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 2000, International Business Machines Corporation and others.
-# All Rights Reserved.
-# 
-# This software has been released under the terms of the IBM Public
-# License.  For details, see the LICENSE file in the top-level source
-# directory or online at http://www.openafs.org/dl/license10.html
-
-{
-    global:
-       afsconf_AddKey;
-       afsconf_AddUser;
-       afsconf_CellApply;
-       afsconf_CheckAuth;
-       afsconf_ClientAuth;
-       afsconf_ClientAuthSecure;
-       afsconf_Close;
-       afsconf_DeleteKey;
-       afsconf_DeleteUser;
-       afsconf_GetCellInfo;
-       afsconf_GetKey;
-       afsconf_GetKeys;
-       afsconf_GetLatestKey;
-       afsconf_GetLocalCell;
-       afsconf_GetNoAuthFlag;
-       afsconf_GetNthUser;
-       afsconf_IntGetKeys;
-       afsconf_Open;
-       afsconf_ServerAuth;
-       afsconf_SetCellInfo;
-       afsconf_SetNoAuthFlag;
-       afsconf_SuperUser;
-       ka_AuthServerConn;
-       ka_Authenticate;
-       ka_CellConfig;
-       ka_CellToRealm;
-       ka_ChangePassword;
-       ka_ExpandCell;
-       ka_ExplicitCell;
-       ka_GetAdminToken;
-       ka_GetAuthToken;
-       ka_GetSecurity;
-       ka_GetServerToken;
-       ka_GetServers;
-       ka_GetToken;
-       ka_Init;
-       ka_LocalCell;
-       ka_ParseLoginName;
-       ka_ReadPassword;
-       ka_SingleServerConn;
-       ka_StringToKey;
-       ka_KeyCheckSum;
-       ka_UserAuthenticateGeneral;
-       ka_VerifyUserToken;
-       ktc_ForgetAllTokens;
-       ktc_ForgetToken;
-       ktc_GetToken;
-       ktc_ListTokens;
-       ktc_OldPioctl;
-       ktc_SetToken;
-       ubik_Call;
-       ubik_Call_New;
-       ubik_CallIter;
-       ubik_ClientDestroy;
-       ubik_ClientInit;
-       ubik_ParseClientList;
-       pioctl;
-       getDirPath;
-       ka_AuthSpecificServersConn;
-       pthread_recursive_mutex_lock;
-       pthread_recursive_mutex_unlock;
-       grmutex;
-       initAFSDirPath;
-       renamefile;
-       pr_GetCPS;
-       pr_Initialize;
-       pr_GetHostCPS;
-       afs_krb_get_lrealm;
-       pr_NameToId;
-       pr_IdToName;
-       pr_ListMembers;
-       pr_End;
-       pr_SNameToId;
-       afs_get_pag_from_groups;
-       setpag;
-       afs_snprintf;
-       LogThreadNum;
-
-    local:
-       *;
-};
index ca4b2c5750a6fd1524b6373aa803a5e3e306c2d0..2a3afb8659e7493c3624d0521438776b1932885e 100644 (file)
@@ -1,2 +1,4 @@
 Makefile
-libafsrpc.so.1.1
+libafsrpc.a*
+libafsrpc.sl*
+libafsrpc.so*
index 59d7f143647a64cce739d0867aa74a8f28984892..b89734cb7dbb1dd0676ba8fdececef43969b4283 100644 (file)
@@ -137,31 +137,21 @@ LIBAFSRPC = libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR}.${LIBAFSRPCMINOR}
 all: ${TOP_LIBDIR}/${LIBAFSRPC}
 
 ${TOP_LIBDIR}/${LIBAFSRPC}: ${LIBAFSRPC}
-       ${INSTALL_DATA} ${LIBAFSRPC} ${TOP_LIBDIR}/${LIBAFSRPC}
-       -ln -f -s ${LIBAFSRPC} ${TOP_LIBDIR}/libafsrpc.${SHLIB_SUFFIX}
-       -ln -f -s ${LIBAFSRPC} ${TOP_LIBDIR}/libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR}
+       ../config/shlib-install -d ${TOP_LIBDIR} \
+               -l libafsrpc -M ${LIBAFSRPCMAJOR} -m ${LIBAFSRPCMINOR}
 
 install: ${LIBAFSRPC}
-       ${INSTALL_DATA} ${LIBAFSRPC} ${DESTDIR}${libdir}/${LIBAFSRPC}
-       -ln -f -s ${LIBAFSRPC} ${DESTDIR}${libdir}/libafsrpc.${SHLIB_SUFFIX}
-       -ln -f -s ${LIBAFSRPC} ${DESTDIR}${libdir}/libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR}
+       ../config/shlib-install -d ${DESTDIR}${libdir} \
+               -l libafsrpc -M ${LIBAFSRPCMAJOR} -m ${LIBAFSRPCMINOR}
 
 dest: ${LIBAFSRPC}
-       ${INSTALL_DATA} ${LIBAFSRPC} ${DEST}/lib/${LIBAFSRPC}
-       -ln -f -s ${LIBAFSRPC} ${DEST}/lib/libafsrpc.${SHLIB_SUFFIX}
-       -ln -f -s ${LIBAFSRPC} ${DEST}/lib/libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR}
+       ../config/shlib-install -d ${DEST}/lib \
+               -l libafsrpc -M ${LIBAFSRPCMAJOR} -m ${LIBAFSRPCMINOR}
 
 ${LIBAFSRPC}: ${LIBOBJS}
-       case ${SYS_NAME} in \
-       rs_aix4* | rs_aix5*) \
-               ${SHLIB_LINKER} -o ${LIBAFSRPC} ${LIBOBJS} -bE:${srcdir}/afsrpc.exp ${MT_LIBS};; \
-       sun*_5*) \
-               ${SHLIB_LINKER} -h libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR} -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
-       *_linux*) \
-               ${SHLIB_LINKER} -Wl,-h,libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR} -Wl,--version-script=${srcdir}/mapfile -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
-       *) \
-               ${SHLIB_LINKER} -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
-       esac
+       ../config/shlib-build -d $(srcdir) -l libafsrpc \
+               -M ${LIBAFSRPCMAJOR} -m ${LIBAFSRPCMINOR} -- \
+               ${LIBOBJS} ${MT_LIBS}
 
 rx_event.o: ${RX}/rx_event.c
        ${CCRULE}
@@ -417,4 +407,4 @@ afsaux.o: ${FSINT}/afsaux.c
        ${CCRULE}
 
 clean:
-       $(RM) -f *.o libafsrpc*
+       $(RM) -f *.o libafsrpc.a* libafsrpc.sl* libafsrpc.so*
diff --git a/src/shlibafsrpc/afsrpc.exp b/src/shlibafsrpc/afsrpc.exp
deleted file mode 100644 (file)
index b0bfac6..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-des_cbc_cksum
-des_cbc_encrypt
-des_cbc_init
-des_check_key_parity
-des_cksum_init
-des_des_init
-des_ecb_encrypt
-des_fixup_key_parity
-des_generate_random_block
-des_init_random_number_generator
-des_is_weak_key
-des_key_sched
-des_pcbc_encrypt
-des_random_key
-des_string_to_key
-ktohl
-life_to_time
-rx_DestroyConnection
-rx_EndCall
-rx_EventPost
-rx_Finalize
-rx_GetCachedConnection
-rx_GetCall
-rx_GetIFInfo
-rx_Init
-rx_NewCall
-rx_NewConnection
-rx_NewService
-rx_PrintPeerStats
-rx_PrintStats
-rx_PrintTheseStats
-rx_ReadProc
-rx_ReleaseCachedConnection
-rx_ServerProc
-rx_StartServer
-rx_WriteProc
-rxevent_Init
-rxevent_Post
-rxkad_GetServerInfo
-rxkad_NewClientSecurityObject
-rxkad_NewServerSecurityObject
-rxkad_client_init
-rxkad_crypt_init
-rxnull_NewClientSecurityObject
-rxnull_NewServerSecurityObject
-rxs_Release
-time_to_life
-tkt_CheckTimes
-tkt_DecodeTicket
-tkt_MakeTicket
-xdr_array
-xdr_bool
-xdr_bytes
-xdr_char
-xdr_double
-xdr_enum
-xdr_float
-xdr_int
-xdr_long
-xdr_opaque
-xdr_pointer
-xdr_reference
-xdr_short
-xdr_string
-xdr_u_char
-xdr_u_int
-xdr_u_long
-xdr_u_short
-xdr_union
-xdr_vector
-xdr_void
-xdr_wrapstring
-xdrmem_create
-xdrrec_create
-xdrrec_endofrecord
-xdrrec_eof
-xdrrec_skiprecord
-xdrrx_create
-xdr_afsuuid
-xdr_int64
-hton_syserr_conv
-rxkad_global_stats
-rxkad_global_stats_lock
-rxkad_stats_key
-_et_list
-et_list_mutex
-com_err
-error_message
-rx_socket
-des_pcbc_init
-rx_BusyError
-rx_BusyThreshold
-rxi_connAbortThreshhold
-rxi_connAbortDelay
-rxi_callAbortThreshhold
-rxi_callAbortDelay
-RXSTATS_ExecuteRequest
-RXSTATS_RetrieveProcessRPCStats
-RXSTATS_RetrievePeerRPCStats
-RXSTATS_QueryProcessRPCStats
-RXSTATS_QueryPeerRPCStats
-RXSTATS_EnableProcessRPCStats
-RXSTATS_EnablePeerRPCStats
-RXSTATS_DisableProcessRPCStats
-RXSTATS_DisablePeerRPCStats
-RXSTATS_QueryRPCStatsVersion
-RXSTATS_ClearProcessRPCStats
-RXSTATS_ClearPeerRPCStats
-RXSTATS_function_names
-RXAFSCB_CallBack
-StartRXAFSCB_CallBack
-EndRXAFSCB_CallBack
-RXAFSCB_InitCallBackState
-RXAFSCB_Probe
-StartRXAFSCB_Probe
-EndRXAFSCB_Probe
-RXAFSCB_GetLock
-RXAFSCB_GetCE
-RXAFSCB_XStatsVersion
-RXAFSCB_GetXStats
-RXAFSCB_InitCallBackState2
-RXAFSCB_WhoAreYou
-RXAFSCB_InitCallBackState3
-RXAFSCB_ProbeUuid
-StartRXAFSCB_ProbeUuid
-EndRXAFSCB_ProbeUuid
-RXAFSCB_GetServerPrefs
-RXAFSCB_GetCellServDB
-RXAFSCB_GetLocalCell
-RXAFSCB_GetCacheConfig
-StartRXAFS_FetchData
-EndRXAFS_FetchData
-RXAFS_FetchACL
-RXAFS_FetchStatus
-StartRXAFS_StoreData
-EndRXAFS_StoreData
-RXAFS_StoreACL
-RXAFS_StoreStatus
-RXAFS_RemoveFile
-RXAFS_CreateFile
-RXAFS_Rename
-RXAFS_Symlink
-RXAFS_Link
-RXAFS_MakeDir
-RXAFS_RemoveDir
-RXAFS_OldSetLock
-RXAFS_OldExtendLock
-RXAFS_OldReleaseLock
-RXAFS_GetStatistics
-RXAFS_GiveUpCallBacks
-RXAFS_GetVolumeInfo
-RXAFS_GetVolumeStatus
-RXAFS_SetVolumeStatus
-RXAFS_GetRootVolume
-RXAFS_CheckToken
-RXAFS_GetTime
-RXAFS_NGetVolumeInfo
-RXAFS_BulkStatus
-RXAFS_SetLock
-RXAFS_ExtendLock
-RXAFS_ReleaseLock
-RXAFS_XStatsVersion
-RXAFS_GetXStats
-RXAFS_Lookup
-RXAFS_FlushCPS
-RXAFS_DFSSymlink
-RXAFSCB_function_names
diff --git a/src/shlibafsrpc/libafsrpc.exp b/src/shlibafsrpc/libafsrpc.exp
new file mode 100644 (file)
index 0000000..b0bfac6
--- /dev/null
@@ -0,0 +1,167 @@
+des_cbc_cksum
+des_cbc_encrypt
+des_cbc_init
+des_check_key_parity
+des_cksum_init
+des_des_init
+des_ecb_encrypt
+des_fixup_key_parity
+des_generate_random_block
+des_init_random_number_generator
+des_is_weak_key
+des_key_sched
+des_pcbc_encrypt
+des_random_key
+des_string_to_key
+ktohl
+life_to_time
+rx_DestroyConnection
+rx_EndCall
+rx_EventPost
+rx_Finalize
+rx_GetCachedConnection
+rx_GetCall
+rx_GetIFInfo
+rx_Init
+rx_NewCall
+rx_NewConnection
+rx_NewService
+rx_PrintPeerStats
+rx_PrintStats
+rx_PrintTheseStats
+rx_ReadProc
+rx_ReleaseCachedConnection
+rx_ServerProc
+rx_StartServer
+rx_WriteProc
+rxevent_Init
+rxevent_Post
+rxkad_GetServerInfo
+rxkad_NewClientSecurityObject
+rxkad_NewServerSecurityObject
+rxkad_client_init
+rxkad_crypt_init
+rxnull_NewClientSecurityObject
+rxnull_NewServerSecurityObject
+rxs_Release
+time_to_life
+tkt_CheckTimes
+tkt_DecodeTicket
+tkt_MakeTicket
+xdr_array
+xdr_bool
+xdr_bytes
+xdr_char
+xdr_double
+xdr_enum
+xdr_float
+xdr_int
+xdr_long
+xdr_opaque
+xdr_pointer
+xdr_reference
+xdr_short
+xdr_string
+xdr_u_char
+xdr_u_int
+xdr_u_long
+xdr_u_short
+xdr_union
+xdr_vector
+xdr_void
+xdr_wrapstring
+xdrmem_create
+xdrrec_create
+xdrrec_endofrecord
+xdrrec_eof
+xdrrec_skiprecord
+xdrrx_create
+xdr_afsuuid
+xdr_int64
+hton_syserr_conv
+rxkad_global_stats
+rxkad_global_stats_lock
+rxkad_stats_key
+_et_list
+et_list_mutex
+com_err
+error_message
+rx_socket
+des_pcbc_init
+rx_BusyError
+rx_BusyThreshold
+rxi_connAbortThreshhold
+rxi_connAbortDelay
+rxi_callAbortThreshhold
+rxi_callAbortDelay
+RXSTATS_ExecuteRequest
+RXSTATS_RetrieveProcessRPCStats
+RXSTATS_RetrievePeerRPCStats
+RXSTATS_QueryProcessRPCStats
+RXSTATS_QueryPeerRPCStats
+RXSTATS_EnableProcessRPCStats
+RXSTATS_EnablePeerRPCStats
+RXSTATS_DisableProcessRPCStats
+RXSTATS_DisablePeerRPCStats
+RXSTATS_QueryRPCStatsVersion
+RXSTATS_ClearProcessRPCStats
+RXSTATS_ClearPeerRPCStats
+RXSTATS_function_names
+RXAFSCB_CallBack
+StartRXAFSCB_CallBack
+EndRXAFSCB_CallBack
+RXAFSCB_InitCallBackState
+RXAFSCB_Probe
+StartRXAFSCB_Probe
+EndRXAFSCB_Probe
+RXAFSCB_GetLock
+RXAFSCB_GetCE
+RXAFSCB_XStatsVersion
+RXAFSCB_GetXStats
+RXAFSCB_InitCallBackState2
+RXAFSCB_WhoAreYou
+RXAFSCB_InitCallBackState3
+RXAFSCB_ProbeUuid
+StartRXAFSCB_ProbeUuid
+EndRXAFSCB_ProbeUuid
+RXAFSCB_GetServerPrefs
+RXAFSCB_GetCellServDB
+RXAFSCB_GetLocalCell
+RXAFSCB_GetCacheConfig
+StartRXAFS_FetchData
+EndRXAFS_FetchData
+RXAFS_FetchACL
+RXAFS_FetchStatus
+StartRXAFS_StoreData
+EndRXAFS_StoreData
+RXAFS_StoreACL
+RXAFS_StoreStatus
+RXAFS_RemoveFile
+RXAFS_CreateFile
+RXAFS_Rename
+RXAFS_Symlink
+RXAFS_Link
+RXAFS_MakeDir
+RXAFS_RemoveDir
+RXAFS_OldSetLock
+RXAFS_OldExtendLock
+RXAFS_OldReleaseLock
+RXAFS_GetStatistics
+RXAFS_GiveUpCallBacks
+RXAFS_GetVolumeInfo
+RXAFS_GetVolumeStatus
+RXAFS_SetVolumeStatus
+RXAFS_GetRootVolume
+RXAFS_CheckToken
+RXAFS_GetTime
+RXAFS_NGetVolumeInfo
+RXAFS_BulkStatus
+RXAFS_SetLock
+RXAFS_ExtendLock
+RXAFS_ReleaseLock
+RXAFS_XStatsVersion
+RXAFS_GetXStats
+RXAFS_Lookup
+RXAFS_FlushCPS
+RXAFS_DFSSymlink
+RXAFSCB_function_names
diff --git a/src/shlibafsrpc/libafsrpc.map b/src/shlibafsrpc/libafsrpc.map
new file mode 100644 (file)
index 0000000..e791b5f
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright 2000, International Business Machines Corporation and others.
+# All Rights Reserved.
+# 
+# This software has been released under the terms of the IBM Public
+# License.  For details, see the LICENSE file in the top-level source
+# directory or online at http://www.openafs.org/dl/license10.html
+
+{
+    global:
+       des_check_key_parity;
+       des_fixup_key_parity;
+       des_init_random_number_generator;
+       des_is_weak_key;
+       des_key_sched;
+       des_random_key;
+       des_string_to_key;
+       des_cbc_cksum;
+       des_ecb_encrypt;
+       des_pcbc_encrypt;
+       ktohl;
+       life_to_time;
+       rx_DestroyConnection;
+       rx_EndCall;
+       rx_Finalize;
+       rx_GetCachedConnection;
+       rx_GetCall;
+       rx_GetIFInfo;
+       rx_GetSpecific;
+       rx_Init;
+       rx_KeyCreate;
+       rx_NewCall;
+       rx_NewConnection;
+       rx_NewService;
+       rx_PrintPeerStats;
+       rx_PrintStats;
+       rx_PrintTheseStats;
+       rx_ReadProc;
+       rx_ReleaseCachedConnection;
+       rx_ServerProc;
+       rx_SetSpecific;
+       rx_StartServer;
+       rx_WriteProc;
+       rxevent_Init;
+       rxevent_Post;
+       rxkad_GetServerInfo;
+       rxkad_NewClientSecurityObject;
+       rxkad_NewServerSecurityObject;
+       rxnull_NewClientSecurityObject;
+       rxnull_NewServerSecurityObject;
+       rxs_Release;
+       time_to_life;
+       tkt_CheckTimes;
+       tkt_DecodeTicket;
+       tkt_MakeTicket;
+       xdrrx_create;
+       hton_syserr_conv;
+       rxkad_global_stats;
+       rxkad_global_stats_lock;
+       rxkad_stats_key;
+       com_err;
+       error_message;
+       rx_socket;
+       rxevent_debugFile;
+       rx_debugFile;
+       rx_connDeadTime;
+       rx_maxReceiveSize;
+       rx_UdpBufSize;
+       rx_extraQuota;
+       rx_extraPackets;
+       rx_tranquil;
+       rx_getAllAddr;
+       rx_nWaiting;
+       rx_stats;
+       rx_SetNoJumbo;
+       rx_SetConnDeadTime;
+       rx_FlushWrite;
+       rx_thread_id_key;
+       multi_Finalize;
+       multi_Select;
+       multi_Init;
+       multi_Finalize_Ignore;
+       add_to_error_table;
+       xdr_afsUUID;
+       xdr_afs_int32;
+       xdr_afs_uint32;
+       xdr_afs_int64;
+       xdr_afs_uint64;
+       rx_IncrementTimeAndCount;
+       rx_enable_stats;
+       rx_GetServerDebug;
+       rx_GetServerStats;
+       rx_GetServerVersion;
+       rx_GetServerConnections;
+       rx_stats_mutex;
+       rx_GetServerPeers;
+       rx_RetrieveProcessRPCStats;
+       rx_RetrievePeerRPCStats;
+       rx_FreeRPCStats;
+       rx_queryProcessRPCStats;
+       rx_queryPeerRPCStats;
+       rx_enableProcessRPCStats;
+       rx_enablePeerRPCStats;
+       rx_disableProcessRPCStats;
+       rx_disablePeerRPCStats;
+       RXSTATS_ExecuteRequest;
+       RXSTATS_RetrieveProcessRPCStats;
+       RXSTATS_RetrievePeerRPCStats;
+       RXSTATS_QueryProcessRPCStats;
+       RXSTATS_QueryPeerRPCStats;
+       RXSTATS_EnableProcessRPCStats;
+       RXSTATS_EnablePeerRPCStats;
+       RXSTATS_DisableProcessRPCStats;
+       RXSTATS_DisablePeerRPCStats;
+       RXSTATS_QueryRPCStatsVersion;
+       RXSTATS_ClearProcessRPCStats;
+       RXSTATS_ClearPeerRPCStats;
+       TM_GetTimeOfDay;
+
+    local:
+       *;
+};
diff --git a/src/shlibafsrpc/mapfile b/src/shlibafsrpc/mapfile
deleted file mode 100644 (file)
index e791b5f..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 2000, International Business Machines Corporation and others.
-# All Rights Reserved.
-# 
-# This software has been released under the terms of the IBM Public
-# License.  For details, see the LICENSE file in the top-level source
-# directory or online at http://www.openafs.org/dl/license10.html
-
-{
-    global:
-       des_check_key_parity;
-       des_fixup_key_parity;
-       des_init_random_number_generator;
-       des_is_weak_key;
-       des_key_sched;
-       des_random_key;
-       des_string_to_key;
-       des_cbc_cksum;
-       des_ecb_encrypt;
-       des_pcbc_encrypt;
-       ktohl;
-       life_to_time;
-       rx_DestroyConnection;
-       rx_EndCall;
-       rx_Finalize;
-       rx_GetCachedConnection;
-       rx_GetCall;
-       rx_GetIFInfo;
-       rx_GetSpecific;
-       rx_Init;
-       rx_KeyCreate;
-       rx_NewCall;
-       rx_NewConnection;
-       rx_NewService;
-       rx_PrintPeerStats;
-       rx_PrintStats;
-       rx_PrintTheseStats;
-       rx_ReadProc;
-       rx_ReleaseCachedConnection;
-       rx_ServerProc;
-       rx_SetSpecific;
-       rx_StartServer;
-       rx_WriteProc;
-       rxevent_Init;
-       rxevent_Post;
-       rxkad_GetServerInfo;
-       rxkad_NewClientSecurityObject;
-       rxkad_NewServerSecurityObject;
-       rxnull_NewClientSecurityObject;
-       rxnull_NewServerSecurityObject;
-       rxs_Release;
-       time_to_life;
-       tkt_CheckTimes;
-       tkt_DecodeTicket;
-       tkt_MakeTicket;
-       xdrrx_create;
-       hton_syserr_conv;
-       rxkad_global_stats;
-       rxkad_global_stats_lock;
-       rxkad_stats_key;
-       com_err;
-       error_message;
-       rx_socket;
-       rxevent_debugFile;
-       rx_debugFile;
-       rx_connDeadTime;
-       rx_maxReceiveSize;
-       rx_UdpBufSize;
-       rx_extraQuota;
-       rx_extraPackets;
-       rx_tranquil;
-       rx_getAllAddr;
-       rx_nWaiting;
-       rx_stats;
-       rx_SetNoJumbo;
-       rx_SetConnDeadTime;
-       rx_FlushWrite;
-       rx_thread_id_key;
-       multi_Finalize;
-       multi_Select;
-       multi_Init;
-       multi_Finalize_Ignore;
-       add_to_error_table;
-       xdr_afsUUID;
-       xdr_afs_int32;
-       xdr_afs_uint32;
-       xdr_afs_int64;
-       xdr_afs_uint64;
-       rx_IncrementTimeAndCount;
-       rx_enable_stats;
-       rx_GetServerDebug;
-       rx_GetServerStats;
-       rx_GetServerVersion;
-       rx_GetServerConnections;
-       rx_stats_mutex;
-       rx_GetServerPeers;
-       rx_RetrieveProcessRPCStats;
-       rx_RetrievePeerRPCStats;
-       rx_FreeRPCStats;
-       rx_queryProcessRPCStats;
-       rx_queryPeerRPCStats;
-       rx_enableProcessRPCStats;
-       rx_enablePeerRPCStats;
-       rx_disableProcessRPCStats;
-       rx_disablePeerRPCStats;
-       RXSTATS_ExecuteRequest;
-       RXSTATS_RetrieveProcessRPCStats;
-       RXSTATS_RetrievePeerRPCStats;
-       RXSTATS_QueryProcessRPCStats;
-       RXSTATS_QueryPeerRPCStats;
-       RXSTATS_EnableProcessRPCStats;
-       RXSTATS_EnablePeerRPCStats;
-       RXSTATS_DisableProcessRPCStats;
-       RXSTATS_DisablePeerRPCStats;
-       RXSTATS_QueryRPCStatsVersion;
-       RXSTATS_ClearProcessRPCStats;
-       RXSTATS_ClearPeerRPCStats;
-       TM_GetTimeOfDay;
-
-    local:
-       *;
-};
index 09e366d9a86c1c95b749d8d9d9cc4a95327a13a3..85aba821adf6c29881b3d576f315e7c5de912217 100644 (file)
@@ -1,8 +1,3 @@
-# API version. When something changes, increment as appropriate. 
-# Ignore at your own risk.
-LIBAFSSETPAGMAJOR=1
-LIBAFSSETPAGMINOR=0
-
 # Copyright 2000, International Business Machines Corporation and others.
 # All Rights Reserved.
 # 
@@ -19,7 +14,8 @@ CFLAGS=-I. -I${srcdir} ${DBUG} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR}  ${XCF
 SFLAGS=-I${TOP_INCDIR}
 LIBS=libsys.a ${TOP_LIBDIR}/librx.a libsys.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a ${XLIBS}
 
-OBJECTS= afssyscalls.o setpag.o pioctl.o glue.o syscall.o
+OBJECTS= afssyscalls.o setpag.o pioctl.o glue.o \
+       AFS_component_version_number.o
 SHLIBOBJS = picobj/setpag.o picobj/glue.o syscall.o
 RMTOBJS=rmtsysnet.o rmtsysc.o rmtsys.cs.o rmtsys.xdr.o rmtsys.ss.o rmtsyss.o 
 
@@ -80,39 +76,32 @@ depinstall: \
        Krmtsys.cs.c Krmtsys.h Krmtsys.xdr.c rmtsys.h 
 
 libsys.a: ${OBJECTS} ${RMTOBJS} afsl.exp AFS_component_version_number.o
-       -$(RM) -f $@
-       $(AR) crv $@ ${OBJECTS} ${RMTOBJS} \
-               AFS_component_version_number.o ${LIBSYS_AIX_EXP}
-       $(RANLIB) $@
-       @set -x; case "${SYS_NAME}" in                          \
-               rs_aix*)                                \
-                       $(AR) crv $@ afsl.exp;;         \
+       $(RM) -f $@
+       @set -e; set -x; case "$(SYS_NAME)" in \
+       sgi_* | hp_ux10*) \
+               ${AR} crv $@ ${OBJECTS} ${RMTOBJS} syscall.o ;; \
+       rs_aix*) \
+               ${AR} crv $@ ${OBJECTS} ${RMTOBJS} syscall.o afsl.exp ;; \
+       *) \
+               ${AR} crv $@ ${OBJECTS} ${RMTOBJS} ;; \
        esac
+       $(RANLIB) $@
 
 tests: pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
 
 syscall.o: syscall.s
-       @set -x; case "$(SYS_NAME)" in \
-        sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53  | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sun4x_5?? | sunx86_5? | sunx86_5?? ) \
-               /usr/ccs/lib/cpp -P ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \
-               as -o syscall.o syscall.ss;             \
-               $(RM) syscall.ss;;                              \
-        sgi_* |*_darwin* ) \
-                ${CC} ${CFLAGS} -c ${srcdir}/syscall.s;;          \
-        alpha_osf1 | alpha_osf20 |  alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux?? ) \
-               ${AS} -P ${CFLAGS} -D_NO_PROTO -DMACH -DOSF -nostdinc -traditional -DASSEMBLER ${srcdir}/syscall.s; \
-               ${AS} -o syscall.o syscall.i; \
-               $(RM) -f syscall.ss syscall.i;; \
-        hp_ux11? ) \
-               touch syscall.o;; \
-        amd64_fbsd*|i386_*bsd*|*nbsd*) \
-               ${CCOBJ} -E ${SFLAGS} syscall.s > syscall.S ; \
-               ${AS} syscall.S -o syscall.o ;  \
-               $(RM) -f syscall.S ;;\
-        *) \
+       @set -e; set -x; case "$(SYS_NAME)" in \
+       sgi_*) \
+                ${CC} ${CFLAGS} -c ${SYS}/syscall.s; \
+               ;; \
+       rs_aix* | hp_ux10*) \
                /lib/cpp -P ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \
-               as -o syscall.o syscall.ss;             \
-               $(RM) syscall.ss;;                              \
+               as -o syscall.o syscall.ss; \
+               $(RM) syscall.ss; \
+               ;; \
+       *) \
+               touch syscall.o ; \
+               ;; \
        esac
 
 afssyscalls.o: afssyscalls.c afssyscalls.h
diff --git a/src/sys/afssetpag.exp b/src/sys/afssetpag.exp
deleted file mode 100644 (file)
index 65b79ae..0000000
+++ /dev/null
@@ -1 +0,0 @@
-lsetpag
diff --git a/src/sys/mapfile b/src/sys/mapfile
deleted file mode 100644 (file)
index e565257..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# Export map for libafssetpag, used on Linux and Solaris to restrict
-# exports from the shared libraries to just the public ABI.  Add symbol
-# versioning while we're at it, just in case.
-
-AFSSETPAG_1.0 {
-    global:
-        lsetpag;
-    local:
-        *;
-};