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