Attempt to make hcrypto parallel-safe

make -j4 on a Fedora buildbot machine failed to compile engine.lo
because hcrypto/rand.h was missing.

Change-Id: I2750db9ed932144fbc66ede41d24c4930172a446
Allow compiling with KERNEL and AFS_PTHREAD_ENV

Add the necessary preprocessor conditionals to allow building
libuafs with AFS_PTHREAD_ENV defined.

A follow-up commit will switch to building libuafs using libtool,
which will set the pthread compiler/linker flags.  UKERNEL is already
using the pthread primitives for its internal kernel synchronization,
so there should not be any harm from additionally specifying the
pthread build arguments.

This change was produced mostly in a mechanical fashion, attempting
to perform such a build, and eliminating compiler and linker errors
in an iterative process.  No concerted effort has been made to audit
the whole kernel codebase for correctness of conditionals, but the
linktest executable does link (that is, the overall build succeeds).

Change-Id: I14a3ab5fce72812d92ba5657c734783dbd086ee3
Build libuafs with libtool

Use the standard program for building PIC and non-PIC object files,
instead of rolling our own.  This allows us to pull the build rules
into the Makefile.common, leaving just compiler flags and similar
in the MakefileProtos.

This does change the build flags being used to compile these files
somewhat -- the old CRULE1 and CRULEPIC used CC instead of CCOBJ
or MT_CC, and did not pass MT_CFLAGS, but it should be safe to
move to the standard compiler invocations.  We can also eliminate
the libuafs-specific 'OPTF' variable which expands to OPTMZ almost
everywhere.

Rename our COMMON_INCLUDE to MODULE_INCLUDE so it's picked up properly
by the standard build rules; this will let us remove
${TOP_OBJDIR}/src/config and ${TOP_INCDIR} once the rest of the
build rules in this Makefile are converted to use libtool, as those
include directories are already added by COMMON_INCL in Makefile.config.

As a side effect, we get rid of the LIBUAFS make variable -- all sites
were defining it to libuafs.a anyway, so we can just hardcode it.

We can also build a shared libuafs.la "for free".  Don't install
it anywhere just yet, though.

Change-Id: I2bda2f40bbd0aa808c24e074d2d7bcd329f6b77e
Make afs_usrops.h more closely resemble reality

Remove prototypes for many routines which are not implemented.
(I thought some toolchains would complain about this sort of thing?
Maybe we disable it.)

Change-Id: Id09f494f1c64c2feb05ae82ead9898c08888a5de
Finish deorbiting libjuafs.a

Change I2074d5bc26e326db36b16e055431818ef1c69210 removed the separate
compilation/link of a libjuafs.a (since it was functionally identical
to the libuafs.a already being built), but retained a libjuafs.a in
TOP_LIBDIR for use by src/JAVA/libjafs/.

This commit adjusts src/JAVA/libjafs to refer to libuafs.a directly,
and removes references to libjuafs.a which are no longer relevant.

Change-Id: I0d02ea9e4be773ac50a04925c45e5f243650e21a
Provide a usable fileserver default config (-X)

The existing default values, and the -S (small) and -L (large) presets,
are essentially untouched since the initial import from IBM, and as
such are scaled appropriately for 1995-era hardware.  (The number of
threads used by a large fileserver increased to 128 in 2008.)

Modern systems are several iterations of Moore's law ahead of those,
and can generally afford to use a lot more memory for data structures.
We should provide a usable preset configuration instead of requiring
all operators to make extensive tuning to their fileservers to get
decent performance.

Add the -X preset (extra large) for this purpose, since we do not
have sufficient internal sanity checking to prevent changing the
existing default/presets from having a harmful effect on existing
deployments which add extra customizations on top of a preset.

Update the man pages to add the -X preset and document that -S and
-L are deprecated.

Change-Id: I35751bab3acc4a9a72ec0d04e88f36d2c2c44298
LWP fileserver is no more

Don't mention it in the man pages.

Change-Id: I8a6d706f055545642116af5a98fa8c04f533b990
dummy: link afsd.fuse shared

To get an export list for libuafs.la

Change-Id: I4709e11b306ebe478be28637c56a8d786ba0fd45
Appease suse buildslaves

Change-Id: I8dc56717dc57c712fcc0ccb5b661cf440f83dc89