LICENSE BSD
When probing in configure for cpp, use the user's PATH first and then
the /lib and /usr/ccs/lib directories. Set PATH_CPP instead of CPP,
since the latter is just overwritten by Autoconf. Use PATH_CPP by
preference in rxgen and when pre-processing assembly, since otherwise
newer gcc will treat the input file as linker input and not do anything
with it. Don't assume that cpp writes to the second argument; gcc
apparently doesn't always do this. Instead, redirect standard output.
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.
Add a shared libkopenafs that provides k_hasafs, k_setpag, k_unlog, and
k_pioctl (in other words, enough for a PAM session module that calls an
external aklog).
General consensus is that the termlib hacks that necessitate the libnull.a
hack don't matter on any current platform we build on, and even if it does,
it should be dealt with in TXLIBS in osconf.m4. So remove all of that
infrastructure and see what fails.
Delete pinstall and convert the entire tree to use the install program
found by configure (falling back on install-sh in the local tree). This
means that we have to pre-create directories with install -d. Also redo
the install and dest rules to be lists of install rules rather than
dependencies driving separate make rules so that running make install will
always update the target directory with the current code, even if there are
files in the install area that are newer.
Stop installing libafssetpag; we're about to kill it in favor of a
different library. Remove some djgpp rules.
On installation, substitute the configured paths into the man pages,
replacing the Transarc paths. Also fix a problem with the way that
pinstall was being used to install man pages. (Silly me, I was assuming
it had the same behavior as install.)
This is just a quick first pass. Longer term, it's probably better to
replace all paths in the man pages with unambiguous tokens and then
replace those tokens instead of assuming that the man pages use Transarc
paths and replacing those paths specifically. The current method has a
few minor problems, such as not being able to distinguish between the
various paths that make up /usr/afs/bin. Still, the results of this method
are good enough to start with.
a) a freebsd client that compiles, and to a certain extent, works. Should
not be used except by people doing freebsd client development
b) configure glue for freebsd 4.3, 4.4, and 4.5
c) freebsd tfileserver support. Note that, by default, this isn't very
interesting, as the supported freebsd pthreads are just as cooperative as
LWP. if you install the linuxthreads port and swap the MT_* variables in
osconf.m4, you will get a more traditional tfileserver though. configure
glue for that will be forthcoming at some point.
d) a maybe-fix that sets sin_len in sockaddrs on platforms that have them.
(and also a fix for the AC_PROG_CC issue which affects autoconf 2.13 and 2.5x
on same conf files issue)
cleanup all target, get missing headers
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
put perl modules in properly named subdir
move dump tools directly into test suite as that is their intended use
canonical versions of these tools will be distributed otherwise
and may be updated but these provide the minimum functionality
don't succeed configuring if we can't build for them
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
don't look at the generated files
use a single file for most of both configure scripts
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
except don't require autoconf 2.50
hopefully this will be the end
(at least for a while) of problems where every linux version requires a new
openafs release. the struct vnode is now dynamically generated by parsing the
linux/fs.h file and pulling out the struct inode, then rewriting osi_vfs.h