introduce-autoconf-for-openafs-20010628

replace existing build system with autoconf faceplate

====================
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.
====================

so we can fix the file modes

====================
commit withj correct file modes

====================

stuff which got left behind

====================

more stuff which was missed

====================

get this right so build completes

====================

also make these correct (no obj reference)

====================

so autoconf dependancy chain need not change

====================

set correct variable for obsolete buildng

====================

so we can more easily use autoconf'd CC var
This commit is contained in:
Derrick Brashear 2001-06-28 06:44:19 +00:00
parent 114eb0c827
commit aaca2cacd9
95 changed files with 8205 additions and 631 deletions

View File

@ -9,21 +9,24 @@ SHELL=/bin/sh
DESTDIR=dest/
SRCDIR=${DESTDIR}
INSTALL=${SRCDIR}bin/install
WASHTOOL=${SRCDIR}bin/washtool
#WASHTOOLRCSUPDATE=${WASHTOOL} rcsupdate
WASHTOOLCMD=$(MAKE)
WASHTOOLFLAGS=-argument install
COMPILE_PART1=${WASHTOOL} ${WASHTOOLCMD}
COMPILE_PART2=${WASHTOOLFLAGS}
MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
# Systype-generic items
SYS_NAME=@AFS_SYSNAME@
MKAFS_OSTYPE=@MKAFS_OSTYPE@
# Systype-specific items
LINUX_KERNEL_PATH=@LINUX_KERNEL_PATH@
LINUX_VERSION=@LINUX_VERSION@
# Other items
LIB_AFSDB=@LIB_AFSDB@
# Enable build+install of obsolete and insecure packages
# Set to anything other than YES, or comment out to disable the build
WITH_OBSOLETE=YES
WITH_INSECURE=YES
WITH_OBSOLETE=@WITH_OBSOLETE@
WITH_INSECURE=@WITH_INSECURE@
# To compile AFS from scratch in the src tree run "make SYS_NAME=<type>".
# This recursively calls "make install ..." and does not depend on the
@ -37,44 +40,29 @@ WITH_INSECURE=YES
all:
set ${SYS_NAME}/dest; $(MKDIR_IF_NEEDED)
$(MAKE) install "COMPILE_PART1=cd obj; cd" "COMPILE_PART2=; $(MAKE) install SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ SRCDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=`pwd`/${SYS_NAME}/obj" "COMPILE_PART3=; $(MAKE) SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ SRCDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=`pwd`/${SYS_NAME}/obj" SYS_NAME=${SYS_NAME} "WASHTOOL=echo No washtool: "
$(MAKE) install "COMPILE_PART1=cd src; cd" "COMPILE_PART2=; $(MAKE) install SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=@TOP_SRCDIR@ SRCDIR=`pwd`/${SYS_NAME}/dest/" "COMPILE_PART3=; $(MAKE) test SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=@TOP_SRCDIR@ SRCDIR=`pwd`/${SYS_NAME}/dest/" "COMPILE_CLEAN=; $(MAKE) clean SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=@TOP_SRCDIR@ SRCDIR=`pwd`/${SYS_NAME}/dest/" SYS_NAME=${SYS_NAME}
basics:
-if test -f "${WASHTOOL}"; \
then \
${WASHTOOL} project . . -noretarget; \
${WASHTOOL} destdir; \
fi
# test -d ${DESTDIR}
project: cmd comerr
minproject: basics
${WASHTOOL} project . . -noretarget
${WASHTOOL} destdir
project: basics cmd comerr minproject # try and initialize project
config: basics
config:
${COMPILE_PART1} config ${COMPILE_PART2}
pinstall: basics config
pinstall: config
${COMPILE_PART1} pinstall ${COMPILE_PART2}
procmgmt: basics config pinstall
procmgmt: config pinstall
${COMPILE_PART1} procmgmt ${COMPILE_PART2}
util: basics pinstall procmgmt
util: pinstall procmgmt
${COMPILE_PART1} util ${COMPILE_PART2}
kernutil: basics pinstall
${COMPILE_PART1} util ${COMPILE_PART3} kinstall
audit: basics pinstall rx rxkad fsint
audit: pinstall rx rxkad fsint
${COMPILE_PART1} audit ${COMPILE_PART2}
comerr: basics util
comerr: util
${COMPILE_PART1} comerr ${COMPILE_PART2}
cmd: basics comerr
cmd: comerr
${COMPILE_PART1} cmd ${COMPILE_PART2}
@case ${SYS_NAME} in \
sgi_6* | sun4x_57 | sun4x_58 | hp_ux11* | sparc64_linux* | alpha_linux* ) \
@ -84,11 +72,10 @@ cmd: basics comerr
lwp: project util
${COMPILE_PART1} lwp ${COMPILE_PART2}
rxgen: minproject pinstall
rxgen: pinstall
${COMPILE_PART1} rxgen ${COMPILE_PART2}
rxobj:
${WASHTOOL} object rx
kernrx:
${COMPILE_PART1} rx ${COMPILE_PART2}
@ -99,53 +86,38 @@ rx: project lwp rxgen
rxstat: rx
${COMPILE_PART1} rxstat ${COMPILE_PART2}
krxstat:
${COMPILE_PART1} rxstat ${COMPILE_PART3} kinstall
rxincls: rxobj
${COMPILE_PART1} rx ${COMPILE_PART3} kinstall
${COMPILE_PART1} rx ${COMPILE_PART2}
rxtests: rxobj
${COMPILE_PART1} rx ${COMPILE_PART3} test
${COMPILE_PART1} rx ${COMPILE_PART3}
fsint: project kfsint
${COMPILE_PART1} fsint ${COMPILE_PART2}
kfsint: rxgen rxincls
${COMPILE_PART1} fsint ${COMPILE_PART3} kinstall
kfsint: rxgen rxincls lwp
${COMPILE_PART1} fsint ${COMPILE_PART2}
export2: project fsint
export: minproject kfsint
export: fsint
@case ${SYS_NAME} in \
rs_aix*) \
${COMPILE_PART1} export ${COMPILE_PART2} ;; \
* ) echo skipping export for ${SYS_NAME} ;; \
esac
afs: project export
afs: export
${COMPILE_PART1} afs ${COMPILE_PART2}
des: minproject config
if [ -f "obj/des/Makefile" ] ; then \
${COMPILE_PART1} des ${COMPILE_PART2} ; \
else \
${COMPILE_PART1} des_stub ${COMPILE_PART2} ; \
fi
des: config
${COMPILE_PART1} des ${COMPILE_PART2}
sys: project des rx rxstat fsint
${COMPILE_PART1} sys ${COMPILE_PART2}
rxkad: project des
${WASHTOOL} object rxkad
${WASHTOOL} object rxkad/domestic
${COMPILE_PART1} rxkad ${COMPILE_PART2}
kernrxkad: minproject
${WASHTOOL} object rxkad
${WASHTOOL} object rxkad/domestic
${COMPILE_PART1} rxkad ${COMPILE_PART3} kinstall
kernauth:
${COMPILE_PART1} auth ${COMPILE_PART2}
@ -155,7 +127,6 @@ auth: project comerr des lwp rx sys rxkad audit
ubik: project auth
${COMPILE_PART1} ubik ${COMPILE_PART2}
# cd obj/ubik; $(MAKE) test SYS_NAME=${SYS_NAME}
ubiktests: ubik sys
${COMPILE_PART1} ubik ${COMPILE_PART3}
@ -168,27 +139,31 @@ kauth: project ubik cmd auth comerr ptserver audit libacl
dauth: project ubik cmd auth comerr
${COMPILE_PART1} dauth ${COMPILE_PART2}
kernacl:
${COMPILE_PART1} libacl ${COMPILE_PART3} kinstall
libacl: project ptserver
${COMPILE_PART1} libacl ${COMPILE_PART2}
kerndir: minproject
${COMPILE_PART1} dir ${COMPILE_PART3} kinstall
dir: project
kerndir:
${COMPILE_PART1} dir ${COMPILE_PART2}
vol: project dir afs
dir: project libacl
${COMPILE_PART1} dir ${COMPILE_PART2}
# Removed from sgi_* case below:
# ${COMPILE_PART1} sgiefs ${COMPILE_PART2};;
sgiefs:
case ${SYS_NAME} in \
sgi_*) \
echo "SGI efs not supported" ;; \
*) \
echo No efs stuff for ${SYS_NAME};; \
esac
vol: project dir afs sgiefs
${COMPILE_PART1} vol ${COMPILE_PART2}
vlserver: project vol audit
${COMPILE_PART1} vlserver ${COMPILE_PART2}
kvlserver: minproject
${COMPILE_PART1} vlserver ${COMPILE_PART3} kinstall
viced: project vlserver audit
${COMPILE_PART1} viced ${COMPILE_PART2}
@ -243,7 +218,7 @@ bozo: project ntp audit
# ${COMPILE_PART1} vfscksol25 ${COMPILE_PART2} ;;
# ${COMPILE_PART1} vfscksol26 ${COMPILE_PART2} ;;
# ${COMPILE_PART1} vfscksol27 ${COMPILE_PART2} ;;
vfsck: minproject vol
vfsck: vol
set -x; \
case ${SYS_NAME} in \
sgi_* | *linux* | rs_aix42 | ppc_darwin* | hp_ux* | *fbsd* ) \
@ -258,7 +233,6 @@ login: project kauth rxkad
sgi_* ) \
${COMPILE_PART1} sgistuff ${COMPILE_PART2} ;; \
rs_aix42 ) \
${WASHTOOL} object login ; \
${COMPILE_PART1} tsm41 ${COMPILE_PART2} ;; \
alpha_dux* ) \
${COMPILE_PART1} sia ${COMPILE_PART2} ;; \
@ -274,13 +248,16 @@ login: project kauth rxkad
KERNELDIR= \
afs \
kerndir \
kfsint \
kernrxkad \
kernutil \
kernacl \
kvlserver \
krxstat
dir \
rx \
fsint \
auth \
rxkad \
util \
libacl \
vlserver \
sgiefs \
rxstat
UKERNELDIR= \
@ -298,10 +275,10 @@ UKERNELDIR= \
rxstat
libafs: minproject libafs_setup ${KERNELDIR}
libafs: libafs_setup ${KERNELDIR}
${COMPILE_PART1} libafs ${COMPILE_PART2}
libuafs: minproject libuafs_setup ${UKERNELDIR}
libuafs: libuafs_setup ${UKERNELDIR}
set -x; \
case ${SYS_NAME} in \
hp_ux102* ) \
@ -310,7 +287,7 @@ libuafs: minproject libuafs_setup ${UKERNELDIR}
${COMPILE_PART1} libuafs ${COMPILE_PART2} ;; \
esac
afsweb: minproject kauth dauth
afsweb: kauth dauth
${COMPILE_PART1} afsweb ${COMPILE_PART2}
update: project auth
@ -354,25 +331,6 @@ xstat: project
afsmonitor: project gtx xstat
${COMPILE_PART1} afsmonitor ${COMPILE_PART2}
#
# Washtool internal targets
#
ircs: project
case ${SYS_NAME} in \
sgi_* ) \
echo skip ircs for ${SYS_NAME} ;; \
*) \
${COMPILE_PART1} ircs ${COMPILE_PART2} ;; \
esac
wash: project
case ${SYS_NAME} in \
sgi_* ) \
echo skip wash for ${SYS_NAME} ;; \
*) \
${COMPILE_PART1} wash ${COMPILE_PART2} ;; \
esac
tests: rxtests ubiktests
# pthread based user space RX library
@ -408,9 +366,9 @@ libadmin: libafsauthent bozo
case ${SYS_NAME} in \
alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \
$(MAKE) libadmin_real SYS_NAME=$(SYS_NAME) \
WASHTOOL="$(WASHTOOL)" \
COMPILE_PART1="$(COMPILE_PART1)" \
COMPILE_PART2="$(COMPILE_PART2)" \
TOP_SRCDIR=@TOP_SRCDIR@ \
SRCDIR=$(SRCDIR) DESTDIR=$(DESTDIR) \
DBG_DEFS=$(DBG_DEFS) ;; \
*) \
@ -425,76 +383,22 @@ finale: project cmd comerr afsd allrcmds butc tbutc libafs libuafs audit kauth l
# Use washtool to ensure MakefileProto is current and obj/libafs exists.
libafs_setup: config minproject export
# How about if no RCSUPDATE exists?
# Well then you're going to lose. Or, if you insist, set
# WASHTOOLRCSUPDATE to be a no-op
# Warning: The next few lines are _extremely_ sensitive to spaces and tabs.
${WASHTOOL} object libafs
case ${SYS_NAME} in \
alpha_dux* ) \
MKAFS_OSTYPE=DUX;; \
hp_ux* ) \
MKAFS_OSTYPE=HPUX;; \
*linux*) \
MKAFS_OSTYPE=LINUX;; \
*fbsd*) \
MKAFS_OSTYPE=FBSD;; \
rs_aix* ) \
MKAFS_OSTYPE=AIX;; \
sgi_* ) \
MKAFS_OSTYPE=IRIX;; \
sun4x_5* ) \
MKAFS_OSTYPE=SOLARIS;; \
ppc_darwin* ) \
MKAFS_OSTYPE=DARWIN;; \
* ) \
echo WARNING: No MakefileProto for sys ${SYS_NAME} ; \
esac; \
obj/config/config src/libafs/MakefileProto.$$MKAFS_OSTYPE obj/libafs/Makefile ${SYS_NAME}
libafs_setup: config export
src/config/config src/libafs/MakefileProto.${MKAFS_OSTYPE} src/libafs/Makefile ${SYS_NAME}
libuafs_setup: config minproject export
# How about if no RCSUPDATE exists?
# Well then you're going to lose. Or, if you insist, set
# WASHTOOLRCSUPDATE to be a no-op
${WASHTOOL} object libuafs
case ${SYS_NAME} in \
hp_ux* ) \
MKAFS_OSTYPE=HPUX;; \
*linux*) \
MKAFS_OSTYPE=LINUX;; \
*fbsd*) \
MKAFS_OSTYPE=FBSD;; \
rs_aix* ) \
MKAFS_OSTYPE=AIX;; \
sun4x_5* ) \
MKAFS_OSTYPE=SOLARIS;; \
alpha_dux* ) \
MKAFS_OSTYPE=DUX;; \
sgi_6* ) \
MKAFS_OSTYPE=IRIX;; \
ppc_darwin* ) \
MKAFS_OSTYPE=DARWIN;; \
* ) \
echo WARNING: No MakefileProto for sys ${SYS_NAME} ; \
esac; \
obj/config/config src/libuafs/MakefileProto.$$MKAFS_OSTYPE obj/libuafs/Makefile ${SYS_NAME}
# "COMPILE_PART1=${COMPILE_PART1}" "COMPILE_PART2=${COMPILE_PART2}" SYS_NAME=${SYS_NAME} ;;
libuafs_setup: config export
src/config/config src/libuafs/MakefileProto.${MKAFS_OSTYPE} src/libuafs/Makefile ${SYS_NAME}
TARGET=finale
install:
$(MAKE) $(TARGET) "SYS_NAME=${SYS_NAME}" "WASHTOOL=${WASHTOOL}" \
$(MAKE) $(TARGET) "SYS_NAME=${SYS_NAME}" \
"COMPILE_PART1=${COMPILE_PART1}" \
"COMPILE_PART2=${COMPILE_PART2}" \
DESTDIR=`pwd`/${SYS_NAME}/dest/ \
TOP_SRCDIR=@TOP_SRCDIR@ \
SRCDIR=`pwd`/${SYS_NAME}/dest/ \
"DBG_DEFS=${DBG_DEFS}"
# sgi: "NON_SHARED=-non_shared"
#updatekdir:
# ${WASHTOOL} rcsupdate ${KERNELDIR} libafs
kupdate: updatekdir libafs_setup libuafs_setup
blibafs:
@ -507,11 +411,90 @@ bwebafs: sys
$(MAKE) libuafs "WASHTOOL=${WASHTOOL}" "WASHTOOLFLAGS=-argument webinstall" SYS_NAME=${SYS_NAME} "CPUARCH=${CPUARCH}" "MPSP=${MPSP}" "DBG_DEFS=${DBG_DEFS}"
clean:
${WASHTOOL} every "cd obj/%s; $(MAKE) clean" -rootd obj
$(MAKE) clean2 "COMPILE_PART1=cd src; cd" "COMPILE_CLEAN=; $(MAKE) clean SYS_NAME=${SYS_NAME} DESTDIR=`pwd`/${SYS_NAME}/dest/ TOP_SRCDIR=@TOP_SRCDIR@ SRCDIR=`pwd`/${SYS_NAME}/dest/" SYS_NAME=${SYS_NAME}
checklist:
${WASHTOOL} every -command \
'cd rcs/%s; echo ; echo In %s:; if test x = "x`/bin/ls RCS/*,v`"; then exit 0; else rlog -I RCS/*,v; fi'
clean2:
${COMPILE_PART1} config ${COMPILE_CLEAN}
${COMPILE_PART1} pinstall ${COMPILE_CLEAN}
${COMPILE_PART1} procmgmt ${COMPILE_CLEAN}
${COMPILE_PART1} util ${COMPILE_CLEAN}
${COMPILE_PART1} audit ${COMPILE_CLEAN}
${COMPILE_PART1} comerr ${COMPILE_CLEAN}
${COMPILE_PART1} cmd ${COMPILE_CLEAN}
${COMPILE_PART1} lwp ${COMPILE_CLEAN}
${COMPILE_PART1} rxgen ${COMPILE_CLEAN}
${COMPILE_PART1} rx ${COMPILE_CLEAN}
${COMPILE_PART1} rxstat ${COMPILE_CLEAN}
${COMPILE_PART1} fsint ${COMPILE_CLEAN}
${COMPILE_PART1} export ${COMPILE_CLEAN}
${COMPILE_PART1} afs ${COMPILE_CLEAN}
${COMPILE_PART1} des ${COMPILE_CLEAN}
${COMPILE_PART1} sys ${COMPILE_CLEAN}
${COMPILE_PART1} rxkad ${COMPILE_CLEAN}
${COMPILE_PART1} auth ${COMPILE_CLEAN}
${COMPILE_PART1} ubik ${COMPILE_CLEAN}
${COMPILE_PART1} ptserver ${COMPILE_CLEAN}
${COMPILE_PART1} kauth ${COMPILE_CLEAN}
${COMPILE_PART1} dauth ${COMPILE_CLEAN}
${COMPILE_PART1} libacl ${COMPILE_CLEAN}
${COMPILE_PART1} dir ${COMPILE_CLEAN}
${COMPILE_PART1} vol ${COMPILE_CLEAN}
${COMPILE_PART1} vlserver ${COMPILE_CLEAN}
${COMPILE_PART1} viced ${COMPILE_CLEAN}
${COMPILE_PART1} viced ${COMPILE_CLEAN}
${COMPILE_PART1} tviced ${COMPILE_CLEAN}
${COMPILE_PART1} volser ${COMPILE_CLEAN}
${COMPILE_PART1} venus ${COMPILE_CLEAN}
${COMPILE_PART1} venus/test ${COMPILE_CLEAN}
${COMPILE_PART1} afsd ${COMPILE_CLEAN}
${COMPILE_PART1} null ${COMPILE_CLEAN}
${COMPILE_PART1} gtx ${COMPILE_CLEAN}
${COMPILE_PART1} fsprobe ${COMPILE_CLEAN}
${COMPILE_PART1} scout ${COMPILE_CLEAN}
${COMPILE_PART1} uss ${COMPILE_CLEAN}
${COMPILE_PART1} bozo ${COMPILE_CLEAN}
${COMPILE_PART1} vfsck ${COMPILE_CLEAN}
${COMPILE_PART1} sgistuff ${COMPILE_CLEAN}
${COMPILE_PART1} tsm41 ${COMPILE_CLEAN}
${COMPILE_PART1} sia ${COMPILE_CLEAN}
${COMPILE_PART1} login ${COMPILE_CLEAN}
${COMPILE_PART1} pam ${COMPILE_CLEAN}
${COMPILE_PART1} afsweb ${COMPILE_CLEAN}
${COMPILE_PART1} update ${COMPILE_CLEAN}
${COMPILE_PART1} log ${COMPILE_CLEAN}
${COMPILE_PART1} bu_utils ${COMPILE_CLEAN}
${COMPILE_PART1} usd ${COMPILE_CLEAN}
${COMPILE_PART1} bubasics ${COMPILE_CLEAN}
${COMPILE_PART1} butm ${COMPILE_CLEAN}
${COMPILE_PART1} butc ${COMPILE_CLEAN}
${COMPILE_PART1} tbutc ${COMPILE_CLEAN}
${COMPILE_PART1} budb ${COMPILE_CLEAN}
${COMPILE_PART1} bucoord ${COMPILE_CLEAN}
${COMPILE_PART1} xstat ${COMPILE_CLEAN}
${COMPILE_PART1} afsmonitor ${COMPILE_CLEAN}
${COMPILE_PART1} libafsrpc ${COMPILE_CLEAN}
${COMPILE_PART1} libafsauthent ${COMPILE_CLEAN}
${COMPILE_PART1} libadmin ${COMPILE_CLEAN}
${COMPILE_PART1} libadmin/adminutil ${COMPILE_CLEAN}
${COMPILE_PART1} libadmin/client ${COMPILE_CLEAN}
${COMPILE_PART1} libadmin/vos ${COMPILE_CLEAN}
${COMPILE_PART1} libadmin/kas ${COMPILE_CLEAN}
${COMPILE_PART1} libadmin/pts ${COMPILE_CLEAN}
${COMPILE_PART1} libadmin/bos ${COMPILE_CLEAN}
${COMPILE_PART1} libadmin/cfg ${COMPILE_CLEAN}
${COMPILE_PART1} libadmin/test ${COMPILE_CLEAN}
${COMPILE_PART1} libadmin/samples ${COMPILE_CLEAN}
${COMPILE_PART1} finale ${COMPILE_CLEAN}
${COMPILE_PART1} mpp ${COMPILE_CLEAN}
${COMPILE_PART1} package ${COMPILE_CLEAN}
${COMPILE_PART1} ntp ${COMPILE_CLEAN}
${COMPILE_PART1} ftpd43+ ${COMPILE_CLEAN}
${COMPILE_PART1} inetd ${COMPILE_CLEAN}
${COMPILE_PART1} rsh ${COMPILE_CLEAN}
${COMPILE_PART1} rlogind ${COMPILE_CLEAN}
${COMPILE_PART1} rcp ${COMPILE_CLEAN}
${COMPILE_PART1} libafs ${COMPILE_CLEAN}
${COMPILE_PART1} libuafs ${COMPILE_CLEAN}
links:
echo "Remove the obj directory"
@ -529,12 +512,7 @@ links:
cd src; \
for file in `find [!NW]* -type f -print` ; do \
/bin/ln -s `pwd`/$${file} $${here}/obj/$${file} ; \
done; \
/bin/ln -s $${here}/obj/afsconfig.h.in $${here}/obj/config/afsconfig.h ;
# config.h link will eventually be replaced with generating the file
# directly from config.h.in via configure run. I'm linking instead of
# copying to ease development for now
done;
#
# Below targets are all deprecated, insecure, or obsolte,
@ -568,15 +546,6 @@ ntp: project volser
*) echo skipping deprecated target: ntp ;; \
esac
sgistuff: project rlogind
@case ${WITH_OBSOLETE} in \
YES) case ${SYS_NAME} in \
sgi_* ) ${COMPILE_PART1} sgistuff ${COMPILE_PART2} ;; \
* ) echo skipping sgistuff for ${SYS_NAME} ;; \
esac ;; \
*) echo skipping deprecated target: sgistuff ;; \
esac
ftpd43+: project kauth rxkad
@case ${WITH_INSECURE} in \
YES) case ${SYS_NAME} in \

21
acconfig.h Normal file
View File

@ -0,0 +1,21 @@
@BOTTOM@
#define RCSID(msg) \
static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
#undef HAVE_CONNECT
#undef HAVE_GETHOSTBYNAME
#undef HAVE_RES_SEARCH
#undef HAVE_SOCKET
#if ENDIANESS_IN_SYS_PARAM_H
# include <sys/types.h>
# include <sys/param.h>
# if BYTE_ORDER == BIG_ENDIAN
# define WORDS_BIGENDIAN 1
# endif
#endif
#undef AFS_AFSDB_ENV
#undef AFS_NAMEI_ENV
#undef BOS_RESTRICTED_MODE

200
aclocal.m4 vendored Normal file
View File

@ -0,0 +1,200 @@
dnl aclocal.m4 generated automatically by aclocal 1.4
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE.
# Do all the work for Automake. This macro actually does too much --
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.
# serial 1
dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN(AM_INIT_AUTOMAKE,
[AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
VERSION=[$2]
AC_SUBST(VERSION)
dnl test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
ifelse([$3],,
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
AC_REQUIRE([AM_SANITY_CHECK])
AC_REQUIRE([AC_ARG_PROGRAM])
dnl FIXME This is truly gross.
missing_dir=`cd $ac_aux_dir && pwd`
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
AC_REQUIRE([AC_PROG_MAKE_SET])])
#
# Check to make sure that the build environment is sane.
#
AC_DEFUN(AM_SANITY_CHECK,
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
echo timestamp > conftestfile
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
if test "[$]*" = "X"; then
# -L didn't work.
set X `ls -t $srcdir/configure conftestfile`
fi
if test "[$]*" != "X $srcdir/configure conftestfile" \
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
test "[$]2" = conftestfile
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
rm -f conftest*
AC_MSG_RESULT(yes)])
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
dnl The program must properly implement --version.
AC_DEFUN(AM_MISSING_PROG,
[AC_MSG_CHECKING(for working $2)
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
if ($2 --version) < /dev/null > /dev/null 2>&1; then
$1=$2
AC_MSG_RESULT(found)
else
$1="$3/missing $2"
AC_MSG_RESULT(missing)
fi
AC_SUBST($1)])
dnl AM_PROG_LEX
dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
AC_DEFUN(AM_PROG_LEX,
[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex")
AC_PROG_LEX
AC_DECL_YYTEXT])
dnl
dnl $Id$
dnl
dnl check if this computer is little or big-endian
dnl if we can figure it out at compile-time then don't define the cpp symbol
dnl otherwise test for it and define it. also allow options for overriding
dnl it when cross-compiling
AC_DEFUN(OPENAFS_CHECK_BIGENDIAN, [
AC_ARG_ENABLE(bigendian,
[ --enable-bigendian the target is big endian],
openafs_cv_c_bigendian=yes)
AC_ARG_ENABLE(littleendian,
[ --enable-littleendian the target is little endian],
openafs_cv_c_bigendian=no)
AC_CACHE_CHECK(whether byte order is known at compile time,
openafs_cv_c_bigendian_compile,
[AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/param.h>],[
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
bogus endian macros
#endif], openafs_cv_c_bigendian_compile=yes, openafs_cv_c_bigendian_compile=no)])
AC_CACHE_CHECK(whether byte ordering is bigendian, openafs_cv_c_bigendian,[
if test "$openafs_cv_c_bigendian_compile" = "yes"; then
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/param.h>],[
#if BYTE_ORDER != BIG_ENDIAN
not big endian
#endif], openafs_cv_c_bigendian=yes, openafs_cv_c_bigendian=no)
else
AC_TRY_RUN([main () {
/* Are we little or big endian? From Harbison&Steele. */
union
{
long l;
char c[sizeof (long)];
} u;
u.l = 1;
exit (u.c[sizeof (long) - 1] == 1);
}], openafs_cv_c_bigendian=no, openafs_cv_c_bigendian=yes,
AC_MSG_ERROR([specify either --enable-bigendian or --enable-littleendian]))
fi
])
if test "$openafs_cv_c_bigendian" = "yes"; then
AC_DEFINE(WORDS_BIGENDIAN, 1, [define if target is big endian])dnl
fi
if test "$openafs_cv_c_bigendian_compile" = "yes"; then
AC_DEFINE(ENDIANESS_IN_SYS_PARAM_H, 1, [define if sys/param.h defines the endiness])dnl
fi
])
AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_BYTES, [
AC_MSG_CHECKING(for i_bytes in struct inode)
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS"
AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_bytes,
[
AC_TRY_COMPILE(
[#include <linux/fs.h>],
[struct inode _inode;
printf("%d\n", _inode.i_bytes);],
ac_cv_linux_fs_struct_inode_has_i_bytes=yes,
ac_cv_linux_fs_struct_inode_has_i_bytes=no)])
AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_bytes)
CPPFLAGS="$save_CPPFLAGS"])
AC_DEFUN(LINUX_INODE_SETATTR_RETURN_TYPE,[
AC_MSG_CHECKING(for inode_setattr return type)
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS"
AC_CACHE_VAL(ac_cv_linux_func_inode_setattr_returns_int,
[
AC_TRY_COMPILE(
[#include <linux/fs.h>],
[struct inode _inode;
struct iattr _iattr;
int i;
i = inode_setattr(&_inode, &_iattr);],
ac_cv_linux_func_inode_setattr_returns_int=yes,
ac_cv_linux_func_inode_setattr_returns_int=no)])
AC_MSG_RESULT($ac_cv_linux_func_inode_setattr_returns_int)
CPPFLAGS="$save_CPPFLAGS"])

1291
config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

1328
config.sub vendored Normal file

File diff suppressed because it is too large Load Diff

3791
configure vendored Executable file

File diff suppressed because it is too large Load Diff

224
configure.in Normal file
View File

@ -0,0 +1,224 @@
AC_INIT(src/config/stds.h)
AM_INIT_AUTOMAKE(openafs,devel)
AC_CANONICAL_HOST
AC_CONFIG_HEADER(src/config/afsconfig.h)
#BOZO_SAVE_CORES BOS_RESTRICTED_MODE BOS_NEW_CONFIG pam sia BITMAP_LATER FAST_RESTART
AC_ARG_WITH(afs-sysname,
[ --with-afs-sysname=sys use sys for the afs sysname]
)
AC_ARG_ENABLE( obsolete,
[ --enable-obsolete enable obsolete portions of AFS (mpp, ntp and package)],, enable_obsolete="no")
AC_ARG_ENABLE( insecure,
[ --enable-insecure enable insecure portions of AFS (ftpd, inetd, rcp, rlogind and rsh)],, enable_insecure="no")
AC_ARG_ENABLE( afsdb,
[ --disable-afsdb disable AFSDB RR support],, enable_afsdb="yes")
AC_ARG_ENABLE( bos-restricted-mode,
[ --enable-bos-restricted-mode enable bosserver restricted mode which disables certain bosserver functionality],, enable_bos_restricted_mode="no")
AC_ARG_ENABLE( namei-fileserver,
[ --enable-namei-fileserver force compilation of namei fileserver in preference to inode fileserver],, enable_namei_fileserver="no")
AC_ARG_WITH(linux-kernel-headers,
[ --with-linux-kernel-headers=path use the kernel headers found at path(optional, defaults to /usr/src/linux)]
)
AC_PROG_CC
dnl weird ass systems
AC_AIX
AC_ISC_POSIX
AC_MINIX
dnl Various compiler setup.
AC_C_INLINE
AC_C_CONST
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
dnl Checks for programs.
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_RANLIB
AC_PROG_YACC
AM_PROG_LEX
OPENAFS_CHECK_BIGENDIAN
AC_MSG_CHECKING(your OS)
system=$host
case $system in
*-linux*)
MKAFS_OSTYPE=LINUX
if test "x$with_linux_kernel_headers" != "x"; then
LINUX_KERNEL_PATH="$with_linux_kernel_headers"
else
LINUX_KERNEL_PATH="/usr/src/linux"
fi
if test -f "$with_linux_kernel_headers/include/linux/version.h"; then
linux_kvers=`fgrep UTS_RELEASE $with_linux_kernel_headers/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $2 }'`
if test "x$linux_kvers" = "x"; then
AC_MSG_ERROR(Linux headers lack version definition)
exit 1
else
LINUX_VERSION="$linux_kvers"
fi
else
AC_MSG_ERROR(No linux headers found at $with_linux_kernel_headers)
exit 1
fi
AC_MSG_RESULT(linux)
LINUX_FS_STRUCT_INODE_HAS_I_BYTES
LINUX_INODE_SETATTR_RETURN_TYPE
;;
*-solaris*)
MKAFS_OSTYPE=SOLARIS
AC_MSG_RESULT(sun4)
;;
*-hpux*)
MKAFS_OSTYPE=HPUX
AC_MSG_RESULT(hp_ux)
;;
*-irix*)
MKAFS_OSTYPE=IRIX
AC_MSG_RESULT(sgi)
;;
*-aix*)
MKAFS_OSTYPE=AIX
AC_MSG_RESULT(rs_aix)
;;
*-osf*)
MKAFS_OSTYPE=DUX
AC_MSG_RESULT(alpha_dux)
;;
*-darwin*)
MKAFS_OSTYPE=DARWIN
AC_MSG_RESULT(ppc_darwin)
;;
*)
AC_MSG_RESULT($system)
;;
esac
if test "x${MKAFS_OSTYPE}" = "xIRIX"; then
echo Skipping library tests because they confuse Irix.
else
AC_CHECK_FUNCS(socket)
if test "$ac_cv_func_socket" = no; then
for lib in socket inet; do
if test "$HAVE_SOCKET" != 1; then
AC_CHECK_LIB($lib, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET))
fi
done
fi
AC_CHECK_FUNCS(connect)
if test "$ac_cv_func_connect" = no; then
for lib in nsl; do
if test "$HAVE_CONNECT" != 1; then
AC_CHECK_LIB($lib, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT))
fi
done
fi
AC_CHECK_FUNCS(gethostbyname)
if test "$ac_cv_func_gethostbyname" = no; then
for lib in dns nsl resolv; do
if test "$HAVE_GETHOSTBYNAME" != 1; then
AC_CHECK_LIB($lib, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME))
fi
done
fi
AC_CHECK_FUNCS(res_search)
if test "$ac_cv_func_res_search" = no; then
for lib in dns nsl resolv; do
if test "$HAVE_RES_SEARCH" != 1; then
AC_CHECK_LIB($lib, res_search, LIBS="$LIBS -l$lib";HAVE_RES_SEARCH=1;AC_DEFINE(HAVE_RES_SEARCH))
fi
done
if test "$HAVE_RES_SEARCH" = 1; then
LIB_res_search="-l$lib"
fi
fi
fi
PTHREAD_LIBS=error
AC_CHECK_LIB(pthread, pthread_attr_init,
PTHREAD_LIBS="-lpthread")
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_LIB(pthreads, pthread_attr_init,
PTHREAD_LIBS="-lpthreads")
fi
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_LIB(c_r, pthread_attr_init,
PTHREAD_LIBS="-lc_r")
fi
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="")
fi
if test "x$PTHREAD_LIBS" = xerror; then
AC_MSG_ERROR(*** Unable to locate working posix thread library ***)
fi
AC_SUBST(PTHREAD_LIBS)
if test "$enable_obsolete" = "yes"; then
WITH_OBSOLETE=YES
fi
if test "$enable_insecure" = "yes"; then
WITH_INSECURE=YES
fi
# Should autocompute a default
if test "x$with_afs_sysname" != "x"; then
AFS_SYSNAME="$with_afs_sysname"
else
AC_MSG_ERROR(An AFS sysname is required)
exit 1
fi
if test "$enable_bos_restricted_mode" = "yes"; then
AC_DEFINE(BOS_RESTRICTED_MODE)
fi
if test "$enable_namei_fileserver" = "yes"; then
AC_DEFINE(AFS_NAMEI_ENV)
fi
if test "$enable_afsdb" = "yes"; then
LIB_AFSDB="$LIB_res_search"
AC_DEFINE(AFS_AFSDB_ENV)
fi
SRCDIR_PARENT=`pwd`
TOP_SRCDIR="${SRCDIR_PARENT}/src"
dnl checks for header files.
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_HEADER_DIRENT
AC_CHECK_HEADERS(stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h)
AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h)
AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h)
AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h)
AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h)
AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h)
AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf re_comp re_exec)
AC_SUBST(AFS_SYSNAME)
AC_SUBST(LIB_AFSDB)
AC_SUBST(LINUX_KERNEL_PATH)
AC_SUBST(LINUX_VERSION)
AC_SUBST(MKAFS_OSTYPE)
AC_SUBST(TOP_SRCDIR)
AC_SUBST(WITH_OBSOLETE)
AC_SUBST(WITH_INSECURE)
AC_OUTPUT( \
Makefile \
src/config/Makefile.${AFS_SYSNAME} \
src/libafs/MakefileProto.${MKAFS_OSTYPE} \
)

238
install-sh Executable file
View File

@ -0,0 +1,238 @@
#! /bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
#
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
tranformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0

265
missing Executable file
View File

@ -0,0 +1,265 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
run=:
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing 0.3 - GNU automake"
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
aclocal)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acinclude.m4' or \`configure.in'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`configure.in'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`configure.in'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
fi
if [ -f "$file" ]; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
fi
;;
makeinfo)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
fi
touch $file
;;
tar)
shift
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
fi
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar ${1+"$@"} && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar ${1+"$@"} && exit 0
fi
firstarg="$1"
if shift; then
case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" ${1+"$@"} && exit 0
;;
esac
case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" ${1+"$@"} && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequirements for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0

0
src/mkinstalldirs → mkinstalldirs Normal file → Executable file
View File

7
src/regen.sh → regen.sh Normal file → Executable file
View File

@ -1,8 +1,9 @@
echo "Updating configuration..."
echo "Running aclocal"
aclocal -I cf
aclocal -I src/cf
echo "Running autoconf"
autoconf
echo "Running autoheader"
autoheader
echo "Running automake"
automake
#echo "Running automake"
#automake

View File

@ -6,11 +6,21 @@ Redhat 7.0 (i386_linux22):
be able to use kgcc to compile all of AFS. Just add CC=kgcc
to your make arguments.
When building for kernels other than the stock kernel you
may need to create symlinks in /usr/src named for your
configuration, e.g. linux-2.2.16-22smp pointing to your
source tree (linux-2.2.16-22); Redhat provides a unified
source tree with a switch in include/linux/version.h.
When building for multiple kernels in one dest tree,
if the kernel version string which UTS_RELEASE is defined to in
include/linux/version.h matches the last kernel you built for,
the previous kernel module will be overwritten.
Redhat 7.1 (i386_linux24):
src/venus/kdump.c may fail to compile.
You will need pam-devel installed to compile the included
PAM module.
When building for multiple kernels in one dest tree,
if the kernel version string which UTS_RELEASE is defined to in
include/linux/version.h matches the last kernel you built for,
the previous kernel module will be overwritten.
HPUX 11.0 (hp_ux110):
Does not currently build libafs, which means no afs client support,

183
src/INSTALL Normal file
View File

@ -0,0 +1,183 @@
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
Print a summary of the options to `configure', and exit.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.

View File

@ -14,85 +14,70 @@ A. Creating the proper directory structure.
in afs space is also valid. In the directory that you uncompressed the
source in, you will only have an src/ directory.
1. Make a directory for each system type that you plan on
building. Current tested system types include the following
(this step is skipped for the i386_nt40 system type):
1. Pick a system to build for, and note its default AFS sys_name.
A directory will be automatically created for binaries to be written
into with this name when you build.
alpha_dux40/
alpha_dux50/ (only tested on 5.0A)
i386_linux22/
i386_linux24/ (only tested with 2.4.0 kernel)
rs_aix42/
sgi_65/ (file server not tested)
sun4x_56/
sun4x_57/
sun4x_58/
ppc_darwin_13/
alpha_linux_2216_22/ (DES does not work, will require one more change to
alpha_dux40
alpha_dux50 (only tested on 5.0A)
i386_linux22
i386_linux24 (only tested with 2.4.0 kernel)
rs_aix42
sgi_65 (file server not tested)
sun4x_56
sun4x_57
sun4x_58
ppc_darwin_13
alpha_linux_22 (DES does not work, will require one more change to
compile)
hp_ux110/ (No client support, but db servers and utilities work)
hp_ux102/ (No client support, but db servers and utilities work)
hp_ux110 (No client support, but db servers and utilities work)
hp_ux102 (No client support, but db servers and utilities work)
Example:
% mkdir i386_linux22
% ls -CF
i386_linux22/ src/
2. Using configure in the top level directory, configure for your
AFS system type, providing the necessary flags:
% ./configure --with-afs-sysname=sun4x_58
2. Within each of those directories, create a dest/ and obj/ directory.
For Linux systems you need also provide the patch in which your
kernel headers for your configured kernel can be found. This should
be the path of the directory containing a child directory named
"include". So if your version file was
/usr/src/linux/include/linux/version.h you would invoke:
% ./configure --with-afs-sysname=i386_linux24 --with-linux-kernel-headers=/usr/src/linux
Example:
% mkdir i386_linux22/dest
% mkdir i386_linux22/obj
Currently you can build for only one Linux kernel at a time,
and the version is extracted from the kernel headers in the root
you specify.
3. Create symbolic links to the system type you are about to build
a. If the source is in AFS space
Example:
% ln -s @sys/dest dest
% ln -s @sys/obj obj
% ls -CF
dest@ i386_linux22/ obj@ src/
Within AFS space, the AFS Cache Manager automatically
substitutes the local machine's AFS system name (CPU/operating
system type [ie: alpha_dux40, i386_linux22, ...]) for the @sys
variable.
b. If this source is NOT in AFS space, You must make a link from
@sys to your current system type.
Example:
% ln -s i386_linux22 @sys
% ln -s @sys/dest dest
% ln -s @sys/obj obj
% ls -CF
dest@ i386_linux22/ obj@ src/ sys@
5. Create the top level Makefile:
Example:
% ln -s src/Makefile Makefile
% ls -CF
Makefile@ dest@ i386_linux22/ obj@ src/
Be prepared to provide the switches --enable-obsolete and
--enable-insecure if you require the use of any bundled but obsolete
or insecure software included with OpenAFS. See README.obsolete and
README.insecure for more details.
B Building
1. Make the obj links. This creates links from the @sys/obj/ tree
back to the source tree. The source tree remains unchanged and
builds are done in the platform specific object tree.
1. Now, you can build OpenAFS.
% make links
% make
2. Begin building
a. For Linux
% make SYS_NAME="i386_linux22" LINUX_VERS="2.2.14"
When the build completes, you will have a complete binary tree
in the dest directory under the directory named for the sys_name you
built for, e.g. sun4x_57/dest or i386_linux22/dest
b. For UNIX versions, specify the system name as given by
2. As appropriate you can clean up or, if you're using Linux, build for
another kernel version:
a. To clean up:
% make clean
b. To build for another Linux kernel version:
the system type defined in step A1.
% make SYS_NAME="<system_name>"
% ./configure --with-afs-sysname=i386_linux22 --with-linux-kernel-headers=/usr/src/linux-2.2.19-i686
% make
Example for the rs_aix42 operating system:
% make SYS_NAME="rs_aix42"
Your dest tree will now include an additional kernel module for your
additional kernel headers. Be aware that if the kernel version string
which UTS_RELEASE is defined to in include/linux/version.h matches
the last kernel you built for, the previous kernel module will be
overwritten.
C Problems
If you have a problem building this source, you may want to visit

View File

@ -14,5 +14,5 @@ However, Carnegie Mellon Computing Services has continued to use
and occasionally develop them, and current versions can be found at:
ftp://ftp.andrew.cmu.edu/pub/AFS-Tools
To disable building of the obsolete code included with OpenAFS, set the
WITH_OBSOLETE flag in the makefile to NO.
To enable building of the obsolete code included with OpenAFS,
run configure with the --enable-obsolete switch

View File

@ -20,5 +20,6 @@ has RFC2228 security extensions.
In any case, carefully consider the security implications before deploying
these utilities.
To disable building of the insecure code included with OpenAFS, set the
WITH_INSECURE flag in the makefile to NO.
To enable building of the insecure code included with OpenAFS, run
configure with the --enable-insecure switch.

View File

@ -1,3 +0,0 @@
#undef HAVE_CONNECT
#undef HAVE_GETHOSTBYNAME
#undef HAVE_SOCKET

View File

@ -72,4 +72,4 @@ install install.noversion: kinstall ukinstall
esac
clean:
echo Nothing to delete.
rm -f *.o core AFS_component_version_number.c afs_trace.h afs_trace.msf afszcm.cat

View File

@ -137,6 +137,11 @@
#endif
#endif /* AFS_USR_DARWIN_ENV || AFS_USR_FBSD_ENV */
#ifdef AFS_AFSDB_ENV
#include <arpa/nameser.h>
#include <resolv.h>
#endif /* AFS_AFSDB_ENV */
/* glibc 2.2 has pthread_attr_setstacksize */
#if defined(AFS_LINUX22_ENV) || defined(AFS_USR_LINUX22_ENV) && (__GLIBC_MINOR__ < 2)
#define pthread_attr_setstacksize(a,b) 0

View File

@ -1,76 +0,0 @@
/*
* This is a template config.h.in, it is not truly a config.h.in at the moment
* but will be converted to one during autoconf switch. The defines below
* are all static and hardcoded purely to aid in the cleanup and migration
* process.
*
*/
#ifndef AFSCONFIG_H
#define AFSCONFIG_H
#define HAVE_STDLIB_H
#define HAVE_STRING_H
#ifdef AFS_NT40_ENV
#define HAVE_WINDOWS_H
#define HAVE_MALLOC_H
#define HAVE_WINSOCK2_H
#define HAVE_DIRECT_H
#define HAVE_IO_H
#endif
#ifndef AFS_NT40_ENV
#define HAVE_UNISTD_H
#define HAVE_FCNTL_H
#define HAVE_SYS_TIME_H
#define HAVE_SYS_FILE_H
#define HAVE_NETINET_IN_H
#define HAVE_NETDB_H
#endif
#ifdef AFS_SUN5_ENV
#define HAVE_SYS_FCNTL_H
#define HAVE_SYS_MNTTAB_H
#define HAVE_SYS_MNTENT_H
#endif
#if defined(AFS_SGI_ENV) || defined(AFS_HPUX_ENV) || defined(AFS_LINUX20_ENV) || (defined(AFS_SUN_ENV) && !defined(AFS_SUN5_ENV))
#define HAVE_MNTENT_H
#endif
#if !defined(AFS_OSF_ENV) && !defined(AFS_DEC_ENV) && !defined(AFS_DARWIN_ENV) && !defined(AFS_FBSD_ENV)
#define HAVE_SYS_VFS_H
#endif
#ifdef AFS_DEC_ENV
#define HAVE_SYS_PARAM_H
#define HAVE_SYS_FS_TYPES_H
#endif
#if !defined(AFS_AIX41_ENV)
#define HAVE_SYS_MOUNT_H
#endif
#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV) || defined(AFS_LINUX22_ENV)
#define HAVE_STRINGS_H
#define HAVE_STRING_H
#else
#define HAVE_STRING_H
#endif
#if defined(AFS_SUN_ENV) && !defined(AFS_SUN5_ENV)
#define HAVE_TERMIOS_H
#elif defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
#define HAVE_TERMIOS_H
#endif
#if defined(AFS_SGI_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
#define HAVE_SIGNAL_H
#endif
#ifndef RCSID
#define RCSID(msg) static /**/const char *const rcsid[] = { (const char *)rcsid, "\100(#)" msg }
#endif
#endif /* AFSCONFIG_H */

View File

@ -68,7 +68,7 @@ audit.o: audit.c audit.h
${CC} ${CFLAGS} -c audit.c
clean:
rm -f *.o core AFS_component_version_number.c
rm -f *.o core AFS_component_version_number.c *.a
beancount:
wc -l *.c *.h

View File

@ -8,6 +8,7 @@
*/
#include <afs/param.h>
#include <afsconfig.h>
#include <afs/stds.h>
#include <afs/pthread_glock.h>
#ifdef UKERNEL

View File

@ -92,7 +92,7 @@ install: all
${INSTALL} bnode.h ${DESTDIR}include/afs/bnode.h
clean:
rm -f *.a *.o bos bosserver testproc bosint.cs.c bosint.ss.c bosint.xdr.c bosint.h core\
rm -f *.a *.o bos bosserver testproc bosint.cs.c bosint.ss.c bosint.xdr.c bosint.h core boserr.c bnode.h\
AFS_component_version_number.c
test:

View File

@ -83,7 +83,7 @@ install: all
${INSTALL} backup ${DESTDIR}etc
clean:
rm -f *.o backup convert *.ss.c *.cs.c *.xdr.c *.a core btest ttest AFS_component_version_number.c
rm -f *.o backup convert *.ss.c *.cs.c *.xdr.c *.a core btest ttest AFS_component_version_number.c bc.h bucoord_errs.c
lint:
lint -IDEST/include -IDEST/include/afs *.h *.c

53
src/cf/bigendian.m4 Normal file
View File

@ -0,0 +1,53 @@
dnl
dnl $Id$
dnl
dnl check if this computer is little or big-endian
dnl if we can figure it out at compile-time then don't define the cpp symbol
dnl otherwise test for it and define it. also allow options for overriding
dnl it when cross-compiling
AC_DEFUN(OPENAFS_CHECK_BIGENDIAN, [
AC_ARG_ENABLE(bigendian,
[ --enable-bigendian the target is big endian],
openafs_cv_c_bigendian=yes)
AC_ARG_ENABLE(littleendian,
[ --enable-littleendian the target is little endian],
openafs_cv_c_bigendian=no)
AC_CACHE_CHECK(whether byte order is known at compile time,
openafs_cv_c_bigendian_compile,
[AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/param.h>],[
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
bogus endian macros
#endif], openafs_cv_c_bigendian_compile=yes, openafs_cv_c_bigendian_compile=no)])
AC_CACHE_CHECK(whether byte ordering is bigendian, openafs_cv_c_bigendian,[
if test "$openafs_cv_c_bigendian_compile" = "yes"; then
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/param.h>],[
#if BYTE_ORDER != BIG_ENDIAN
not big endian
#endif], openafs_cv_c_bigendian=yes, openafs_cv_c_bigendian=no)
else
AC_TRY_RUN([main () {
/* Are we little or big endian? From Harbison&Steele. */
union
{
long l;
char c[sizeof (long)];
} u;
u.l = 1;
exit (u.c[sizeof (long) - 1] == 1);
}], openafs_cv_c_bigendian=no, openafs_cv_c_bigendian=yes,
AC_MSG_ERROR([specify either --enable-bigendian or --enable-littleendian]))
fi
])
if test "$openafs_cv_c_bigendian" = "yes"; then
AC_DEFINE(WORDS_BIGENDIAN, 1, [define if target is big endian])dnl
fi
if test "$openafs_cv_c_bigendian_compile" = "yes"; then
AC_DEFINE(ENDIANESS_IN_SYS_PARAM_H, 1, [define if sys/param.h defines the endiness])dnl
fi
])

16
src/cf/linux-test1.m4 Normal file
View File

@ -0,0 +1,16 @@
AC_DEFUN(LINUX_INODE_SETATTR_RETURN_TYPE,[
AC_MSG_CHECKING(for inode_setattr return type)
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS"
AC_CACHE_VAL(ac_cv_linux_func_inode_setattr_returns_int,
[
AC_TRY_COMPILE(
[#include <linux/fs.h>],
[struct inode _inode;
struct iattr _iattr;
int i;
i = inode_setattr(&_inode, &_iattr);],
ac_cv_linux_func_inode_setattr_returns_int=yes,
ac_cv_linux_func_inode_setattr_returns_int=no)])
AC_MSG_RESULT($ac_cv_linux_func_inode_setattr_returns_int)
CPPFLAGS="$save_CPPFLAGS"])

15
src/cf/linux-test2.m4 Normal file
View File

@ -0,0 +1,15 @@
AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_BYTES, [
AC_MSG_CHECKING(for i_bytes in struct inode)
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS"
AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_bytes,
[
AC_TRY_COMPILE(
[#include <linux/fs.h>],
[struct inode _inode;
printf("%d\n", _inode.i_bytes);],
ac_cv_linux_fs_struct_inode_has_i_bytes=yes,
ac_cv_linux_fs_struct_inode_has_i_bytes=no)])
AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_bytes)
CPPFLAGS="$save_CPPFLAGS"])

View File

@ -1,11 +0,0 @@
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* Define if lex declares yytext as a char * by default, not a char[]. */
#undef YYTEXT_POINTER
/* Name of package */
#undef PACKAGE
/* Version number of package */
#undef VERSION

View File

@ -139,7 +139,8 @@ install: version install.noversion kinstall ukinstall
# kernel include environment. param.h is, well, param.h. The afs_sysnames.h
# file is needed by param.h to create unique identifiers for each SYS_TYPE.
kinstall: lkversion config $(KDIRS) ${KERNELDIR}/afs/param.h \
# lkversion
kinstall: config $(KDIRS) ${KERNELDIR}/afs/param.h \
${KERNELDIR}/afs/stds.h \
${KERNELDIR}/afs/afs_sysnames.h \
${KERNELDIR}/config/Makefile.${SYS_NAME} \
@ -156,4 +157,4 @@ ukinstall webinstall: $(DESTINCLS) config $(UKDIRS) ${UKERNELDIR}/afs/param.h ${
${UKERNELDIR}/afs/AFS_component_version_number.c
clean:
$(RM) -f *.o config core xprt
$(RM) -f *.o config core xprt AFS_component_version_number.c

View File

@ -12,18 +12,18 @@ XCFLAGS= -D_NO_PROTO -DOSF
MT_CFLAGS=-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}
SHLIB_SUFFIX=so
SHLIB_CFLAGS=
XLIBS=
XLIBS=@LIB_AFSDB@
MTLIBS=-pthread -lpthread -lmach -lexc -lc
NON_SHARED=-non_shared
TXLIBS= -lcurses
LWP_OPTMZ=-O2
OPTMZ=-O2
DBG=-g3
CP=cp
CSTATIC=-non_shared
RANLIB=/bin/true
WASHTOOL=${DESTDIR}bin/washtool
INSTALL=${DESTDIR}bin/install
CP=cp
#this is for the vol package
FS_CONV_OSF40D= $(DESTDIR)root.server/usr/afs/bin/fs_conv_dux40D

View File

@ -12,13 +12,14 @@ XCFLAGS= -D_NO_PROTO -DOSF
MT_CFLAGS=-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}
SHLIB_SUFFIX=so
SHLIB_CFLAGS=
XLIBS=
XLIBS=@LIB_AFSDB@
MTLIBS=-pthread -lpthread -lmach -lexc -lc
NON_SHARED=-non_shared
TXLIBS= -lcurses
LWP_OPTMZ=-O2
OPTMZ=-O2
DBG=-g3
CP=cp
CSTATIC=-non_shared
RANLIB=/bin/true
WASHTOOL=${DESTDIR}bin/washtool

View File

@ -26,7 +26,7 @@ SHLIB_CFLAGS=
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
XLIBS=@LIB_AFSDB@
#
# programs
AR=ar

View File

@ -12,7 +12,7 @@ XCFLAGS0=-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGE
XCFLAGS=${XCFLAGS0} +DA1.0
XCFLAGS64=${XCFLAGS0} +DA2.0W
MT_CFLAGS=-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}
XLIBS=
XLIBS=@LIB_AFSDB@
XLIBELFA=
TXLIBS=/usr/lib/libHcurses.a
MTLIBS=-L/opt/dce/lib -ldce

View File

@ -12,7 +12,7 @@ XCFLAGS0=-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGE
XCFLAGS=${XCFLAGS0} +DA1.0
XCFLAGS64=${XCFLAGS0} +DA2.0W
MT_CFLAGS=-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}
XLIBS=-lnsl
XLIBS=@LIB_AFSDB@ -lnsl
XLIBELFA=-lelf
TXLIBS=/usr/lib/libHcurses.a
MTLIBS=-lpthread

View File

@ -30,7 +30,8 @@ SHLIB_CFLAGS=
# libraries
MTLIBS=-pthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=-lcompat
XLIBS=@LIB_AFSDB@ -lcompat
#
# programs
AR=ar

View File

@ -33,7 +33,7 @@ SHLIB_CFLAGS=
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
XLIBS= @LIB_AFSDB@
#
# programs
AR=ar

View File

@ -24,7 +24,7 @@ SHLIB_CFLAGS=
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
XLIBS= @LIB_AFSDB@
#
# programs
AR=ar

View File

@ -22,7 +22,7 @@ REGEX_OBJ=regex.o
#
# libraries
#XLIBS=
XLIBS=@LIB_AFSDB@
TXLIBS=
#MTLIBS=
#XLIBELFA=

View File

@ -22,7 +22,7 @@ REGEX_OBJ=regex.o
#
# libraries
#XLIBS=
XLIBS=@LIB_AFSDB@
TXLIBS=
#MTLIBS=
#XLIBELFA=

View File

@ -24,7 +24,7 @@ SHLIB_CFLAGS=
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
XLIBS=@LIB_AFSDB@
#
# programs
AR=ar

View File

@ -24,7 +24,7 @@ SHLIB_CFLAGS=
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
XLIBS=@LIB_AFSDB@
#
# programs
AR=ar

View File

@ -22,7 +22,7 @@ SHLIB_CFLAGS=
# libraries
TXLIBS=-lcurses
MTLIBS=-lpthreads
XLIBS=-ldl
XLIBS=@LIB_AFSDB@ -ldl
#
# programs
MT_CC=xlc_r

View File

@ -29,7 +29,7 @@ SHLIB_CFLAGS=
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
XLIBS=@LIB_AFSDB@
#
# programs
AR=ar

View File

@ -29,7 +29,7 @@ SHLIB_CFLAGS=
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
XLIBS=@LIB_AFSDB@
#
# programs
AR=ar

View File

@ -24,7 +24,7 @@ XLDFLAGS64=-64
#
# libraries
TXLIBS= -lcurses
XLIBS=
XLIBS=@LIB_AFSDB@
MTLIBS=-lpthread
SHLIB_SUFFIX=so
#

View File

@ -24,7 +24,7 @@ XLDFLAGS64=-64
#
# libraries
TXLIBS= -lcurses
XLIBS=
XLIBS=@LIB_AFSDB@
MTLIBS=-lpthread
SHLIB_SUFFIX=so
#

View File

@ -24,7 +24,7 @@ MT_CFLAGS=-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}
#
# libraries
TXLIBS= -lcurses
XLIBS=
XLIBS=@LIB_AFSDB@
MTLIBS=-lpthread
SHLIB_SUFFIX=so
SHLIB_CFLAGS=

View File

@ -24,7 +24,7 @@ MT_CFLAGS=-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}
#
# libraries
TXLIBS= -lcurses
XLIBS=
XLIBS=@LIB_AFSDB@
MTLIBS=-lpthread
SHLIB_SUFFIX=so
SHLIB_CFLAGS=

View File

@ -28,7 +28,7 @@ SHLIB_CFLAGS=
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
XLIBS=@LIB_AFSDB@
#
# programs
AR=ar

View File

@ -28,7 +28,7 @@ SHLIB_CFLAGS=
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
XLIBS=@LIB_AFSDB@
#
# programs
AR=ar

View File

@ -18,7 +18,7 @@ OPTMZ=-O
DBG=-g
#
# libraries
XLIBS=-lsocket -lnsl -lintl -ldl
XLIBS=@LIB_AFSDB@ -lsocket -lnsl -lintl -ldl
TXLIBS=-lcurses
MTLIBS=-lpthread -lsocket
XLIBELFA=-lelf

View File

@ -21,7 +21,7 @@ OPTMZ=-O
DBG=-g
#
# libraries
XLIBS=-lsocket -lnsl -lintl -ldl
XLIBS=@LIB_AFSDB@ -lsocket -lnsl -lintl -ldl
TXLIBS=-L/usr/ccs/lib -lcurses
MTLIBS=-lpthread -lsocket
XLIBELFA=-lelf

View File

@ -25,7 +25,7 @@ XCFLAGS64 = ${XCFLAGS} -xarch=v9
#
# libraries
XLIBS=-lsocket -lnsl -lintl -ldl
XLIBS=@LIB_AFSDB@ -lsocket -lnsl -lintl -ldl
TXLIBS=-lcurses
MTLIBS=-lpthread -lsocket
XLIBELFA=-lelf

View File

@ -18,7 +18,7 @@ XCFLAGS64 = ${XCFLAGS} -xarch=v9
#
# libraries
XLIBS=-lsocket -lnsl -lintl -ldl
XLIBS=@LIB_AFSDB@ -lsocket -lnsl -lintl -ldl
TXLIBS=-lcurses
MTLIBS=-lpthread -lsocket
XLIBELFA=-lelf

View File

@ -12,6 +12,8 @@ AFS_OSTYPE = NCR
# compilation and link editor flags
#
# libraries
XLIBS=@LIB_AFSDB@
#
# programs
AR = /usr/ccs/bin/ar

View File

@ -0,0 +1,15 @@
# 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
AFS_component_version_number.o: AFS_component_version_number.c
AFS_component_version_number.c:
echo 'char cml_version_number[]="@(#) OpenAFS devel built ' `date +"%Y-%m-%d"` '";' >AFS_component_version_number.c;
echo 'char* AFSVersion = "openafs devel"; ' >>AFS_component_version_number.c;
noversion: install

201
src/config/afsconfig.h.in Normal file
View File

@ -0,0 +1,201 @@
/* src/config/afsconfig.h.in. Generated automatically from configure.in by autoheader. */
/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
#undef _ALL_SOURCE
#endif
/* Define to empty if the keyword does not work. */
#undef const
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define as __inline if that's what the C compiler calls it. */
#undef inline
/* Define if on MINIX. */
#undef _MINIX
/* Define to `int' if <sys/types.h> doesn't define. */
#undef pid_t
/* Define if the system does not provide POSIX.1 features except
with this defined. */
#undef _POSIX_1_SOURCE
/* Define if you need to in order for stat and other things to work. */
#undef _POSIX_SOURCE
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define if lex declares yytext as a char * by default, not a char[]. */
#undef YYTEXT_POINTER
/* Define if you have the connect function. */
#undef HAVE_CONNECT
/* Define if you have the getdtablesize function. */
#undef HAVE_GETDTABLESIZE
/* Define if you have the gethostbyname function. */
#undef HAVE_GETHOSTBYNAME
/* Define if you have the random function. */
#undef HAVE_RANDOM
/* Define if you have the re_comp function. */
#undef HAVE_RE_COMP
/* Define if you have the re_exec function. */
#undef HAVE_RE_EXEC
/* Define if you have the res_search function. */
#undef HAVE_RES_SEARCH
/* Define if you have the snprintf function. */
#undef HAVE_SNPRINTF
/* Define if you have the socket function. */
#undef HAVE_SOCKET
/* Define if you have the srandom function. */
#undef HAVE_SRANDOM
/* Define if you have the utimes function. */
#undef HAVE_UTIMES
/* Define if you have the <direct.h> header file. */
#undef HAVE_DIRECT_H
/* Define if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define if you have the <io.h> header file. */
#undef HAVE_IO_H
/* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define if you have the <mntent.h> header file. */
#undef HAVE_MNTENT_H
/* Define if you have the <ndir.h> header file. */
#undef HAVE_NDIR_H
/* Define if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H
/* Define if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define if you have the <security/pam_modules.h> header file. */
#undef HAVE_SECURITY_PAM_MODULES_H
/* Define if you have the <siad.h> header file. */
#undef HAVE_SIAD_H
/* Define if you have the <signal.h> header file. */
#undef HAVE_SIGNAL_H
/* Define if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define if you have the <sys/dir.h> header file. */
#undef HAVE_SYS_DIR_H
/* Define if you have the <sys/fcntl.h> header file. */
#undef HAVE_SYS_FCNTL_H
/* Define if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H
/* Define if you have the <sys/fs_types.h> header file. */
#undef HAVE_SYS_FS_TYPES_H
/* Define if you have the <sys/mntent.h> header file. */
#undef HAVE_SYS_MNTENT_H
/* Define if you have the <sys/mnttab.h> header file. */
#undef HAVE_SYS_MNTTAB_H
/* Define if you have the <sys/mount.h> header file. */
#undef HAVE_SYS_MOUNT_H
/* Define if you have the <sys/ndir.h> header file. */
#undef HAVE_SYS_NDIR_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define if you have the <sys/vfs.h> header file. */
#undef HAVE_SYS_VFS_H
/* Define if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the <usersec.h> header file. */
#undef HAVE_USERSEC_H
/* Define if you have the <windows.h> header file. */
#undef HAVE_WINDOWS_H
/* Define if you have the <winsock2.h> header file. */
#undef HAVE_WINSOCK2_H
/* Name of package */
#undef PACKAGE
/* Version number of package */
#undef VERSION
/* define if target is big endian */
#undef WORDS_BIGENDIAN
/* define if sys/param.h defines the endiness */
#undef ENDIANESS_IN_SYS_PARAM_H
#define RCSID(msg) \
static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
#undef HAVE_CONNECT
#undef HAVE_GETHOSTBYNAME
#undef HAVE_RES_SEARCH
#undef HAVE_SOCKET
#if ENDIANESS_IN_SYS_PARAM_H
# include <sys/types.h>
# include <sys/param.h>
# if BYTE_ORDER == BIG_ENDIAN
# define WORDS_BIGENDIAN 1
# endif
#endif
#undef AFS_AFSDB_ENV
#undef AFS_NAMEI_ENV
#undef BOS_RESTRICTED_MODE

View File

@ -28,7 +28,20 @@
#define AFS_64BIT_IOPS_ENV 1
#define AFS_NAMEI_ENV 1 /* User space interface to file system */
/* Machine / Operating system information */
#define SYS_NAME "i386_linux22"
#define SYS_NAME_ID SYS_NAME_ID_i386_linux22
#define AFSLITTLE_ENDIAN 1
#define AFS_HAVE_FFS 1 /* Use system's ffs. */
#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
#if defined(MODULE) && defined(CONFIG_MODVERSIONS)
#define MODVERSIONS
#include <linux/modversions.h>
#endif
#include <linux/config.h>
#ifdef CONFIG_SMP
#undef CONFIG_SMP
@ -47,11 +60,6 @@
#define AFS_GLOBAL_SUNLOCK
#endif
#if defined(MODULE) && defined(CONFIG_MODVERSIONS)
#define MODVERSIONS
#include <linux/modversions.h>
#endif
#endif /* __KERNEL__ && !DUMP_KERNEL*/
#include <afs/afs_sysnames.h>

View File

@ -1,152 +0,0 @@
AC_INIT(src/config/stds.h)
AM_INIT_AUTOMAKE(openafs,devel)
AC_CANONICAL_HOST
AC_CONFIG_HEADER(src/afsconfig.h)
AC_ARG_ENABLE( obsolete,
[ --disable-obsolete disable obsolete portions of AFS (mpp, ntp and package)],, enable_obsolete="yes")
AC_ARG_ENABLE( insecure,
[ --disable-insecure disable insecure portions of AFS (ftpd, inetd, rcp, rlogind and rsh)],, enable_insecure="yes")
AC_ARG_ENABLE( afsdb,
[ --enable-afsdb enable AFSDB RR support],, enable_afsdb="no")
AC_ARG_ENABLE( namei-fileserver,
[ --enable-namei-fileserver force compilation of namei fileserver in preference to inode fileserver],, enable_namei_fileserver="no")
AC_PROG_CC
dnl weird ass systems
AC_AIX
AC_ISC_POSIX
AC_MINIX
dnl Various compiler setup.
AC_C_BIGENDIAN
AC_C_INLINE
AC_C_CONST
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
dnl Checks for programs.
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_RANLIB
AC_PROG_YACC
AM_PROG_LEX
dnl fix to use config.sub output
AC_MSG_CHECKING(your OS)
system=$host
IRIX=no
case $system in
*-linux*)
LINUX=1
AC_MSG_RESULT(Linux)
;;
*-solaris*)
SYSV=1
SVR4=1
SOLARIS=1
AC_MSG_RESULT(Solaris)
if test "$CC" = cc; then
CFLAGS="$CFLAGS -mt"
fi
;;
*-hpux*)
hpux=1
AC_MSG_RESULT(HP-UX)
CFLAGS="$CFLAGS -D_HPUX_SOURCE -DHPUX"
if test "$CC" = cc; then
CFLAGS="$CFLAGS -Aa"
fi
;;
*-irix*)
IRIX=yes
AC_MSG_RESULT(IRIX)
;;
*-aix*)
AIX=yes
AC_MSG_RESULT(AIX)
;;
*)
AC_MSG_RESULT($system)
;;
esac
if test ${IRIX} = yes; then
echo Skipping library tests because they confuse Irix.
else
AC_CHECK_FUNCS(socket)
if test "$ac_cv_func_socket" = no; then
for lib in socket inet; do
if test "$HAVE_SOCKET" != 1; then
AC_CHECK_LIB($lib, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET))
fi
done
fi
AC_CHECK_FUNCS(connect)
if test "$ac_cv_func_connect" = no; then
for lib in nsl; do
if test "$HAVE_CONNECT" != 1; then
AC_CHECK_LIB($lib, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT))
fi
done
fi
AC_CHECK_FUNCS(gethostbyname)
if test "$ac_cv_func_gethostbyname" = no; then
for lib in dns nsl resolv; do
if test "$HAVE_GETHOSTBYNAME" != 1; then
AC_CHECK_LIB($lib, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME))
fi
done
fi
fi
PTHREAD_LIBS=error
AC_CHECK_LIB(pthread, pthread_attr_init,
PTHREAD_LIBS="-lpthread")
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_LIB(pthreads, pthread_attr_init,
PTHREAD_LIBS="-lpthreads")
fi
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_LIB(c_r, pthread_attr_init,
PTHREAD_LIBS="-lc_r")
fi
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="")
fi
if test "x$PTHREAD_LIBS" = xerror; then
AC_MSG_ERROR(*** Unable to locate working posix thread library ***)
fi
AC_SUBST(PTHREAD_LIBS)
dnl checks for header files.
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_HEADER_DIRENT
AC_CHECK_HEADERS(stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h)
AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h)
AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h)
AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h)
AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h)
AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf re_comp re_exec)
AC_OUTPUT( \
Makefile \
config/Makefile \
procmgmt/Makefile \
procmgmt/afs/Makefile \
util/Makefile \
util/afs/Makefile \
comerr/Makefile \
rxgen/Makefile \
include/Makefile \
include/afs/Makefile \
include/rx/Makefile
)

View File

@ -50,7 +50,7 @@ noversion: install
all: dlog dpass
clean:
rm -f adkint.h adkint.cs.c adkint.ss.c adkint.xdr.c *.o dlog
rm -f adkint.h adkint.cs.c adkint.ss.c adkint.xdr.c *.o dlog dpass AFS_component_version_number.c
adkint.cs.o: adkint.cs.c
adkint.xdr.o: adkint.xdr.c adkint.h

View File

@ -187,7 +187,7 @@ install install.noversion: all ukinstall ${DESTDIR}lib/libdes.a
${INSTALL} odd.h ${DESTDIR}include/des_odd.h
clean:
rm -f ${OBJECTS} ${DEP_LIBS} ${PROGS} ${GPROGS} ${GFILES} AFS_component_version_number.c
rm -f ${OBJECTS} ${DEP_LIBS} ${PROGS} ${GPROGS} ${GFILES} AFS_component_version_number.c misco.c
rm -f *.s *.o *.b core *~ *.com *.ld
rm -f tags TAGS ${LLIB}

View File

@ -103,4 +103,4 @@ install: all kinstall ukinstall
${INSTALL} afscbint.h ${DESTDIR}include/afs
clean:
rm -f *.o *.cs.c *.ss.c *.er.c afsint.h afsint.xdr.c libafsint.a $(KDSRCS) core AFS_component_version_number.c
rm -f *.o *.cs.c *.ss.c *.er.c afsint.h afsint.xdr.c libafsint.a $(KDSRCS) core AFS_component_version_number.c afscbint.xdr.c

View File

@ -70,7 +70,7 @@ test tests: install
cd test; $(MAKE)
clean:
rm -f *.o kaserver kas klog multiklog kpasswd klogin rebuild kauth.cs.c kauth.ss.c kauth.xdr.c kauth.h kautils.h kaerrors.c *.a core kpwvalid AFS_component_version_number.c
rm -f *.o kaserver kas klog multiklog kpasswd klogin rebuild kauth.cs.c kauth.ss.c kauth.xdr.c kauth.h kautils.h kaerrors.c *.a core kpwvalid AFS_component_version_number.c klog.krb knfs klogin.krb kdb Kkauth.xdr.c Kkauth.h
kaserver: kautils.o kalocalcell.o kadatabase.o kaprocs.o kalog.o kauth.ss.o kauth.xdr.o kaserver.o kaaux.o krb_udp.o kaauxdb.o $(LIBS) ${auditlib}
${CC} ${LDFLAGS} -o kaserver kaserver.o kautils.o kalocalcell.o kadatabase.o krb_udp.o kaprocs.o kalog.o kauth.ss.o kauth.xdr.o kaaux.o kaauxdb.o $(LIBS) ${XLIBS} ${auditlib}

View File

@ -10,3 +10,5 @@ include ../config/Makefile.${SYS_NAME}
system install:
${INSTALL} afs_Admin.h ${DESTDIR}include/afs
clean:

View File

@ -341,6 +341,6 @@ afs_pioctl_nfs.o: $(AFS)/afs_pioctl.c
clean:
-rm -rf STATIC* MODLOAD*
-rm -f h net netinet rpc ufs machine inet nfs sys
-rm -rf h net netinet rpc ufs machine inet nfs sys afs afsint asm asm-generic config rx

View File

@ -9,7 +9,7 @@
#
DESTDIR=DEST/
include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
# OS specific object files:
AFS_OS_OBJS = \

View File

@ -5,7 +5,7 @@
#
DESTDIR=DEST/
include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
# OS specific object files:

View File

@ -9,7 +9,7 @@
#
DESTDIR=DEST/
include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
# OS specific object files:

View File

@ -4,8 +4,7 @@
#
DESTDIR=DEST/
# include $(DESTDIR)/../obj/config/Makefile.${SYS_NAME}
# include ../config/Makefile.${SYS_NAME}
# OS specific object files:
AFS_OS_OBJS = \

View File

@ -9,7 +9,7 @@
#
DESTDIR=DEST/
include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
# OS specific object files:
AFS_OS_OBJS = \

View File

@ -9,8 +9,7 @@
#
DESTDIR=DEST/
include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
# OS specific object files:
AFS_OS_OBJS = \

View File

@ -73,77 +73,66 @@ CFLAGS = $(CCFLAGS) $(DEFINES) $(INCLUDES)
KOBJ = MODLOAD
MPS = MP SP
# To pick up anything we might have missed
include Makefile.extradefs
# COMPDIRS is called in Makefile.common to do the actual builds.
COMPDIRS=linux_compdirs
include Makefile.common
LINUX_VERS=@LINUX_VERSION@
LINUX_KERNEL_PATH=@LINUX_KERNEL_PATH@
setup:
-rm -f h net netinet sys rpc
-ln -s rx rpc
for v in ${LINUX_VERS} ; do \
for m in ${MPS} ; do \
KDIR=$(KOBJ)-$$v-$$m; \
mkdir -p $${KDIR}; \
ln -fs ../Makefile $${KDIR}/Makefile ; \
ln -fs ../Makefile.common $${KDIR}/Makefile.common; \
<i386_linux22 i386_linux24 s390_linux24>
sh ./redhat.sh ${LINUX_SRCDIR}$$v $${KDIR}/Makefile.extradefs; \
<all>
done \
done
for m in ${MPS} ; do \
KDIR=$(KOBJ)-${LINUX_VERS}-$$m; \
mkdir -p $${KDIR}; \
ln -fs ../Makefile $${KDIR}/Makefile ; \
ln -fs ../Makefile.common $${KDIR}/Makefile.common; \
done
# Compile SP and MP clients as requested
LINUX_INCDIR=include/linux
${COMPDIRS}:
for v in ${LINUX_VERS} ; do \
IDIR=${LINUX_SRCDIR}$$v/${LINUX_INCDIR}; \
rm -f h; \
ln -s $${IDIR} h; \
rm -f linux; \
ln -s $${IDIR} linux; \
rm -f net; \
ln -s $${IDIR} net; \
rm -f netinet; \
ln -s $${IDIR} netinet; \
rm -f sys; \
ln -s $${IDIR} sys; \
rm -f asm-generic; \
ln -s ${LINUX_SRCDIR}$$v/include/asm-generic asm-generic; \
rm -f asm; \
rm -f h
ln -s ${LINUX_KERNEL_PATH}/include/linux h
rm -f linux
ln -s ${LINUX_KERNEL_PATH}/include/linux linux
rm -f net
ln -s ${LINUX_KERNEL_PATH}/include/linux net
rm -f netinet
ln -s ${LINUX_KERNEL_PATH}/include/linux netinet
rm -f sys
ln -s ${LINUX_KERNEL_PATH}/include/linux sys
rm -f asm-generic
ln -s ${LINUX_KERNEL_PATH}/include/asm-generic asm-generic
rm -f asm
<alpha_linux_22 alpha_linux_24>
ln -s ${LINUX_SRCDIR}$$v/include/asm-alpha asm ; \
ln -s ${LINUX_KERNEL_PATH}/include/asm-alpha asm
<i386_linux22 i386_linux24>
ln -s ${LINUX_SRCDIR}$$v/include/asm-i386 asm ; \
ln -s ${LINUX_KERNEL_PATH}/include/asm-i386 asm
<s390_linux22 s390_linux24>
ln -s ${LINUX_SRCDIR}$$v/include/asm-s390 asm ; \
ln -s ${LINUX_KERNEL_PATH}/include/asm-s390 asm
<ppc_linux22 ppc_linux24>
ln -s ${LINUX_SRCDIR}$$v/include/asm-ppc asm ; \
ln -s ${LINUX_KERNEL_PATH}/include/asm-ppc asm
<sparc_linux22 sparc_linux24>
ln -s ${LINUX_SRCDIR}$$v/include/asm-sparc asm ; \
ln -s ${LINUX_KERNEL_PATH}/include/asm-sparc asm
<sparc64_linux22 sparc64_linux24>
ln -s ${LINUX_SRCDIR}$$v/include/asm-sparc64 asm ; \
ln -s ${LINUX_KERNEL_PATH}/include/asm-sparc64 asm
<all>
for m in ${MPS} ; do \
KDIR=${KOBJ}-$$v-$$m ; \
echo Building in directory: $${KDIR} ; \
if [ "$$m" = "MP" ] ; then \
SMP_DEF="-DAFS_SMP -D__BOOT_KERNEL_SMP=1 -D__BOOT_KERNEL_UP=0 -D__SMP__" ; \
TARG="libafs.mp" ; \
else \
SMP_DEF="-D__BOOT_KERNEL_SMP=0 -D__BOOT_KERNEL_UP=1 -U__SMP__" ; \
TARG=libafs ; \
fi ; \
cd $${KDIR} ; \
$(MAKE) DESTDIR=${DESTDIR} SMP_DEF="$${SMP_DEF}" $${TARG} CLIENT=$$v || exit $$?; \
cd ../ ; \
done \
for m in ${MPS} ; do \
KDIR=${KOBJ}-${LINUX_VERS}-$$m ; \
echo Building in directory: $${KDIR} ; \
if [ "$$m" = "MP" ] ; then \
SMP_DEF="-DAFS_SMP -D__BOOT_KERNEL_SMP=1 -D__BOOT_KERNEL_UP=0 -D__SMP__" ; \
TARG="libafs.mp" ; \
else \
SMP_DEF="-D__BOOT_KERNEL_SMP=0 -D__BOOT_KERNEL_UP=1 -U__SMP__" ; \
TARG=libafs ; \
fi ; \
cd $${KDIR} ; \
$(MAKE) DESTDIR=${DESTDIR} SMP_DEF="$${SMP_DEF}" $${TARG} CLIENT=${LINUX_VERS} || exit $$?; \
cd ../ ; \
done

View File

@ -7,9 +7,7 @@
# MakefileProto for Solaris systems
#
include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
# OS specific object files:
AFS_OS_OBJS = \

View File

@ -42,7 +42,7 @@ ukinstlibs:
ukinstall: ukinsthdrs UAFS/$(LIBUAFS) linktest ukinstlibs
linktest: UAFS/$(LIBUAFS) des/libdes.a
$(CC) $(TEST_CFLAGS) $(TEST_LDFLAGS) -o linktest linktest.c -I${DESTDIR}include -I${DESTDIR}include/rx -I${DESTDIR}root.perf/include UAFS/$(LIBUAFS) des/libdes.a $(TEST_LIBS)
$(CC) $(TEST_CFLAGS) $(TEST_LDFLAGS) -o linktest linktest.c -I${DESTDIR}include -I${DESTDIR}include/rx -I${DESTDIR}root.perf/include UAFS/$(LIBUAFS) des/libdes.a $(TEST_LIBS) $(XLIBS)
CRULE1= $(CC) $(OPTF) -DKERNEL $(CFLAGS) -c $?
CRULE2= $(CC) $(OPTF) $(WEBOPTS) -DKERNEL $(CFLAGS) -c $?
@ -889,6 +889,6 @@ $(WEBOBJ)/Krxstat.xdr.o: $(AFSINT)/Krxstat.xdr.c
$(CRULE2);
clean:
-rm -rf UAFS* AFSWEB*
-rm -f h net netinet rpc ufs machine inet nfs sys
-rm -rf UAFS* AFSWEB* nsapi des
-rm -f h net netinet rpc ufs machine inet nfs sys des linktest afs afsint config rx

View File

@ -8,7 +8,7 @@
# MakefileProto for AIX systems
#
include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1

View File

@ -9,12 +9,11 @@
#
DBUG=-O
include $(DESTDIR)/../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
# System specific build commands and flags
CC = cc
DEFINES=-DAFSDEBUG -DKERNEL -DUKERNEL -DAFS -DVICE -D_NO_PROTO -DOSF
KOPTS=
DBUG=

View File

@ -5,10 +5,10 @@
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
# MakefileProto for Solaris systems
# MakefileProto for HP-UX systems
#
include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1

View File

@ -8,7 +8,7 @@
# MakefileProto for Solaris systems
#
include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1

View File

@ -8,13 +8,11 @@
# MakefileProto for Solaris systems
#
include $(DESTDIR)../obj/config/Makefile.${SYS_NAME}
include ../config/Makefile.${SYS_NAME}
MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
# System specific build commands and flags
# Redundant
# CC = /opt/SUNWspro/bin/cc
DEFINES= -D_REENTRANT -DAFSDEBUG -DKERNEL -DUKERNEL -DAFS -DVICE
CFLAGS=-I. -I.. -I${TOP_SRCDIR}/config ${FSINCLUDES} $(DEFINES) $(KOPTS) ${DBUG}
OPTF=-O

View File

@ -51,7 +51,7 @@ lint: log.c passwd.c unlog.c testlog.c
lint ${INCDIRS} passwd.c
clean:
rm -f *.o log passwd unlog tokens kseal core AFS_component_version_number.c
rm -f *.o log passwd unlog tokens kseal core AFS_component_version_number.c tokens.krb
beancount:
wc -l log.c passwd.c unlog.c

View File

@ -91,7 +91,7 @@ test_pam: test_pam.o
esac
clean:
/bin/rm -f $(TARGETS) $(OBJS) afs_setcred.o afs_setcred_krb.o core *~
/bin/rm -f $(TARGETS) $(OBJS) afs_setcred.o afs_setcred_krb.o core *~ AFS_component_version_number.c
install: all
${INSTALL} -s pam_afs.so.1 ${DESTDIR}lib/pam_afs.so.1

View File

@ -56,7 +56,7 @@ include ../config/Makefile.version
clean:
$(RM) -f *.o ptserver ptint.cs.c ptint.ss.c ptclient ptint.xdr.c ptint.h \
libprot.a pts readgroup readpwd db_verify testpt pt_util pterror.h pterror.c \
core AFS_component_version_number.c
core AFS_component_version_number.c Kptint.cs.c Kptint.h Kptint.xdr.c
ptserver: ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o $(LIBS) ${auditlib}
$(CC) ${CFLAGS} -o ptserver ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o $(LIBS) ${XLIBS} ${auditlib}

View File

@ -169,4 +169,4 @@ ukinstall webinstall: includes
-$(INSTALL) UKERNEL/*.[ch] $(UKERNELDIR)rx
clean:
rm -f *.o *.a core *_component_version_number.c
rm -f *.o *.a core *_component_version_number.c rxdumptrace rxdebug

View File

@ -39,7 +39,7 @@ all: librxkad.a
system: install
clean:
rm -f *.o tcrypt core *.a rxkad_errs.c rxkad.h AFS_component_version_number.c
rm -f *.o tcrypt core *.a rxkad_errs.c rxkad.h AFS_component_version_number.c crypt_conn.c fcrypt.c fcrypt.h sboxes.h
librxkad.a: $(OBJS) ${REGOBJS} AFS_component_version_number.o
-rm -f librxkad.a

View File

@ -46,6 +46,9 @@ afsauthlib.so: sgi_auth.o ${AFSLIBS} ${AUTHFILES}
afskauthlib.so: sgi_auth.o ${KAFSLIBS} ${AUTHFILES}
$(LD) ${LDFLAGS} -shared -all -o afskauthlib.so sgi_auth.o $(KAFSLIBS) ${AUTHFILES}
../inetd/ta-rauth.o: ../inetd/ta-rauth.c
(cd ../inetd ; $(MAKE) ta-rauth.o )
../rsh/rcmd.o: ../rsh/rcmd.c
(cd ../rsh ; $(MAKE) rcmd.o )

View File

@ -27,6 +27,9 @@ KLIBS = ${DESTDIR}/lib/afs/libkauth.krb.a ${LIBS1} ${DESTDIR}/lib/afs/libauth.kr
all: test-reauth ${DESTDIR}/lib/afs/libafssiad.so ${DESTDIR}/lib/afs/libafssiad.krb.so
clean:
rm -f test-reauth libafssiad.so libafssiad.krb.so *.s *.o *.b core *~ *.com *.ld AFS_component_version_number.c
CFLAGS = $(DEBUG) -I${SRCDIR}include ${XCFLAGS}
${DESTDIR}/lib/afs/libafssiad.so: libafssiad.so

View File

@ -183,7 +183,7 @@ xfsinode: xfsinode.c AFS_component_version_number.c
clean:
rm -f *.o libsys.a xfsinode iinc idec icreate iopen istat core \
rmtsysc rmtsyss *.o rmtsys.ss.c rmtsys.cs.c rmtsys.xdr.c rmtsys.h \
rmtsysd AFS_component_version_number.c
rmtsysd AFS_component_version_number.c pagsh pagsh.krb
beancount:
wc -l *.c *.s

View File

@ -36,7 +36,7 @@ test: utst_server utst_client udebug
clean:
rm -f *.o utst_server utst_client udebug *.a *.cs.c *.ss.c *.xdr.c
rm -f utst_int.h ubik_int.h uerrors.c ubik.h core AFS_component_version_number.c
rm -f utst_int.h ubik_int.h uerrors.c ubik.h core AFS_component_version_number.c Kubik_int.h
system: install
@ -82,7 +82,7 @@ Kubik_int.h: ubik_int.xg
utst_int.ss.o: utst_int.ss.c utst_int.xdr.c
utst_int.cs.o: utst_int.cs.c utst_int.xdr.c
utst_int.xdr.o: utst_int.xdr.c utst_int.h
utst_int.rs.c utst_int.cs.c utst_int.xdr.c utst_int.h: utst_int.xg
utst_int.ss.c utst_int.cs.c utst_int.xdr.c utst_int.h: utst_int.xg
${RXGEN} utst_int.xg
utst_server.o: utst_server.c ${INCLS} utst_int.h AFS_component_version_number.c

View File

@ -25,7 +25,7 @@
#include <netinet/in.h>
#include <netdb.h>
#endif
#ifdev HAVE_UNISTD_H
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <signal.h>

View File

@ -252,7 +252,7 @@ kdump64 : kdump64.o
esac
clean:
rm -f *.o *.a up fs core cmdebug AFS_component_version_number.c
rm -f *.o *.a up fs core cmdebug AFS_component_version_number.c fstrace gcpags
beancount:
wc -l *.c *.h

View File

@ -114,7 +114,7 @@ install: all ${DESTDIR}root.server/usr/afs/bin/fileserver
system: install
clean:
rm -f *.o llib-lvice.ln fileserver core AFS_component_version_number.c
rm -f *.o llib-lvice.ln fileserver core AFS_component_version_number.c cbd check_sysid fsprobe
beancount:
wc -l *.c *.h

View File

@ -124,7 +124,7 @@ xfs_size_check: xfs_size_check.c
clean:
rm -f *.o *.a AFS_component_version_number.c
rm -f ${SCMPROGS} ${STAGEPROGS} core
rm -f ${SCMPROGS} ${STAGEPROGS} core salvager volinfo
beancount:
wc -l *.c *.h

View File

@ -131,7 +131,7 @@ install: all $(TARGETS)
clean:
rm -f volserver *.o volint.ss.c volint.cs.c *.a volint.h \
volint.xdr.c vos core volser.h volerr.c AFS_component_version_number.c
volint.xdr.c vos core volser.h volerr.c AFS_component_version_number.c restorevol
lint: vos.c vsprocs.c volmain.c volprocs.c lockprocs.c
lint -hb ${INCDIRS} ${INCLIBS} vos.c