readme-nt-20041101
[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-*-freebsd4.2*)
408                         AFS_SYSNAME="i386_fbsd_42"
409                         ;;
410                 i?86-*-freebsd4.3*)
411                         AFS_SYSNAME="i386_fbsd_43"
412                         ;;
413                 i?86-*-freebsd4.4*)
414                         AFS_SYSNAME="i386_fbsd_44"
415                         ;;
416                 i?86-*-freebsd4.5*)
417                         AFS_SYSNAME="i386_fbsd_45"
418                         ;;
419                 i?86-*-freebsd4.6*)
420                         AFS_SYSNAME="i386_fbsd_46"
421                         ;;
422                 i?86-*-freebsd4.7*)
423                         AFS_SYSNAME="i386_fbsd_47"
424                         ;;
425                 i?86-*-freebsd5.0*)
426                         AFS_SYSNAME="i386_fbsd_50"
427                         ;;
428                 i?86-*-freebsd5.1*)
429                         AFS_SYSNAME="i386_fbsd_51"
430                         ;;
431                 i?86-*-freebsd5.2*)
432                         AFS_SYSNAME="i386_fbsd_52"
433                         ;;
434                 i?86-*-freebsd5.3*)
435                         AFS_SYSNAME="i386_fbsd_53"
436                         ;;
437                 i?86-*-netbsd*1.5*)
438                         AFS_PARAM_COMMON=param.nbsd15.h
439                         AFS_SYSNAME="i386_nbsd15"
440                         ;;
441                 alpha-*-netbsd*1.5*)
442                         AFS_PARAM_COMMON=param.nbsd15.h
443                         AFS_SYSNAME="alpha_nbsd15"
444                         ;;
445                 i?86-*-netbsd*1.6[[M-Z]]*)
446                         AFS_PARAM_COMMON=param.nbsd20.h
447                         AFS_SYSNAME="i386_nbsd20"
448                         ;;
449                 powerpc-*-netbsd*1.6[[M-Z]]*)
450                         AFS_PARAM_COMMON=param.nbsd20.h
451                         AFS_SYSNAME="ppc_nbsd20"
452                         ;;
453                 i?86-*-netbsd*2.0*)
454                         AFS_PARAM_COMMON=param.nbsd20.h
455                         AFS_SYSNAME="i386_nbsd20"
456                         ;;
457                 powerpc-*-netbsd*2.0*)
458                         AFS_PARAM_COMMON=param.nbsd20.h
459                         AFS_SYSNAME="ppc_nbsd20"
460                         ;;
461                 i?86-*-netbsd*1.6*)
462                         AFS_PARAM_COMMON=param.nbsd16.h
463                         AFS_SYSNAME="i386_nbsd16"
464                         ;;
465                 alpha-*-netbsd*1.6*)
466                         AFS_PARAM_COMMON=param.nbsd16.h
467                         AFS_SYSNAME="alpha_nbsd16"
468                         ;;
469                 powerpc-*-netbsd*1.6*)
470                         AFS_PARAM_COMMON=param.nbsd16.h
471                         AFS_SYSNAME="ppc_nbsd16"
472                         ;;
473                 hppa*-hp-hpux11.0*)
474                         AFS_SYSNAME="hp_ux110"
475                         ;;
476                 hppa*-hp-hpux11.11)
477                         AFS_SYSNAME="hp_ux11i"
478                         ;;
479                 ia64-hp-hpux11.22)
480                         AFS_SYSNAME="ia64_hpux1122"
481                         ;;
482                 ia64-hp-hpux*)
483                         AFS_SYSNAME="ia64_hpux1123"
484                         ;;
485                 hppa*-hp-hpux10*)
486                         AFS_SYSNAME="hp_ux102"
487                         ;;
488                 powerpc-apple-darwin1.2*)
489                         AFS_SYSNAME="ppc_darwin_12"
490                         ;;
491                 powerpc-apple-darwin1.3*)
492                         AFS_SYSNAME="ppc_darwin_13"
493                         ;;
494                 powerpc-apple-darwin1.4*)
495                         AFS_SYSNAME="ppc_darwin_14"
496                         ;;
497                 powerpc-apple-darwin5.1*)
498                         AFS_SYSNAME="ppc_darwin_14"
499                         ;;
500                 powerpc-apple-darwin5.2*)
501                         AFS_SYSNAME="ppc_darwin_14"
502                         ;;
503                 powerpc-apple-darwin5.3*)
504                         AFS_SYSNAME="ppc_darwin_14"
505                         ;;
506                 powerpc-apple-darwin5.4*)
507                         AFS_SYSNAME="ppc_darwin_14"
508                         ;;
509                 powerpc-apple-darwin5.5*)
510                         AFS_SYSNAME="ppc_darwin_14"
511                         ;;
512                 powerpc-apple-darwin6.0*)
513                         AFS_SYSNAME="ppc_darwin_60"
514                         ;;
515                 powerpc-apple-darwin6.1*)
516                         AFS_SYSNAME="ppc_darwin_60"
517                         ;;
518                 powerpc-apple-darwin6.2*)
519                         AFS_SYSNAME="ppc_darwin_60"
520                         ;;
521                 powerpc-apple-darwin6.3*)
522                         AFS_SYSNAME="ppc_darwin_60"
523                         ;;
524                 powerpc-apple-darwin6.4*)
525                         AFS_SYSNAME="ppc_darwin_60"
526                         ;;
527                 powerpc-apple-darwin6.5*)
528                         AFS_SYSNAME="ppc_darwin_60"
529                         ;;
530                 powerpc-apple-darwin7.0*)
531                         AFS_SYSNAME="ppc_darwin_70"
532                         ;;
533                 powerpc-apple-darwin7.1*)
534                         AFS_SYSNAME="ppc_darwin_70"
535                         ;;
536                 powerpc-apple-darwin7.2*)
537                         AFS_SYSNAME="ppc_darwin_70"
538                         ;;
539                 powerpc-apple-darwin7.3*)
540                         AFS_SYSNAME="ppc_darwin_70"
541                         ;;
542                 powerpc-apple-darwin7.4*)
543                         AFS_SYSNAME="ppc_darwin_70"
544                         ;;
545                 powerpc-apple-darwin7.5*)
546                         AFS_SYSNAME="ppc_darwin_70"
547                         ;;
548                 sparc-sun-solaris2.5*)
549                         AFS_SYSNAME="sun4x_55"
550                         enable_login="yes"
551                         ;;
552                 sparc-sun-solaris2.6)
553                         AFS_SYSNAME="sun4x_56"
554                         ;;
555                 sparc-sun-solaris2.7)
556                         AFS_SYSNAME="sun4x_57"
557                         ;;
558                 sparc-sun-solaris2.8)
559                         AFS_SYSNAME="sun4x_58"
560                         ;;
561                 sparc-sun-solaris2.9)
562                         AFS_SYSNAME="sun4x_59"
563                         ;;
564                 sparc-sun-solaris2.10)
565                         AFS_SYSNAME="sun4x_510"
566                         ;;
567                 sparc-sun-sunos4*)
568                         AFS_SYSNAME="sun4_413"
569                         enable_login="yes"
570                         ;;
571                 i386-pc-solaris2.7)
572                         AFS_SYSNAME="sunx86_57"
573                         ;;
574                 i386-pc-solaris2.8)
575                         AFS_SYSNAME="sunx86_58"
576                         ;;
577                 i386-pc-solaris2.9)
578                         AFS_SYSNAME="sunx86_59"
579                         ;;
580                 i386-pc-solaris2.10)
581                         AFS_SYSNAME="sunx86_510"
582                         ;;
583                 alpha*-dec-osf4.0*)
584                         AFS_SYSNAME="alpha_dux40"
585                         ;;
586                 alpha*-dec-osf5.0*)
587                         AFS_SYSNAME="alpha_dux50"
588                         ;;
589                 alpha*-dec-osf5.1*)
590                         AFS_SYSNAME="alpha_dux51"
591                         ;;
592                 mips-sgi-irix6.5)
593                         AFS_SYSNAME="sgi_65"
594                         ;;
595                 ia64-*-linux*)
596                         AFS_SYSNAME="ia64_linuxXX"
597                         ;;
598                 powerpc-*-linux*)
599                         AFS_SYSNAME="ppc_linuxXX"
600                         ;;
601                 powerpc64-*-linux*)
602                         AFS_SYSNAME="ppc64_linuxXX"
603                         ;;
604                 alpha*-linux*)
605                         AFS_SYSNAME="alpha_linux_XX"
606                         ;;
607                 s390-*-linux*)
608                         AFS_SYSNAME="s390_linuxXX"
609                         ;;
610                 s390x-*-linux*)
611                         AFS_SYSNAME="s390x_linuxXX"
612                         ;;
613                 sparc-*-linux*)
614                         AFS_SYSNAME="sparc_linuxXX"
615                         ;;
616                 sparc64-*-linux*)
617                         AFS_SYSNAME="sparc64_linuxXX"
618                         ;;
619                 i?86-*-linux*)
620                         AFS_SYSNAME="i386_linuxXX"
621                         ;;
622                 parisc-*-linux-gnu)
623                         AFS_SYSNAME="parisc_linuxXX"
624                         enable_pam="no"
625                         ;;
626                 power*-ibm-aix4.2*)
627                         AFS_SYSNAME="rs_aix42"
628                         ;;
629                 power*-ibm-aix4.3*)
630                         AFS_SYSNAME="rs_aix42"
631                         ;;
632                 power*-ibm-aix5.1*)
633                         AFS_SYSNAME="rs_aix51"
634                         ;;
635                 power*-ibm-aix5.2*)
636                         AFS_SYSNAME="rs_aix52"
637                         ;;
638                 x86_64-*-linux-gnu)
639                         AFS_SYSNAME="amd64_linuxXX"
640                         enable_pam="no"
641                         ;;
642                 *)
643                         AC_MSG_ERROR(An AFS sysname is required)
644                         exit 1
645                         ;;
646         esac
647         case $AFS_SYSNAME in
648                 *_linux*)
649                         AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $[]1 $[]2}'`
650                         if test "x${AFS_SYSKVERS}" = "x"; then
651                          AC_MSG_ERROR(Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname.)
652                         fi
653                         _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/`
654                         AFS_SYSNAME="$_AFS_SYSNAME"
655                         save_CPPFLAGS="$CPPFLAGS"
656                         CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
657                         AC_TRY_COMPILE(
658                          [#include <linux/autoconf.h>],
659                          [#ifndef CONFIG_USERMODE
660                           #error not UML
661                           #endif],
662                          ac_cv_linux_is_uml=yes,)
663                         if test "${ac_cv_linux_is_uml}" = yes; then
664                          _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/linux/umlinux/`
665                         fi
666                         CPPFLAGS="$save_CPPFLAGS"
667                         AFS_SYSNAME="$_AFS_SYSNAME"
668                         ;;
669         esac
670         AC_MSG_RESULT($AFS_SYSNAME)
671 fi
672
673 case $AFS_SYSNAME in
674         *_darwin*)
675                 DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
676                 DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
677                 dnl the test below fails on darwin, even if the CPPFLAGS below
678                 dnl are added. the headers from Kernel.Framework must be used
679                 dnl when KERNEL is defined.
680
681                 dnl really, such a thing isn't guaranteed to work on any 
682                 dnl platform until the kernel cflags from MakefileProto are
683                 dnl known to configure
684                 AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
685                 ;;
686         *)
687 AC_MSG_CHECKING(for definition of struct buf)
688 dnl save_CPPFLAGS="$CPPFLAGS"
689 dnl CPPFLAGS="$CPPFLAGS -DKERNEL -D_KERNEL -D__KERNEL -D__KERNEL__"
690 AC_CACHE_VAL(ac_cv_have_struct_buf, [
691         ac_cv_have_struct_buf=no
692         AC_TRY_COMPILE(
693                 [#include <sys/buf.h>],
694                 [struct buf x;
695                 printf("%d\n", sizeof(x));],
696                 ac_cv_have_struct_buf=yes,)
697         ]
698 )
699 dnl CPPFLAGS="$save_CPPFLAGS"
700 AC_MSG_RESULT($ac_cv_have_struct_buf)
701 if test "$ac_cv_have_struct_buf" = yes; then
702         AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
703 fi
704 ;;
705 esac
706
707
708 AC_CACHE_VAL(ac_cv_sockaddr_len,
709 [
710 AC_MSG_CHECKING([if struct sockaddr has sa_len field])
711 AC_TRY_COMPILE( [#include <sys/types.h>
712 #include <sys/socket.h>],
713 [struct sockaddr *a;
714 a->sa_len=0;], ac_cv_sockaddr_len=yes, ac_cv_sockaddr_len=no)
715 AC_MSG_RESULT($ac_cv_sockaddr_len)])
716 if test "$ac_cv_sockaddr_len" = "yes"; then
717    AC_DEFINE(STRUCT_SOCKADDR_HAS_SA_LEN, 1, [define if you struct sockaddr sa_len])
718 fi
719 if test "x${MKAFS_OSTYPE}" = "xIRIX"; then
720         echo Skipping library tests because they confuse Irix.
721 else
722   AC_CHECK_FUNCS(socket)
723
724   if test "$ac_cv_func_socket" = no; then
725     for lib in socket inet; do
726         if test "$HAVE_SOCKET" != 1; then
727                 AC_CHECK_LIB(${lib}, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET, 1, [define if you have socket]))
728         fi
729     done
730   fi
731   
732   AC_CHECK_FUNCS(connect)       
733
734   if test "$ac_cv_func_connect" = no; then
735     for lib in nsl; do
736         if test "$HAVE_CONNECT" != 1; then
737                 AC_CHECK_LIB(${lib}, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT, 1, [define if you have connect]))
738         fi
739     done
740   fi
741
742   AC_CHECK_FUNCS(gethostbyname)
743   if test "$ac_cv_func_gethostbyname" = no; then
744         for lib in dns nsl resolv; do
745           if test "$HAVE_GETHOSTBYNAME" != 1; then
746             AC_CHECK_LIB(${lib}, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [define if you have gethostbyname]))
747           fi
748         done    
749   fi    
750
751   dnl darwin wants it, aix hates it
752   AC_MSG_CHECKING(for the useability of arpa/nameser_compat.h)
753   AC_TRY_COMPILE([
754   #include <stdlib.h>
755   #include <stdio.h>
756   #include <sys/types.h>
757   #include <sys/socket.h>
758   #include <netinet/in.h>
759   #include <arpa/inet.h>
760   #include <arpa/nameser.h>
761   #include <arpa/nameser_compat.h>
762   #include <resolv.h>
763   ], [static int i; i = 0;],
764   [AC_MSG_RESULT(yes)
765    AC_DEFINE(HAVE_ARPA_NAMESER_COMPAT_H)],
766   [AC_MSG_RESULT(no)
767    ])
768
769   openafs_save_libs="$LIBS"
770   AC_MSG_CHECKING([for res_search])
771   AC_FUNC_RES_SEARCH
772
773   if test "$ac_cv_func_res_search" = no; then
774       for lib in dns nsl resolv; do
775         if test "$ac_cv_func_res_search" != yes; then
776           LIBS="-l$lib $LIBS"
777           AC_FUNC_RES_SEARCH
778           LIBS="$openafs_save_libs"
779         fi
780       done    
781       if test "$ac_cv_func_res_search" = yes; then
782         LIB_res_search="-l$lib"       
783         AC_DEFINE(HAVE_RES_SEARCH, 1, [])
784         AC_MSG_RESULT([yes, in lib$lib])
785       else
786         AC_MSG_RESULT(no)
787       fi
788   else
789     AC_DEFINE(HAVE_RES_SEARCH, 1, [])
790     AC_MSG_RESULT(yes)
791   fi
792   
793 fi
794
795 PTHREAD_LIBS=error
796 AC_CHECK_LIB(pthread, pthread_attr_init,
797              PTHREAD_LIBS="-lpthread")
798 if test "x$PTHREAD_LIBS" = xerror; then
799         AC_CHECK_LIB(pthreads, pthread_attr_init,
800                 PTHREAD_LIBS="-lpthreads")
801 fi
802 if test "x$PTHREAD_LIBS" = xerror; then
803         AC_CHECK_LIB(c_r, pthread_attr_init,
804                 PTHREAD_LIBS="-lc_r")
805 fi
806 if test "x$PTHREAD_LIBS" = xerror; then
807         AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="")
808 fi
809 if test "x$PTHREAD_LIBS" = xerror; then
810         AC_MSG_WARN(*** Unable to locate working posix thread library ***)
811 fi
812 AC_SUBST(PTHREAD_LIBS)
813
814 WITH_OBSOLETE=NO
815 if test "$enable_obsolete" = "yes"; then
816         WITH_OBSOLETE=YES
817 fi
818
819 WITH_INSECURE=NO
820 if test "$enable_insecure" = "yes"; then
821         WITH_INSECURE=YES
822 fi
823
824 if test "x$with_bsd_kernel_headers" != "x"; then
825         BSD_KERNEL_PATH="$with_bsd_kernel_headers"
826 else
827         BSD_KERNEL_PATH="/usr/src/sys"
828 fi
829
830 if test "x$with_bsd_kernel_build" != "x"; then
831         BSD_KERNEL_BUILD="$with_bsd_kernel_build"
832 else
833         case $AFS_SYSNAME in
834                 i386_fbsd_4?)
835                         BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/compile/GENERIC"
836                         ;;
837                 i386_fbsd_5?)
838                         BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/i386/compile/GENERIC"
839                         ;;
840         esac
841 fi
842
843 # Fast restart
844 if test "$enable_supergroups" = "yes"; then
845         AC_DEFINE(SUPERGROUPS, 1, [define if you want to have support for nested pts groups])
846 fi
847
848 if test "$enable_fast_restart" = "yes"; then
849         AC_DEFINE(FAST_RESTART, 1, [define if you want to have fast restart])
850 fi
851
852 if test "$enable_bitmap_later" = "yes"; then
853         AC_DEFINE(BITMAP_LATER, 1, [define if you want to salvager to check bitmasks later])
854 fi
855
856 if test "$enable_full_vos_listvol_switch" = "yes"; then
857         AC_DEFINE(FULL_LISTVOL_SWITCH, 1, [define if you want to want listvol switch])
858 fi
859
860 if test "$enable_bos_restricted_mode" = "yes"; then
861         AC_DEFINE(BOS_RESTRICTED_MODE, 1, [define if you want to want bos restricted mode])
862 fi
863
864 if test "$enable_bos_new_config" = "yes"; then
865         AC_DEFINE(BOS_NEW_CONFIG, 1, [define if you want to enable automatic renaming of BosConfig.new to BosConfig at startup])
866 fi
867
868 if test "$enable_largefile_fileserver" = "yes"; then
869         AC_DEFINE(AFS_LARGEFILE_ENV, 1, [define if you want large file fileserver])
870 fi
871
872 if test "$enable_namei_fileserver" = "yes"; then
873         AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver])
874 fi
875
876 if test "$enable_afsdb" = "yes"; then
877         LIB_AFSDB="$LIB_res_search"
878         AC_DEFINE(AFS_AFSDB_ENV, 1, [define if you want to want search afsdb rr])
879 fi
880
881 dnl check for tivoli
882 AC_MSG_CHECKING(for tivoli tsm butc support)
883 XBSA_CFLAGS=""
884 if test "$enable_tivoli_tsm" = "yes"; then
885         XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
886         XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
887
888         if test -e "$XBSADIR1/xbsa.h"; then
889                 XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
890                 AC_MSG_RESULT([yes, $XBSA_CFLAGS])
891         elif test -e "$XBSADIR2/xbsa.h"; then
892                 XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
893                 AC_MSG_RESULT([yes, $XBSA_CFLAGS])
894         else
895                 AC_MSG_RESULT([no, missing xbsa.h header file])
896         fi
897 else
898         AC_MSG_RESULT([no])
899 fi
900 AC_SUBST(XBSA_CFLAGS)
901
902 dnl checks for header files.
903 AC_HEADER_STDC
904 AC_HEADER_SYS_WAIT
905 AC_HEADER_DIRENT
906 AC_CHECK_HEADERS(stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h)
907 AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h)
908 AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h)
909 AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h)
910 AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h sys/user.h)
911 AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h ucontext.h regex.h)
912
913 if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
914         HAVE_PAM="yes"
915 else
916         HAVE_PAM="no"
917 fi
918 AC_SUBST(HAVE_PAM)
919
920 if test "$enable_login" = yes; then
921         BUILD_LOGIN="yes"
922 else
923         BUILD_LOGIN="no"
924 fi
925 AC_SUBST(BUILD_LOGIN)
926
927 AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec)
928 AC_CHECK_FUNCS(setprogname getprogname sigaction mkstemp vsnprintf strerror)
929
930 AC_CHECK_FUNCS(regcomp regexec regerror)
931 AC_MSG_CHECKING([for POSIX regex library])
932 if test "$ac_cv_header_regex_h" = "yes" && \
933         test "$ac_cv_func_regcomp" = "yes" && \
934         test "$ac_cv_func_regexec" = "yes" && \
935         test "$ac_cv_func_regerror" = "yes"; then
936     AC_DEFINE(HAVE_POSIX_REGEX, 1, [define if you have POSIX regex library])
937     AC_MSG_RESULT(yes)
938 else
939     AC_MSG_RESULT(no)
940 fi
941         
942 AC_CHECK_TYPE(ssize_t, int)
943 AC_SIZEOF_TYPE(long)
944
945 AC_CHECK_FUNCS(timegm)
946
947 dnl Directory PATH handling
948 if test "x$enable_transarc_paths" = "xyes"  ; then 
949     afsconfdir=${afsconfdir=/usr/afs/etc}
950     viceetcdir=${viceetcdir=/usr/vice/etc}
951     afskerneldir=${afskerneldir=${viceetcdir}}
952     afssrvbindir=${afssrvbindir=/usr/afs/bin}
953     afssrvsbindir=${afssrvsbindir=/usr/afs/bin}
954     afssrvlibexecdir=${afssrvlibexecdir=/usr/afs/bin}
955     afsdbdir=${afsdbdir=/usr/afs/db}
956     afslogsdir=${afslogsdir=/usr/afs/logs}
957     afslocaldir=${afslocaldir=/usr/afs/local}
958     afsbackupdir=${afsbackupdir=/usr/afs/backup}
959     afsbosconfigdir=${afsbosconfigdir=/usr/afs/local}
960 else 
961     afsconfdir=${afsconfdir='${sysconfdir}/openafs/server'}
962     viceetcdir=${viceetcdir='${sysconfdir}/openafs'}
963     afskerneldir=${afskerneldir='${libdir}/openafs'}
964     afssrvbindir=${afssrvbindir='${bindir}'}
965     afssrvsbindir=${afssrvsbindir='${sbindir}'}
966     afssrvlibexecdir=${afssrvlibexecdir='${libexecdir}/openafs'}
967     afsdbdir=${afsdbdir='${localstatedir}/openafs/db'}
968     afslogsdir=${afslogsdir='${localstatedir}/openafs/logs'}
969     afslocaldir=${afslocaldir='${localstatedir}/openafs'}
970     afsbackupdir=${afsbackupdir='${localstatedir}/openafs/backup'}
971     afsbosconfigdir=${afsbosconfigdir='${sysconfdir}/openafs'}
972 fi
973 AC_SUBST(afsconfdir)
974 AC_SUBST(viceetcdir)
975 AC_SUBST(afskerneldir)
976 AC_SUBST(afssrvbindir)
977 AC_SUBST(afssrvsbindir)
978 AC_SUBST(afssrvlibexecdir)
979 AC_SUBST(afsdbdir)
980 AC_SUBST(afslogsdir)
981 AC_SUBST(afslocaldir)
982 AC_SUBST(afsbackupdir)
983 AC_SUBST(afsbosconfigdir)
984
985 if test "x$enable_kernel_module" = "xyes"; then
986 ENABLE_KERNEL_MODULE=libafs
987 fi
988
989 AC_SUBST(AFS_SYSNAME)
990 AC_SUBST(AFS_PARAM_COMMON)
991 AC_SUBST(ENABLE_KERNEL_MODULE)
992 AC_SUBST(LIB_AFSDB)
993 AC_SUBST(LINUX_KERNEL_PATH)
994 AC_SUBST(BSD_KERNEL_PATH)
995 AC_SUBST(BSD_KERNEL_BUILD)
996 AC_SUBST(LINUX_VERSION)
997 AC_SUBST(MKAFS_OSTYPE)
998 AC_SUBST(TOP_OBJDIR)
999 AC_SUBST(TOP_SRCDIR)
1000 AC_SUBST(TOP_INCDIR)
1001 AC_SUBST(TOP_LIBDIR)
1002 AC_SUBST(DEST)
1003 AC_SUBST(WITH_OBSOLETE)
1004 AC_SUBST(WITH_INSECURE)
1005 AC_SUBST(DARWIN_INFOFILE)
1006 AC_SUBST(IRIX_BUILD_IP35)
1007
1008 OPENAFS_OSCONF
1009
1010 TOP_SRCDIR="${srcdir}/src"
1011 dnl
1012 dnl If we're using ./configure, need a more reasonable TOP_SRCDIR, since relative links don't work everywhere
1013 dnl
1014 case $TOP_SRCDIR in
1015         /*)
1016                 ;;
1017         *)
1018                 TOP_SRCDIR=`cd $TOP_SRCDIR; pwd`
1019                 ;;
1020 esac
1021
1022 TOP_OBJDIR="${SRCDIR_PARENT}"
1023 TOP_INCDIR="${SRCDIR_PARENT}/include"
1024 TOP_LIBDIR="${SRCDIR_PARENT}/lib"
1025 if test "${DEST}x" = "x"; then
1026         DEST="${SRCDIR_PARENT}/${AFS_SYSNAME}/dest"
1027 fi
1028
1029 HELPER_SPLINT="${TOP_SRCDIR}/helper-splint.sh"
1030 HELPER_SPLINTCFG="${TOP_SRCDIR}/splint.cfg"
1031 AC_SUBST(HELPER_SPLINT)
1032 AC_SUBST(HELPER_SPLINTCFG)
1033
1034
1035 ])