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