379070b0f5b9a6deb6c9d5fa4c63c4710065e363
[openafs.git] / acinclude.m4
1 dnl This file contains the common configuration code which would
2 dnl otherwise be duplicated between configure and configure-libafs.
3 dnl
4 dnl NB: Because this code is a macro, references to positional shell
5 dnl parameters must be done like $[]1 instead of $1
6
7 AC_DEFUN([OPENAFS_CONFIGURE_COMMON],[
8
9 AC_CANONICAL_HOST
10 SRCDIR_PARENT=`pwd`
11
12 #BOZO_SAVE_CORES pam sia
13 AC_ARG_WITH(afs-sysname,
14 [  --with-afs-sysname=sys    use sys for the afs sysname]
15 )
16 AC_ARG_ENABLE( obsolete,
17 [  --enable-obsolete                    enable obsolete portions of AFS (mpp, ntp and package)],, enable_obsolete="no")
18 AC_ARG_ENABLE( insecure,
19 [  --enable-insecure                    enable insecure portions of AFS (ftpd, inetd, rcp, rlogind and rsh)],, enable_insecure="no")
20 AC_ARG_ENABLE( afsdb,
21 [  --disable-afsdb                      disable AFSDB RR support],, enable_afsdb="yes")
22 AC_ARG_ENABLE( pam,
23 [  --disable-pam                        disable PAM support],, enable_pam="yes")
24 AC_ARG_ENABLE( bos-restricted-mode,
25 [  --enable-bos-restricted-mode         enable bosserver restricted mode which disables certain bosserver functionality],, enable_bos_restricted_mode="no")
26 AC_ARG_ENABLE( bos-new-config,
27 [  --enable-bos-new-config              enable bosserver pickup of BosConfig.new on restarts],, enable_bos_new_config="no")
28 AC_ARG_ENABLE( largefile-fileserver,
29 [  --enable-largefile-fileserver        enable large file support in fileserver],, enable_largefile_fileserver="no")
30 AC_ARG_ENABLE( namei-fileserver,
31 [  --enable-namei-fileserver            force compilation of namei fileserver in preference to inode fileserver],, enable_namei_fileserver="no")
32 AC_ARG_ENABLE( supergroups,
33 [  --enable-supergroups                 enable support for nested pts groups],, enable_supergroups="no")
34 AC_ARG_ENABLE( fast-restart,
35 [  --enable-fast-restart                enable fast startup of file server without salvaging],, enable_fast_restart="no")
36 AC_ARG_ENABLE( bitmap-later,
37 [  --enable-bitmap-later                enable fast startup of file server by not reading bitmap till needed],, enable_bitmap_later="no")
38 AC_ARG_ENABLE( full-vos-listvol-switch,
39 [  --disable-full-vos-listvol-switch    disable vos full listvol switch for formatted output],, enable_full_vos_listvol_switch="yes")
40 AC_ARG_WITH(dux-kernel-headers,
41 [  --with-dux-kernel-headers=path       use the kernel headers found at path(optional, defaults to first match in /usr/sys)]
42 )
43 AC_ARG_WITH(linux-kernel-headers,
44 [  --with-linux-kernel-headers=path     use the kernel headers found at path(optional, defaults to /usr/src/linux-2.4, then /usr/src/linux)]
45 )
46 AC_ARG_WITH(bsd-kernel-headers,
47 [  --with-bsd-kernel-headers=path       use the kernel headers found at path(optional, defaults to /usr/src/sys)]
48 )
49 AC_ARG_WITH(bsd-kernel-build,
50 [  --with-bsd-kernel-build=path         use the kernel build found at path(optional, defaults to KSRC/i386/compile/GENERIC)]
51 )
52 AC_ARG_ENABLE(kernel-module,
53 [  --disable-kernel-module              disable compilation of the kernel module (defaults to enabled)],, enable_kernel_module="yes"
54 )
55 AC_ARG_ENABLE(redhat-buildsys,
56 [  --enable-redhat-buildsys             enable compilation of the redhat build system kernel (defaults to disabled)],, enable_redhat_buildsys="no"
57 )
58 AC_ARG_ENABLE(transarc-paths,
59 [  --enable-transarc-paths                      Use Transarc style paths like /usr/afs and /usr/vice],, enable_transarc_paths="no"
60 )
61 AC_ARG_ENABLE(tivoli-tsm,
62 [  --enable-tivoli-tsm                  Enable use of the Tivoli TSM API libraries for butc support],, enable_tivoli_tsm="no"
63 )
64 AC_ARG_ENABLE(debug-kernel,
65 [  --enable-debug-kernel                enable compilation of the kernel module with debugging information (defaults to disabled)],, enable_debug_kernel="no"
66 )
67 AC_ARG_ENABLE(optimize-kernel,
68 [  --disable-optimize-kernel            disable compilation of the kernel module with optimization (defaults based on platform)],, enable_optimize_kernel="yes"
69 )
70 AC_ARG_ENABLE(debug,
71 [  --enable-debug                       enable compilation of the user space code with debugging information (defaults to disabled)],, enable_debug="no"
72 )
73 AC_ARG_ENABLE(optimize,
74 [  --disable-optimize                   disable optimization for compilation of the user space code (defaults to enabled)],, enable_optimize="yes"
75 )
76 AC_ARG_ENABLE(debug-lwp,
77 [  --enable-debug-lwp                   enable compilation of the LWP code with debugging information (defaults to disabled)],, enable_debug_lwp="no"
78 )
79 AC_ARG_ENABLE(optimize-lwp,
80 [  --disable-optimize-lwp               disable optimization for compilation of the LWP code (defaults to enabled)],, enable_optimize_lwp="yes"
81 )
82
83 enable_login="no"
84
85 dnl weird ass systems
86 AC_AIX
87 AC_ISC_POSIX
88 AC_MINIX
89
90 dnl Various compiler setup.
91 AC_TYPE_PID_T
92 AC_TYPE_SIZE_T
93 AC_TYPE_SIGNAL
94 COMPILER_HAS_FUNCTION_MACRO
95
96 dnl Checks for programs.
97 AC_PROG_INSTALL
98 AC_PROG_LN_S
99 AC_PROG_RANLIB
100 AC_PROG_YACC
101 AM_PROG_LEX
102
103 OPENAFS_CHECK_BIGENDIAN
104
105 AC_MSG_CHECKING(your OS)
106 system=$host
107 case $system in
108         *-linux*)
109                 MKAFS_OSTYPE=LINUX
110                 if test "x$enable_redhat_buildsys" = "xyes"; then
111                  AC_DEFINE(ENABLE_REDHAT_BUILDSYS, 1, [define if you have redhat buildsystem])
112                 fi
113                 if test "x$enable_kernel_module" = "xyes"; then
114                  if test "x$with_linux_kernel_headers" != "x"; then
115                    LINUX_KERNEL_PATH="$with_linux_kernel_headers"
116                  else
117                    LINUX_KERNEL_PATH="/usr/src/linux-2.4"
118                    if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
119                      LINUX_KERNEL_PATH="/usr/src/linux"
120                    fi
121                  fi
122                  if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
123                   linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
124                   if test "x$linux_kvers" = "x"; then
125                     if test -f "$LINUX_KERNEL_PATH/include/linux/version-up.h"; then
126                       linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
127                       if test "x$linux_kvers" = "x"; then
128
129                         AC_MSG_ERROR(Linux headers lack version definition [2])
130                         exit 1
131                       else
132                         LINUX_VERSION="$linux_kvers"
133                       fi
134                     else
135                       AC_MSG_ERROR(Linux headers lack version definition)
136                       exit 1
137                     fi
138                   else
139                     LINUX_VERSION="$linux_kvers"
140                   fi
141                  else
142                     enable_kernel_module="no"
143                  fi
144                  if test ! -f "$LINUX_KERNEL_PATH/include/linux/autoconf.h"; then
145                      enable_kernel_module="no"
146                  fi
147                  if test "x$enable_kernel_module" = "xno"; then
148                   if test "x$with_linux_kernel_headers" != "x"; then
149                    AC_MSG_ERROR(No usable linux headers found at $LINUX_KERNEL_PATH)
150                    exit 1
151                   else
152                    AC_MSG_WARN(No usable linux headers found at $LINUX_KERNEL_PATH so disabling kernel module)
153                   fi
154                  fi
155                  dnl do we need to determine SUBARCH from autoconf.h
156                  SUBARCH=default
157                 fi
158                 AC_MSG_RESULT(linux)
159                 if test "x$enable_kernel_module" = "xyes"; then
160                  if test "x$enable_debug_kernel" = "xno"; then
161                         LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer"
162                  fi
163                  OPENAFS_GCC_SUPPORTS_MARCH
164                  AC_SUBST(P5PLUS_KOPTS)
165                  OPENAFS_GCC_NEEDS_NO_STRENGTH_REDUCE
166                  OPENAFS_GCC_NEEDS_NO_STRICT_ALIASING
167                  OPENAFS_GCC_SUPPORTS_NO_COMMON
168                  OPENAFS_GCC_SUPPORTS_PIPE
169                  AC_SUBST(LINUX_GCC_KOPTS)
170                  ifdef([OPENAFS_CONFIGURE_LIBAFS],
171                    [LINUX_BUILD_VNODE_FROM_INODE(src/config,afs)],
172                    [LINUX_BUILD_VNODE_FROM_INODE(${srcdir}/src/config,src/afs/LINUX,${srcdir}/src/afs/LINUX)]
173                  )
174                  LINUX_COMPLETION_H_EXISTS
175                  LINUX_DEFINES_FOR_EACH_PROCESS
176                  LINUX_DEFINES_PREV_TASK
177                  LINUX_EXPORTS_TASKLIST_LOCK
178                  LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
179                  LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_GFP_MASK
180                  LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM
181                  LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM
182                  LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
183                  LINUX_FS_STRUCT_INODE_HAS_I_DEVICES
184                  LINUX_FS_STRUCT_INODE_HAS_I_SECURITY
185                  LINUX_INODE_SETATTR_RETURN_TYPE
186                  LINUX_KERNEL_LINUX_SYSCALL_H
187                  LINUX_KERNEL_SELINUX
188                  LINUX_KERNEL_SOCK_CREATE
189                  LINUX_NEED_RHCONFIG
190                  LINUX_RECALC_SIGPENDING_ARG_TYPE
191                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT
192                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_REAL_PARENT
193                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIG
194                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND
195                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
196                  LINUX_WHICH_MODULES
197                  if test "x$ac_cv_linux_config_modversions" = "xno"; then
198                    AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported])
199                    ac_cv_linux_exports_sys_call_table=no
200                    if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
201                      ac_cv_linux_exports_ia32_sys_call_table=yes
202                    fi
203                  else
204                    LINUX_EXPORTS_INIT_MM
205                    LINUX_EXPORTS_KALLSYMS_ADDRESS
206                    LINUX_EXPORTS_KALLSYMS_SYMBOL
207                    LINUX_EXPORTS_SYS_CALL_TABLE
208                    LINUX_EXPORTS_IA32_SYS_CALL_TABLE
209                    LINUX_EXPORTS_SYS_CHDIR
210                    LINUX_EXPORTS_SYS_CLOSE
211                    LINUX_EXPORTS_SYS_WAIT4
212                    if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
213                          linux_syscall_method=none
214                          if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
215                             linux_syscall_method=scan
216                             if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
217                                linux_syscall_method=scan_with_kallsyms_address
218                             fi
219                          fi
220                          if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
221                             linux_syscall_method=kallsyms_symbol
222                          fi
223                          if test "x$linux_syscall_method" = "xnone"; then
224                         AC_MSG_ERROR([no available sys_call_table access method])
225                          fi
226                    fi
227                  fi
228                  if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
229                   AC_DEFINE(HAVE_IN_SYSTM_H, 1, [define if you have in_systm.h header file])
230                  fi
231                  if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
232                   AC_DEFINE(HAVE_MM_INLINE_H, 1, [define if you have mm_inline.h header file])
233                  fi
234                  if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
235                   AC_DEFINE(HAVE_IN_SYSTM_H, 1, [define if you have in_systm.h header file])
236                  fi
237                  if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
238                   AC_DEFINE(EXPORTED_SYS_CHDIR, 1, [define if your linux kernel exports sys_chdir])
239                  fi
240                  if test "x$ac_cv_linux_exports_sys_close" = "xyes" ; then
241                   AC_DEFINE(EXPORTED_SYS_CLOSE, 1, [define if your linux kernel exports sys_close])
242                  fi
243                  if test "x$ac_cv_linux_exports_sys_wait4" = "xyes" ; then
244                   AC_DEFINE(EXPORTED_SYS_WAIT4, 1, [define if your linux kernel exports sys_wait4])
245                  fi
246                  if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
247                   AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if your linux kernel exports tasklist_lock])
248                  fi
249                  if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then
250                   AC_DEFINE(EXPORTED_SYS_CALL_TABLE)
251                  fi
252                  if test "x$ac_cv_linux_exports_ia32_sys_call_table" = "xyes"; then
253                   AC_DEFINE(EXPORTED_IA32_SYS_CALL_TABLE)
254                  fi
255                  if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
256                   AC_DEFINE(EXPORTED_KALLSYMS_SYMBOL)
257                  fi
258                  if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
259                   AC_DEFINE(EXPORTED_KALLSYMS_ADDRESS)
260                  fi
261                  if test "x$ac_cv_linux_completion_h_exists" = "xyes" ; then
262                   AC_DEFINE(COMPLETION_H_EXISTS, 1, [define if completion_h exists])
263                  fi
264                  if test "x$ac_cv_linux_defines_for_each_process" = "xyes" ; then
265                   AC_DEFINE(DEFINED_FOR_EACH_PROCESS, 1, [define if for_each_process defined])
266                  fi
267                  if test "x$ac_cv_linux_defines_prev_task" = "xyes" ; then
268                   AC_DEFINE(DEFINED_PREV_TASK, 1, [define if prev_task defined])
269                  fi
270                  if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then
271                   AC_DEFINE(INODE_SETATTR_NOT_VOID, 1, [define if your setattr return return non-void])
272                  fi
273                  if test "x$ac_cv_linux_fs_struct_address_space_has_page_lock" = "xyes"; then 
274                   AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK, 1, [define if your struct address_space has page_lock])
275                  fi
276                  if test "x$ac_cv_linux_fs_struct_address_space_has_gfp_mask" = "xyes"; then 
277                   AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_GFP_MASK, 1, [define if your struct address_space has gfp_mask])
278                  fi
279                  if test "x$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" = "xyes"; then 
280                   AC_DEFINE(STRUCT_INODE_HAS_I_TRUNCATE_SEM, 1, [define if your struct inode has truncate_sem])
281                  fi
282                  if test "x$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" = "xyes"; then 
283                   AC_DEFINE(STRUCT_INODE_HAS_I_ALLOC_SEM, 1, [define if your struct inode has alloc_sem])
284                  fi
285                  if test "x$ac_cv_linux_fs_struct_inode_has_i_devices" = "xyes"; then 
286                   AC_DEFINE(STRUCT_INODE_HAS_I_DEVICES, 1, [define if you struct inode has i_devices])
287                  fi
288                  if test "x$ac_cv_linux_fs_struct_inode_has_i_security" = "xyes"; then 
289                   AC_DEFINE(STRUCT_INODE_HAS_I_SECURITY, 1, [define if you struct inode has i_security])
290                  fi
291                  if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then 
292                   AC_DEFINE(STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS, 1, [define if your struct inode has data_buffers])
293                  fi
294                  if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then 
295                   AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
296                  fi
297                  if test "x$ac_cv_linux_kernel_is_selinux" = "xyes" ; then
298                   AC_DEFINE(LINUX_KERNEL_IS_SELINUX, 1, [define if your linux kernel uses SELinux features])
299                  fi
300                  if test "x$ac_cv_linux_kernel_sock_create_v" = "xyes" ; then
301                   AC_DEFINE(LINUX_KERNEL_SOCK_CREATE_V, 1, [define if your linux kernel uses 5 arguments for sock_create])
302                  fi
303                  if test "x$ac_linux_syscall" = "xyes" ; then
304                   AC_DEFINE(HAVE_KERNEL_LINUX_SYSCALL_H, 1, [define if your linux kernel has linux/syscall.h])
305                  fi
306                  if test "x$ac_cv_linux_sched_struct_task_struct_has_parent" = "xyes"; then 
307                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_PARENT, 1, [define if your struct task_struct has parent])
308                  fi
309                  if test "x$ac_cv_linux_sched_struct_task_struct_has_real_parent" = "xyes"; then 
310                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_REAL_PARENT, 1, [define if your struct task_struct has real_parent])
311                  fi
312                  if test "x$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" = "xyes"; then 
313                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK, 1, [define if your struct task_struct has sigmask_lock])
314                  fi
315                  if test "x$ac_cv_linux_sched_struct_task_struct_has_sighand" = "xyes"; then 
316                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGHAND, 1, [define if your struct task_struct has sighand])
317                  fi
318                  if test "x$ac_cv_linux_sched_struct_task_struct_has_sig" = "xyes"; then 
319                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIG, 1, [define if your struct task_struct has sig])
320                  fi
321                 :
322                 fi
323                 ;;
324         *-solaris*)
325                 MKAFS_OSTYPE=SOLARIS
326                 AC_MSG_RESULT(sun4)
327                 SOLARIS_UFSVFS_HAS_DQRWLOCK
328                 SOLARIS_PROC_HAS_P_COREFILE
329                 SOLARIS_FS_HAS_FS_ROLLED
330                 ;;
331         *-sunos*)
332                 MKAFS_OSTYPE=SUNOS
333                 enable_kernel_module=no
334                 AC_MSG_RESULT(sun4)
335                 ;;
336         *-hpux*)
337                 MKAFS_OSTYPE=HPUX
338                 AC_MSG_RESULT(hp_ux)
339                 ;;
340         *-irix*)
341                 if test -d /usr/include/sys/SN/SN1; then
342                  IRIX_BUILD_IP35="IP35"
343                 fi
344                 MKAFS_OSTYPE=IRIX
345                 AC_MSG_RESULT(sgi)
346                 ;;
347         *-aix*)
348                 MKAFS_OSTYPE=AIX
349                 AC_MSG_RESULT(rs_aix)
350                 ;;
351         *-osf*)
352                 MKAFS_OSTYPE=DUX
353                 AC_MSG_RESULT(alpha_dux)
354                 if test "x$enable_kernel_module" = "xyes"; then
355                  if test "x$with_dux_kernel_headers" != "x"; then
356                    HEADER_RT=`ls ${with_dux_kernel_headers}/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
357                  else
358                    HEADER_RT=`ls /usr/sys/*/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
359                  fi
360                 fi
361                 if test "$HEADER_RT" = "*" ; then
362                         AC_MSG_ERROR([Need a configured kernel directory])
363                 fi
364                 AC_SUBST([HEADER_RT])
365                 ;;
366         *-darwin*)
367                 MKAFS_OSTYPE=DARWIN
368                 AC_MSG_RESULT(ppc_darwin)
369                 ;;
370         *-freebsd*)
371                 MKAFS_OSTYPE=FBSD
372                 AC_MSG_RESULT(i386_fbsd)
373                 ;;
374         *-netbsd*)
375                 MKAFS_OSTYPE=NBSD
376                 AC_MSG_RESULT(nbsd)
377                 ;;
378         *-openbsd*)
379                 MKAFS_OSTYPE=OBSD
380                 AC_MSG_RESULT(i386_obsd)
381                 ;;
382         *)
383                 AC_MSG_RESULT($system)
384                 ;;
385 esac
386
387 if test "x$with_afs_sysname" != "x"; then
388         AFS_SYSNAME="$with_afs_sysname"
389 else
390         AC_MSG_CHECKING(your AFS sysname)
391         case $host in
392                 i?86-*-openbsd3.1)
393                         AFS_SYSNAME="i386_obsd31"
394                         ;;
395                 i?86-*-openbsd3.2)
396                         AFS_SYSNAME="i386_obsd32"
397                         ;;
398                 i?86-*-openbsd3.3)
399                         AFS_SYSNAME="i386_obsd33"
400                         ;;
401                 i?86-*-openbsd3.4)
402                         AFS_SYSNAME="i386_obsd34"
403                         ;;
404                 i?86-*-openbsd3.5)
405                         AFS_SYSNAME="i386_obsd35"
406                         ;;
407                 i?86-*-openbsd3.6)
408                         AFS_SYSNAME="i386_obsd36"
409                         ;;
410                 i?86-*-freebsd4.2*)
411                         AFS_SYSNAME="i386_fbsd_42"
412                         ;;
413                 i?86-*-freebsd4.3*)
414                         AFS_SYSNAME="i386_fbsd_43"
415                         ;;
416                 i?86-*-freebsd4.4*)
417                         AFS_SYSNAME="i386_fbsd_44"
418                         ;;
419                 i?86-*-freebsd4.5*)
420                         AFS_SYSNAME="i386_fbsd_45"
421                         ;;
422                 i?86-*-freebsd4.6*)
423                         AFS_SYSNAME="i386_fbsd_46"
424                         ;;
425                 i?86-*-freebsd4.7*)
426                         AFS_SYSNAME="i386_fbsd_47"
427                         ;;
428                 i?86-*-freebsd5.0*)
429                         AFS_SYSNAME="i386_fbsd_50"
430                         ;;
431                 i?86-*-freebsd5.1*)
432                         AFS_SYSNAME="i386_fbsd_51"
433                         ;;
434                 i?86-*-freebsd5.2*)
435                         AFS_SYSNAME="i386_fbsd_52"
436                         ;;
437                 i?86-*-freebsd5.3*)
438                         AFS_SYSNAME="i386_fbsd_53"
439                         ;;
440                 i?86-*-netbsd*1.5*)
441                         AFS_PARAM_COMMON=param.nbsd15.h
442                         AFS_SYSNAME="i386_nbsd15"
443                         ;;
444                 alpha-*-netbsd*1.5*)
445                         AFS_PARAM_COMMON=param.nbsd15.h
446                         AFS_SYSNAME="alpha_nbsd15"
447                         ;;
448                 i?86-*-netbsd*1.6[[M-Z]]*)
449                         AFS_PARAM_COMMON=param.nbsd20.h
450                         AFS_SYSNAME="i386_nbsd20"
451                         ;;
452                 powerpc-*-netbsd*1.6[[M-Z]]*)
453                         AFS_PARAM_COMMON=param.nbsd20.h
454                         AFS_SYSNAME="ppc_nbsd20"
455                         ;;
456                 i?86-*-netbsd*2.0*)
457                         AFS_PARAM_COMMON=param.nbsd20.h
458                         AFS_SYSNAME="i386_nbsd20"
459                         ;;
460                 powerpc-*-netbsd*2.0*)
461                         AFS_PARAM_COMMON=param.nbsd20.h
462                         AFS_SYSNAME="ppc_nbsd20"
463                         ;;
464                 i?86-*-netbsd*1.6*)
465                         AFS_PARAM_COMMON=param.nbsd16.h
466                         AFS_SYSNAME="i386_nbsd16"
467                         ;;
468                 alpha-*-netbsd*1.6*)
469                         AFS_PARAM_COMMON=param.nbsd16.h
470                         AFS_SYSNAME="alpha_nbsd16"
471                         ;;
472                 powerpc-*-netbsd*1.6*)
473                         AFS_PARAM_COMMON=param.nbsd16.h
474                         AFS_SYSNAME="ppc_nbsd16"
475                         ;;
476                 hppa*-hp-hpux11.0*)
477                         AFS_SYSNAME="hp_ux110"
478                         ;;
479                 hppa*-hp-hpux11.11)
480                         AFS_SYSNAME="hp_ux11i"
481                         ;;
482                 ia64-hp-hpux11.22)
483                         AFS_SYSNAME="ia64_hpux1122"
484                         ;;
485                 ia64-hp-hpux*)
486                         AFS_SYSNAME="ia64_hpux1123"
487                         ;;
488                 hppa*-hp-hpux10*)
489                         AFS_SYSNAME="hp_ux102"
490                         ;;
491                 powerpc-apple-darwin1.2*)
492                         AFS_SYSNAME="ppc_darwin_12"
493                         ;;
494                 powerpc-apple-darwin1.3*)
495                         AFS_SYSNAME="ppc_darwin_13"
496                         ;;
497                 powerpc-apple-darwin1.4*)
498                         AFS_SYSNAME="ppc_darwin_14"
499                         ;;
500                 powerpc-apple-darwin5.1*)
501                         AFS_SYSNAME="ppc_darwin_14"
502                         ;;
503                 powerpc-apple-darwin5.2*)
504                         AFS_SYSNAME="ppc_darwin_14"
505                         ;;
506                 powerpc-apple-darwin5.3*)
507                         AFS_SYSNAME="ppc_darwin_14"
508                         ;;
509                 powerpc-apple-darwin5.4*)
510                         AFS_SYSNAME="ppc_darwin_14"
511                         ;;
512                 powerpc-apple-darwin5.5*)
513                         AFS_SYSNAME="ppc_darwin_14"
514                         ;;
515                 powerpc-apple-darwin6.0*)
516                         AFS_SYSNAME="ppc_darwin_60"
517                         ;;
518                 powerpc-apple-darwin6.1*)
519                         AFS_SYSNAME="ppc_darwin_60"
520                         ;;
521                 powerpc-apple-darwin6.2*)
522                         AFS_SYSNAME="ppc_darwin_60"
523                         ;;
524                 powerpc-apple-darwin6.3*)
525                         AFS_SYSNAME="ppc_darwin_60"
526                         ;;
527                 powerpc-apple-darwin6.4*)
528                         AFS_SYSNAME="ppc_darwin_60"
529                         ;;
530                 powerpc-apple-darwin6.5*)
531                         AFS_SYSNAME="ppc_darwin_60"
532                         ;;
533                 powerpc-apple-darwin7.0*)
534                         AFS_SYSNAME="ppc_darwin_70"
535                         ;;
536                 powerpc-apple-darwin7.1*)
537                         AFS_SYSNAME="ppc_darwin_70"
538                         ;;
539                 powerpc-apple-darwin7.2*)
540                         AFS_SYSNAME="ppc_darwin_70"
541                         ;;
542                 powerpc-apple-darwin7.3*)
543                         AFS_SYSNAME="ppc_darwin_70"
544                         ;;
545                 powerpc-apple-darwin7.4*)
546                         AFS_SYSNAME="ppc_darwin_70"
547                         ;;
548                 powerpc-apple-darwin7.5*)
549                         AFS_SYSNAME="ppc_darwin_70"
550                         ;;
551                 sparc-sun-solaris2.5*)
552                         AFS_SYSNAME="sun4x_55"
553                         enable_login="yes"
554                         ;;
555                 sparc-sun-solaris2.6)
556                         AFS_SYSNAME="sun4x_56"
557                         ;;
558                 sparc-sun-solaris2.7)
559                         AFS_SYSNAME="sun4x_57"
560                         ;;
561                 sparc-sun-solaris2.8)
562                         AFS_SYSNAME="sun4x_58"
563                         ;;
564                 sparc-sun-solaris2.9)
565                         AFS_SYSNAME="sun4x_59"
566                         ;;
567                 sparc-sun-solaris2.10)
568                         AFS_SYSNAME="sun4x_510"
569                         ;;
570                 sparc-sun-sunos4*)
571                         AFS_SYSNAME="sun4_413"
572                         enable_login="yes"
573                         ;;
574                 i386-pc-solaris2.7)
575                         AFS_SYSNAME="sunx86_57"
576                         ;;
577                 i386-pc-solaris2.8)
578                         AFS_SYSNAME="sunx86_58"
579                         ;;
580                 i386-pc-solaris2.9)
581                         AFS_SYSNAME="sunx86_59"
582                         ;;
583                 i386-pc-solaris2.10)
584                         AFS_SYSNAME="sunx86_510"
585                         ;;
586                 alpha*-dec-osf4.0*)
587                         AFS_SYSNAME="alpha_dux40"
588                         ;;
589                 alpha*-dec-osf5.0*)
590                         AFS_SYSNAME="alpha_dux50"
591                         ;;
592                 alpha*-dec-osf5.1*)
593                         AFS_SYSNAME="alpha_dux51"
594                         ;;
595                 mips-sgi-irix6.5)
596                         AFS_SYSNAME="sgi_65"
597                         ;;
598                 ia64-*-linux*)
599                         AFS_SYSNAME="ia64_linuxXX"
600                         ;;
601                 powerpc-*-linux*)
602                         AFS_SYSNAME="ppc_linuxXX"
603                         ;;
604                 powerpc64-*-linux*)
605                         AFS_SYSNAME="ppc64_linuxXX"
606                         ;;
607                 alpha*-linux*)
608                         AFS_SYSNAME="alpha_linux_XX"
609                         ;;
610                 s390-*-linux*)
611                         AFS_SYSNAME="s390_linuxXX"
612                         ;;
613                 s390x-*-linux*)
614                         AFS_SYSNAME="s390x_linuxXX"
615                         ;;
616                 sparc-*-linux*)
617                         AFS_SYSNAME="sparc_linuxXX"
618                         ;;
619                 sparc64-*-linux*)
620                         AFS_SYSNAME="sparc64_linuxXX"
621                         ;;
622                 i?86-*-linux*)
623                         AFS_SYSNAME="i386_linuxXX"
624                         ;;
625                 parisc-*-linux-gnu)
626                         AFS_SYSNAME="parisc_linuxXX"
627                         enable_pam="no"
628                         ;;
629                 power*-ibm-aix4.2*)
630                         AFS_SYSNAME="rs_aix42"
631                         ;;
632                 power*-ibm-aix4.3*)
633                         AFS_SYSNAME="rs_aix42"
634                         ;;
635                 power*-ibm-aix5.1*)
636                         AFS_SYSNAME="rs_aix51"
637                         ;;
638                 power*-ibm-aix5.2*)
639                         AFS_SYSNAME="rs_aix52"
640                         ;;
641                 x86_64-*-linux-gnu)
642                         AFS_SYSNAME="amd64_linuxXX"
643                         enable_pam="no"
644                         ;;
645                 *)
646                         AC_MSG_ERROR(An AFS sysname is required)
647                         exit 1
648                         ;;
649         esac
650         case $AFS_SYSNAME in
651                 *_linux*)
652                         AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $[]1 $[]2}'`
653                         if test "x${AFS_SYSKVERS}" = "x"; then
654                          AC_MSG_ERROR(Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname.)
655                         fi
656                         _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/`
657                         AFS_SYSNAME="$_AFS_SYSNAME"
658                         save_CPPFLAGS="$CPPFLAGS"
659                         CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
660                         AC_TRY_COMPILE(
661                          [#include <linux/autoconf.h>],
662                          [#ifndef CONFIG_USERMODE
663                           #error not UML
664                           #endif],
665                          ac_cv_linux_is_uml=yes,)
666                         if test "${ac_cv_linux_is_uml}" = yes; then
667                          _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/linux/umlinux/`
668                         fi
669                         CPPFLAGS="$save_CPPFLAGS"
670                         AFS_SYSNAME="$_AFS_SYSNAME"
671                         ;;
672         esac
673         AC_MSG_RESULT($AFS_SYSNAME)
674 fi
675
676 case $AFS_SYSNAME in
677         *_darwin*)
678                 DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
679                 DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
680                 dnl the test below fails on darwin, even if the CPPFLAGS below
681                 dnl are added. the headers from Kernel.Framework must be used
682                 dnl when KERNEL is defined.
683
684                 dnl really, such a thing isn't guaranteed to work on any 
685                 dnl platform until the kernel cflags from MakefileProto are
686                 dnl known to configure
687                 AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
688                 ;;
689         *)
690 AC_MSG_CHECKING(for definition of struct buf)
691 dnl save_CPPFLAGS="$CPPFLAGS"
692 dnl CPPFLAGS="$CPPFLAGS -DKERNEL -D_KERNEL -D__KERNEL -D__KERNEL__"
693 AC_CACHE_VAL(ac_cv_have_struct_buf, [
694         ac_cv_have_struct_buf=no
695         AC_TRY_COMPILE(
696                 [#include <sys/buf.h>],
697                 [struct buf x;
698                 printf("%d\n", sizeof(x));],
699                 ac_cv_have_struct_buf=yes,)
700         ]
701 )
702 dnl CPPFLAGS="$save_CPPFLAGS"
703 AC_MSG_RESULT($ac_cv_have_struct_buf)
704 if test "$ac_cv_have_struct_buf" = yes; then
705         AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
706 fi
707 ;;
708 esac
709
710
711 AC_CACHE_VAL(ac_cv_sockaddr_len,
712 [
713 AC_MSG_CHECKING([if struct sockaddr has sa_len field])
714 AC_TRY_COMPILE( [#include <sys/types.h>
715 #include <sys/socket.h>],
716 [struct sockaddr *a;
717 a->sa_len=0;], ac_cv_sockaddr_len=yes, ac_cv_sockaddr_len=no)
718 AC_MSG_RESULT($ac_cv_sockaddr_len)])
719 if test "$ac_cv_sockaddr_len" = "yes"; then
720    AC_DEFINE(STRUCT_SOCKADDR_HAS_SA_LEN, 1, [define if you struct sockaddr sa_len])
721 fi
722 if test "x${MKAFS_OSTYPE}" = "xIRIX"; then
723         echo Skipping library tests because they confuse Irix.
724 else
725   AC_CHECK_FUNCS(socket)
726
727   if test "$ac_cv_func_socket" = no; then
728     for lib in socket inet; do
729         if test "$HAVE_SOCKET" != 1; then
730                 AC_CHECK_LIB(${lib}, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET, 1, [define if you have socket]))
731         fi
732     done
733   fi
734   
735   AC_CHECK_FUNCS(connect)       
736
737   if test "$ac_cv_func_connect" = no; then
738     for lib in nsl; do
739         if test "$HAVE_CONNECT" != 1; then
740                 AC_CHECK_LIB(${lib}, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT, 1, [define if you have connect]))
741         fi
742     done
743   fi
744
745   AC_CHECK_FUNCS(gethostbyname)
746   if test "$ac_cv_func_gethostbyname" = no; then
747         for lib in dns nsl resolv; do
748           if test "$HAVE_GETHOSTBYNAME" != 1; then
749             AC_CHECK_LIB(${lib}, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [define if you have gethostbyname]))
750           fi
751         done    
752   fi    
753
754   dnl darwin wants it, aix hates it
755   AC_MSG_CHECKING(for the useability of arpa/nameser_compat.h)
756   AC_TRY_COMPILE([
757   #include <stdlib.h>
758   #include <stdio.h>
759   #include <sys/types.h>
760   #include <sys/socket.h>
761   #include <netinet/in.h>
762   #include <arpa/inet.h>
763   #include <arpa/nameser.h>
764   #include <arpa/nameser_compat.h>
765   #include <resolv.h>
766   ], [static int i; i = 0;],
767   [AC_MSG_RESULT(yes)
768    AC_DEFINE(HAVE_ARPA_NAMESER_COMPAT_H)],
769   [AC_MSG_RESULT(no)
770    ])
771
772   openafs_save_libs="$LIBS"
773   AC_MSG_CHECKING([for res_search])
774   AC_FUNC_RES_SEARCH
775
776   if test "$ac_cv_func_res_search" = no; then
777       for lib in dns nsl resolv; do
778         if test "$ac_cv_func_res_search" != yes; then
779           LIBS="-l$lib $LIBS"
780           AC_FUNC_RES_SEARCH
781           LIBS="$openafs_save_libs"
782         fi
783       done    
784       if test "$ac_cv_func_res_search" = yes; then
785         LIB_res_search="-l$lib"       
786         AC_DEFINE(HAVE_RES_SEARCH, 1, [])
787         AC_MSG_RESULT([yes, in lib$lib])
788       else
789         AC_MSG_RESULT(no)
790       fi
791   else
792     AC_DEFINE(HAVE_RES_SEARCH, 1, [])
793     AC_MSG_RESULT(yes)
794   fi
795   
796 fi
797
798 PTHREAD_LIBS=error
799 AC_CHECK_LIB(pthread, pthread_attr_init,
800              PTHREAD_LIBS="-lpthread")
801 if test "x$PTHREAD_LIBS" = xerror; then
802         AC_CHECK_LIB(pthreads, pthread_attr_init,
803                 PTHREAD_LIBS="-lpthreads")
804 fi
805 if test "x$PTHREAD_LIBS" = xerror; then
806         AC_CHECK_LIB(c_r, pthread_attr_init,
807                 PTHREAD_LIBS="-lc_r")
808 fi
809 if test "x$PTHREAD_LIBS" = xerror; then
810         AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="")
811 fi
812 if test "x$PTHREAD_LIBS" = xerror; then
813         AC_MSG_WARN(*** Unable to locate working posix thread library ***)
814 fi
815 AC_SUBST(PTHREAD_LIBS)
816
817 WITH_OBSOLETE=NO
818 if test "$enable_obsolete" = "yes"; then
819         WITH_OBSOLETE=YES
820 fi
821
822 WITH_INSECURE=NO
823 if test "$enable_insecure" = "yes"; then
824         WITH_INSECURE=YES
825 fi
826
827 if test "x$with_bsd_kernel_headers" != "x"; then
828         BSD_KERNEL_PATH="$with_bsd_kernel_headers"
829 else
830         BSD_KERNEL_PATH="/usr/src/sys"
831 fi
832
833 if test "x$with_bsd_kernel_build" != "x"; then
834         BSD_KERNEL_BUILD="$with_bsd_kernel_build"
835 else
836         case $AFS_SYSNAME in
837                 i386_fbsd_4?)
838                         BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/compile/GENERIC"
839                         ;;
840                 i386_fbsd_5?)
841                         BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/i386/compile/GENERIC"
842                         ;;
843         esac
844 fi
845
846 # Fast restart
847 if test "$enable_supergroups" = "yes"; then
848         AC_DEFINE(SUPERGROUPS, 1, [define if you want to have support for nested pts groups])
849 fi
850
851 if test "$enable_fast_restart" = "yes"; then
852         AC_DEFINE(FAST_RESTART, 1, [define if you want to have fast restart])
853 fi
854
855 if test "$enable_bitmap_later" = "yes"; then
856         AC_DEFINE(BITMAP_LATER, 1, [define if you want to salvager to check bitmasks later])
857 fi
858
859 if test "$enable_full_vos_listvol_switch" = "yes"; then
860         AC_DEFINE(FULL_LISTVOL_SWITCH, 1, [define if you want to want listvol switch])
861 fi
862
863 if test "$enable_bos_restricted_mode" = "yes"; then
864         AC_DEFINE(BOS_RESTRICTED_MODE, 1, [define if you want to want bos restricted mode])
865 fi
866
867 if test "$enable_bos_new_config" = "yes"; then
868         AC_DEFINE(BOS_NEW_CONFIG, 1, [define if you want to enable automatic renaming of BosConfig.new to BosConfig at startup])
869 fi
870
871 if test "$enable_largefile_fileserver" = "yes"; then
872         AC_DEFINE(AFS_LARGEFILE_ENV, 1, [define if you want large file fileserver])
873 fi
874
875 if test "$enable_namei_fileserver" = "yes"; then
876         AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver])
877 fi
878
879 if test "$enable_afsdb" = "yes"; then
880         LIB_AFSDB="$LIB_res_search"
881         AC_DEFINE(AFS_AFSDB_ENV, 1, [define if you want to want search afsdb rr])
882 fi
883
884 dnl check for tivoli
885 AC_MSG_CHECKING(for tivoli tsm butc support)
886 XBSA_CFLAGS=""
887 if test "$enable_tivoli_tsm" = "yes"; then
888         XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
889         XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
890
891         if test -e "$XBSADIR1/xbsa.h"; then
892                 XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
893                 AC_MSG_RESULT([yes, $XBSA_CFLAGS])
894         elif test -e "$XBSADIR2/xbsa.h"; then
895                 XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
896                 AC_MSG_RESULT([yes, $XBSA_CFLAGS])
897         else
898                 AC_MSG_RESULT([no, missing xbsa.h header file])
899         fi
900 else
901         AC_MSG_RESULT([no])
902 fi
903 AC_SUBST(XBSA_CFLAGS)
904
905 dnl checks for header files.
906 AC_HEADER_STDC
907 AC_HEADER_SYS_WAIT
908 AC_HEADER_DIRENT
909 AC_CHECK_HEADERS(stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h)
910 AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h)
911 AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h)
912 AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h)
913 AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h sys/user.h)
914 AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h ucontext.h regex.h)
915
916 if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
917         HAVE_PAM="yes"
918 else
919         HAVE_PAM="no"
920 fi
921 AC_SUBST(HAVE_PAM)
922
923 if test "$enable_login" = yes; then
924         BUILD_LOGIN="yes"
925 else
926         BUILD_LOGIN="no"
927 fi
928 AC_SUBST(BUILD_LOGIN)
929
930 AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec)
931 AC_CHECK_FUNCS(setprogname getprogname sigaction mkstemp vsnprintf strerror)
932
933 AC_CHECK_FUNCS(regcomp regexec regerror)
934 AC_MSG_CHECKING([for POSIX regex library])
935 if test "$ac_cv_header_regex_h" = "yes" && \
936         test "$ac_cv_func_regcomp" = "yes" && \
937         test "$ac_cv_func_regexec" = "yes" && \
938         test "$ac_cv_func_regerror" = "yes"; then
939     AC_DEFINE(HAVE_POSIX_REGEX, 1, [define if you have POSIX regex library])
940     AC_MSG_RESULT(yes)
941 else
942     AC_MSG_RESULT(no)
943 fi
944         
945 AC_CHECK_TYPE(ssize_t, int)
946 AC_SIZEOF_TYPE(long)
947
948 AC_CHECK_FUNCS(timegm)
949
950 dnl Directory PATH handling
951 if test "x$enable_transarc_paths" = "xyes"  ; then 
952     afsconfdir=${afsconfdir=/usr/afs/etc}
953     viceetcdir=${viceetcdir=/usr/vice/etc}
954     afskerneldir=${afskerneldir=${viceetcdir}}
955     afssrvbindir=${afssrvbindir=/usr/afs/bin}
956     afssrvsbindir=${afssrvsbindir=/usr/afs/bin}
957     afssrvlibexecdir=${afssrvlibexecdir=/usr/afs/bin}
958     afsdbdir=${afsdbdir=/usr/afs/db}
959     afslogsdir=${afslogsdir=/usr/afs/logs}
960     afslocaldir=${afslocaldir=/usr/afs/local}
961     afsbackupdir=${afsbackupdir=/usr/afs/backup}
962     afsbosconfigdir=${afsbosconfigdir=/usr/afs/local}
963 else 
964     afsconfdir=${afsconfdir='${sysconfdir}/openafs/server'}
965     viceetcdir=${viceetcdir='${sysconfdir}/openafs'}
966     afskerneldir=${afskerneldir='${libdir}/openafs'}
967     afssrvbindir=${afssrvbindir='${bindir}'}
968     afssrvsbindir=${afssrvsbindir='${sbindir}'}
969     afssrvlibexecdir=${afssrvlibexecdir='${libexecdir}/openafs'}
970     afsdbdir=${afsdbdir='${localstatedir}/openafs/db'}
971     afslogsdir=${afslogsdir='${localstatedir}/openafs/logs'}
972     afslocaldir=${afslocaldir='${localstatedir}/openafs'}
973     afsbackupdir=${afsbackupdir='${localstatedir}/openafs/backup'}
974     afsbosconfigdir=${afsbosconfigdir='${sysconfdir}/openafs'}
975 fi
976 AC_SUBST(afsconfdir)
977 AC_SUBST(viceetcdir)
978 AC_SUBST(afskerneldir)
979 AC_SUBST(afssrvbindir)
980 AC_SUBST(afssrvsbindir)
981 AC_SUBST(afssrvlibexecdir)
982 AC_SUBST(afsdbdir)
983 AC_SUBST(afslogsdir)
984 AC_SUBST(afslocaldir)
985 AC_SUBST(afsbackupdir)
986 AC_SUBST(afsbosconfigdir)
987
988 if test "x$enable_kernel_module" = "xyes"; then
989 ENABLE_KERNEL_MODULE=libafs
990 fi
991
992 AC_SUBST(AFS_SYSNAME)
993 AC_SUBST(AFS_PARAM_COMMON)
994 AC_SUBST(ENABLE_KERNEL_MODULE)
995 AC_SUBST(LIB_AFSDB)
996 AC_SUBST(LINUX_KERNEL_PATH)
997 AC_SUBST(BSD_KERNEL_PATH)
998 AC_SUBST(BSD_KERNEL_BUILD)
999 AC_SUBST(LINUX_VERSION)
1000 AC_SUBST(MKAFS_OSTYPE)
1001 AC_SUBST(TOP_OBJDIR)
1002 AC_SUBST(TOP_SRCDIR)
1003 AC_SUBST(TOP_INCDIR)
1004 AC_SUBST(TOP_LIBDIR)
1005 AC_SUBST(DEST)
1006 AC_SUBST(WITH_OBSOLETE)
1007 AC_SUBST(WITH_INSECURE)
1008 AC_SUBST(DARWIN_INFOFILE)
1009 AC_SUBST(IRIX_BUILD_IP35)
1010
1011 OPENAFS_OSCONF
1012
1013 TOP_SRCDIR="${srcdir}/src"
1014 dnl
1015 dnl If we're using ./configure, need a more reasonable TOP_SRCDIR, since relative links don't work everywhere
1016 dnl
1017 case $TOP_SRCDIR in
1018         /*)
1019                 ;;
1020         *)
1021                 TOP_SRCDIR=`cd $TOP_SRCDIR; pwd`
1022                 ;;
1023 esac
1024
1025 TOP_OBJDIR="${SRCDIR_PARENT}"
1026 TOP_INCDIR="${SRCDIR_PARENT}/include"
1027 TOP_LIBDIR="${SRCDIR_PARENT}/lib"
1028 if test "${DEST}x" = "x"; then
1029         DEST="${SRCDIR_PARENT}/${AFS_SYSNAME}/dest"
1030 fi
1031
1032 HELPER_SPLINT="${TOP_SRCDIR}/helper-splint.sh"
1033 HELPER_SPLINTCFG="${TOP_SRCDIR}/splint.cfg"
1034 AC_SUBST(HELPER_SPLINT)
1035 AC_SUBST(HELPER_SPLINTCFG)
1036
1037
1038 ])