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