DEVEL15-sysctl-table-checking-modpost-fun-fun-20080127
[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 and package)],, enable_obsolete="no")
18 AC_ARG_ENABLE( afsdb,
19 [  --disable-afsdb                      disable AFSDB DNS RR support],, enable_afsdb="yes")
20 AC_ARG_ENABLE( pam,
21 [  --disable-pam                        disable PAM support],, enable_pam="yes")
22 AC_ARG_ENABLE( bos-restricted-mode,
23 [  --enable-bos-restricted-mode         enable bosserver restricted mode which disables certain bosserver functionality],, enable_bos_restricted_mode="no")
24 AC_ARG_ENABLE( bos-new-config,
25 [  --enable-bos-new-config              enable bosserver pickup of BosConfig.new on restarts],, enable_bos_new_config="no")
26 AC_ARG_ENABLE( largefile-fileserver,
27 [  --disable-largefile-fileserver       disable large file support in fileserver],, enable_largefile_fileserver="yes")
28 AC_ARG_ENABLE( namei-fileserver,
29 [  --enable-namei-fileserver            force compilation of namei fileserver in preference to inode fileserver],, enable_namei_fileserver="no")
30 AC_ARG_ENABLE( supergroups,
31 [  --enable-supergroups                 enable support for nested pts groups],, enable_supergroups="no")
32 AC_ARG_ENABLE( fast-restart,
33 [  --enable-fast-restart                enable fast startup of file server without salvaging],, enable_fast_restart="no")
34 AC_ARG_ENABLE( bitmap-later,
35 [  --enable-bitmap-later                enable fast startup of file server by not reading bitmap till needed],, enable_bitmap_later="no")
36 AC_ARG_ENABLE( demand-attach-fs,
37 [  --enable-demand-attach-fs            enable Demand Attach Fileserver (please see documentation)],, enable_demand_attach_fs="no")
38 AC_ARG_ENABLE( unix-sockets,
39 [  --enable-unix-sockets                enable use of unix domain sockets for fssync],, enable_unix_sockets="yes")
40 AC_ARG_ENABLE( full-vos-listvol-switch,
41 [  --disable-full-vos-listvol-switch    disable vos full listvol switch for formatted output],, enable_full_vos_listvol_switch="yes")
42 AC_ARG_WITH(dux-kernel-headers,
43 [  --with-dux-kernel-headers=path       use the kernel headers found at path(optional, defaults to first match in /usr/sys)]
44 )
45 AC_ARG_WITH(linux-kernel-headers,
46 [  --with-linux-kernel-headers=path     use the kernel headers found at path(optional, defaults to /usr/src/linux-2.4, then /usr/src/linux)]
47 )
48 AC_ARG_WITH(bsd-kernel-headers,
49 [  --with-bsd-kernel-headers=path       use the kernel headers found at path(optional, defaults to /usr/src/sys)]
50 )
51 AC_ARG_WITH(bsd-kernel-build,
52 [  --with-bsd-kernel-build=path         use the kernel build found at path(optional, defaults to KSRC/i386/compile/GENERIC)]
53 )
54 AC_ARG_ENABLE(kernel-module,
55 [  --disable-kernel-module              disable compilation of the kernel module (defaults to enabled)],, enable_kernel_module="yes"
56 )
57 AC_ARG_ENABLE(redhat-buildsys,
58 [  --enable-redhat-buildsys             enable compilation of the redhat build system kernel (defaults to disabled)],, enable_redhat_buildsys="no"
59 )
60 AC_ARG_ENABLE(transarc-paths,
61 [  --enable-transarc-paths                      Use Transarc style paths like /usr/afs and /usr/vice],, enable_transarc_paths="no"
62 )
63 AC_ARG_ENABLE(tivoli-tsm,
64 [  --enable-tivoli-tsm                  Enable use of the Tivoli TSM API libraries for butc support],, enable_tivoli_tsm="no"
65 )
66 AC_ARG_ENABLE(debug-kernel,
67 [  --enable-debug-kernel                enable compilation of the kernel module with debugging information (defaults to disabled)],, enable_debug_kernel="no"
68 )
69 AC_ARG_ENABLE(optimize-kernel,
70 [  --disable-optimize-kernel            disable compilation of the kernel module with optimization (defaults based on platform)],, enable_optimize_kernel="yes"
71 )
72 AC_ARG_ENABLE(debug,
73 [  --enable-debug                       enable compilation of the user space code with debugging information (defaults to disabled)],, enable_debug="no"
74 )
75 AC_ARG_ENABLE(strip-binaries,
76 [  --disable-strip-binaries             disable stripping of symbol information from binaries (defaults to enabled)],, enable_strip_binaries="maybe"
77 )
78 AC_ARG_ENABLE(optimize,
79 [  --disable-optimize                   disable optimization for compilation of the user space code (defaults to enabled)],, enable_optimize="yes"
80 )
81 AC_ARG_ENABLE(debug-lwp,
82 [  --enable-debug-lwp                   enable compilation of the LWP code with debugging information (defaults to disabled)],, enable_debug_lwp="no"
83 )
84 AC_ARG_ENABLE(optimize-lwp,
85 [  --disable-optimize-lwp               disable optimization for compilation of the LWP code (defaults to enabled)],, enable_optimize_lwp="yes"
86 )
87 AC_ARG_ENABLE(debug-pam,
88 [  --enable-debug-pam                   enable compilation of the PAM code with debugging information (defaults to disabled)],, enable_debug_pam="no"
89 )
90 AC_ARG_ENABLE(optimize-pam,
91 [  --disable-optimize-pam               disable optimization for compilation of the PAM code (defaults to enabled)],, enable_optimize_pam="yes"
92 )
93
94
95 enable_login="no"
96
97 dnl weird ass systems
98 AC_AIX
99 AC_ISC_POSIX
100 AC_MINIX
101
102 dnl Various compiler setup.
103 AC_TYPE_PID_T
104 AC_TYPE_SIZE_T
105 AC_TYPE_SIGNAL
106 COMPILER_HAS_FUNCTION_MACRO
107
108 dnl Checks for programs.
109 AC_PROG_INSTALL
110 AC_PROG_LN_S
111 AC_PROG_RANLIB
112 AC_PROG_YACC
113 AM_PROG_LEX
114
115 OPENAFS_CHECK_BIGENDIAN
116
117 AC_MSG_CHECKING(your OS)
118 system=$host
119 case $system in
120         *-linux*)
121
122                 MKAFS_OSTYPE=LINUX
123                 if test "x$enable_redhat_buildsys" = "xyes"; then
124                  AC_DEFINE(ENABLE_REDHAT_BUILDSYS, 1, [define if you have redhat buildsystem])
125                 fi
126                 if test "x$enable_kernel_module" = "xyes"; then
127                  if test "x$with_linux_kernel_headers" != "x"; then
128                    LINUX_KERNEL_PATH="$with_linux_kernel_headers"
129                  else
130                    LINUX_KERNEL_PATH="/lib/modules/`uname -r`/source"
131                    if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
132                      LINUX_KERNEL_PATH="/lib/modules/`uname -r`/build"
133                    fi
134                    if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
135                      LINUX_KERNEL_PATH="/usr/src/linux-2.4"
136                    fi
137                    if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
138                      LINUX_KERNEL_PATH="/usr/src/linux"
139                    fi
140                  fi
141                if test -f "$LINUX_KERNEL_PATH/include/linux/utsrelease.h"; then
142                  linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/utsrelease.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
143                  LINUX_VERSION="$linux_kvers"
144                else
145                  if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
146                   linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
147                   if test "x$linux_kvers" = "x"; then
148                     if test -f "$LINUX_KERNEL_PATH/include/linux/version-up.h"; then
149                       linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
150                       if test "x$linux_kvers" = "x"; then
151
152                         AC_MSG_ERROR(Linux headers lack version definition [2])
153                         exit 1
154                       else
155                         LINUX_VERSION="$linux_kvers"
156                       fi
157                     else
158                       AC_MSG_ERROR(Linux headers lack version definition)
159                       exit 1
160                     fi
161                   else
162                     LINUX_VERSION="$linux_kvers"
163                   fi
164                  else
165                     enable_kernel_module="no"
166                  fi
167                fi
168                  if test ! -f "$LINUX_KERNEL_PATH/include/linux/autoconf.h"; then
169                      enable_kernel_module="no"
170                  fi
171                  if test "x$enable_kernel_module" = "xno"; then
172                   if test "x$with_linux_kernel_headers" != "x"; then
173                    AC_MSG_ERROR(No usable linux headers found at $LINUX_KERNEL_PATH)
174                    exit 1
175                   else
176                    AC_MSG_WARN(No usable linux headers found at $LINUX_KERNEL_PATH so disabling kernel module)
177                   fi
178                  fi
179                  dnl do we need to determine SUBARCH from autoconf.h
180                  SUBARCH=default
181                 fi
182                 AC_MSG_RESULT(linux)
183                 if test "x$enable_kernel_module" = "xyes"; then
184                  AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $[]1 $[]2}'`
185                  if test "x${AFS_SYSKVERS}" = "x"; then
186                   AC_MSG_ERROR(Couldn't guess your Linux version [2])
187                  fi
188                 fi
189                 ;;
190         *-solaris*)
191                 MKAFS_OSTYPE=SOLARIS
192                 AC_MSG_RESULT(sun4)
193                 SOLARIS_UFSVFS_HAS_DQRWLOCK
194                 SOLARIS_PROC_HAS_P_COREFILE
195                 SOLARIS_FS_HAS_FS_ROLLED
196                 ;;
197         *-sunos*)
198                 MKAFS_OSTYPE=SUNOS
199                 enable_kernel_module=no
200                 AC_MSG_RESULT(sun4)
201                 ;;
202         *-hpux*)
203                 MKAFS_OSTYPE=HPUX
204                 AC_MSG_RESULT(hp_ux)
205                 if test -f "/usr/old/usr/include/ndir.h"; then
206                  AC_DEFINE(HAVE_USR_OLD_USR_INCLUDE_NDIR_H, 1, [define if you have old ndir.h])
207                 fi
208                 ;;
209         *-irix*)
210                 if test -d /usr/include/sys/SN/SN1; then
211                  IRIX_BUILD_IP35="IP35"
212                 fi
213                 MKAFS_OSTYPE=IRIX
214                 AC_MSG_RESULT(sgi)
215                 ;;
216         *-aix*)
217                 MKAFS_OSTYPE=AIX
218                 AC_MSG_RESULT(rs_aix)
219                 ;;
220         *-osf*)
221                 MKAFS_OSTYPE=DUX
222                 AC_MSG_RESULT(alpha_dux)
223                 if test "x$enable_kernel_module" = "xyes"; then
224                  if test "x$with_dux_kernel_headers" != "x"; then
225                    HEADER_RT=`ls ${with_dux_kernel_headers}/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
226                  else
227                    HEADER_RT=`ls /usr/sys/*/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
228                  fi
229                 fi
230                 if test "$HEADER_RT" = "*" ; then
231                         AC_MSG_ERROR([Need a configured kernel directory])
232                 fi
233                 AC_SUBST([HEADER_RT])
234                 ;;
235         powerpc-*-darwin*)
236                 MKAFS_OSTYPE=DARWIN
237                 AC_MSG_RESULT(ppc_darwin)
238                 ;;
239         i386-*-darwin*)
240                 MKAFS_OSTYPE=DARWIN
241                 AC_MSG_RESULT(x86_darwin)
242                 ;;
243         *-freebsd*)
244                 MKAFS_OSTYPE=FBSD
245                 AC_MSG_RESULT(i386_fbsd)
246                 ;;
247         *-netbsd*)
248                 MKAFS_OSTYPE=NBSD
249                 AC_MSG_RESULT(nbsd)
250                 ;;
251         *-openbsd*)
252                 MKAFS_OSTYPE=OBSD
253                 AC_MSG_RESULT(i386_obsd)
254                 ;;
255         *)
256                 AC_MSG_RESULT($system)
257                 ;;
258 esac
259
260 if test "x$with_afs_sysname" != "x"; then
261         AFS_SYSNAME="$with_afs_sysname"
262 else
263         AC_MSG_CHECKING(your AFS sysname)
264         case $host in
265                 i?86-*-openbsd?.?)
266                         v=${host#*openbsd}
267                         vM=${v%.*}
268                         vm=${v#*.}
269                         AFS_SYSNAME="i386_obsd${vM}${vm}"
270                         ;;
271                 sparc64-*-openbsd?.?)
272                         v=${host#*openbsd}
273                         vM=${v%.*}
274                         vm=${v#*.}
275                         AFS_SYSNAME="sparc64_obsd${vM}${vm}"
276                         ;;
277                 i?86-*-freebsd?.*)
278                         v=${host#*freebsd}
279                         vM=${v%.*}
280                         vm=${v#*.}
281                         AFS_SYSNAME="i386_fbsd_${vM}${vm}"
282                         ;;
283                 i?86-*-netbsd*1.5*)
284                         AFS_PARAM_COMMON=param.nbsd15.h
285                         AFS_SYSNAME="i386_nbsd15"
286                         ;;
287                 alpha-*-netbsd*1.5*)
288                         AFS_PARAM_COMMON=param.nbsd15.h
289                         AFS_SYSNAME="alpha_nbsd15"
290                         ;;
291                 i?86-*-netbsd*1.6[[M-Z]]*)
292                         AFS_PARAM_COMMON=param.nbsd20.h
293                         AFS_SYSNAME="i386_nbsd20"
294                         ;;
295                 powerpc-*-netbsd*1.6[[M-Z]]*)
296                         AFS_PARAM_COMMON=param.nbsd20.h
297                         AFS_SYSNAME="ppc_nbsd20"
298                         ;;
299                 i?86-*-netbsd*2.0*)
300                         AFS_PARAM_COMMON=param.nbsd20.h
301                         AFS_SYSNAME="i386_nbsd20"
302                         ;;
303                 amd64-*-netbsd*2.0*)
304                         AFS_PARAM_COMMON=param.nbsd20.h
305                         AFS_SYSNAME="amd64_nbsd20"
306                         ;;
307                 x86_64-*-netbsd*3.[0-8]*)
308                         AFS_PARAM_COMMON=param.nbsd30.h
309                         AFS_SYSNAME="amd64_nbsd30"
310                         ;;
311                 x86_64-*-netbsd*4.[0-8]*)
312                         AFS_PARAM_COMMON=param.nbsd40.h
313                         AFS_SYSNAME="amd64_nbsd40"
314                         ;;
315                 powerpc-*-netbsd*2.0*)
316                         AFS_PARAM_COMMON=param.nbsd20.h
317                         AFS_SYSNAME="ppc_nbsd20"
318                         ;;
319                 i?86-*-netbsd*1.6*)
320                         AFS_PARAM_COMMON=param.nbsd16.h
321                         AFS_SYSNAME="i386_nbsd16"
322                         ;;
323                 alpha-*-netbsd*1.6*)
324                         AFS_PARAM_COMMON=param.nbsd16.h
325                         AFS_SYSNAME="alpha_nbsd16"
326                         ;;
327                 powerpc-*-netbsd*1.6*)
328                         AFS_PARAM_COMMON=param.nbsd16.h
329                         AFS_SYSNAME="ppc_nbsd16"
330                         ;;
331                 i?86-*-netbsd*2.1*)
332                         AFS_PARAM_COMMON=param.nbsd21.h
333                         AFS_SYSNAME="i386_nbsd21"
334                         ;;
335                 i?86-*-netbsd*2.99*)
336                         AFS_PARAM_COMMON=param.nbsd30.h
337                         AFS_SYSNAME="i386_nbsd30"
338                         ;;
339                 i?86-*-netbsd*3.[[0-8]]*)
340                         AFS_PARAM_COMMON=param.nbsd30.h
341                         AFS_SYSNAME="i386_nbsd30"
342                         ;;
343                 i?86-*-netbsd*3.99*)
344                         AFS_PARAM_COMMON=param.nbsd30.h
345                         AFS_SYSNAME="i386_nbsd30"
346                         ;;
347                 i?86-*-netbsd*4.[[0-8]]*)
348                         AFS_PARAM_COMMON=param.nbsd40.h
349                         AFS_SYSNAME="i386_nbsd40"
350                         ;;
351                 i?86-*-netbsd*4.99*)
352                         AFS_PARAM_COMMON=param.nbsd40.h
353                         AFS_SYSNAME="i386_nbsd40"
354                         ;;
355                 hppa*-hp-hpux11.0*)
356                         AFS_SYSNAME="hp_ux110"
357                         ;;
358                 hppa*-hp-hpux11.11)
359                         AFS_SYSNAME="hp_ux11i"
360                         ;;
361                 ia64-hp-hpux11.22)
362                         AFS_SYSNAME="ia64_hpux1122"
363                         ;;
364                 ia64-hp-hpux*)
365                         AFS_SYSNAME="ia64_hpux1123"
366                         ;;
367                 hppa*-hp-hpux10*)
368                         AFS_SYSNAME="hp_ux102"
369                         ;;
370                 powerpc-apple-darwin1.2*)
371                         AFS_SYSNAME="ppc_darwin_12"
372                         ;;
373                 powerpc-apple-darwin1.3*)
374                         AFS_SYSNAME="ppc_darwin_13"
375                         ;;
376                 powerpc-apple-darwin1.4*)
377                         AFS_SYSNAME="ppc_darwin_14"
378                         ;;
379                 powerpc-apple-darwin5.1*)
380                         AFS_SYSNAME="ppc_darwin_14"
381                         ;;
382                 powerpc-apple-darwin5.2*)
383                         AFS_SYSNAME="ppc_darwin_14"
384                         ;;
385                 powerpc-apple-darwin5.3*)
386                         AFS_SYSNAME="ppc_darwin_14"
387                         ;;
388                 powerpc-apple-darwin5.4*)
389                         AFS_SYSNAME="ppc_darwin_14"
390                         ;;
391                 powerpc-apple-darwin5.5*)
392                         AFS_SYSNAME="ppc_darwin_14"
393                         ;;
394                 powerpc-apple-darwin6.0*)
395                         AFS_SYSNAME="ppc_darwin_60"
396                         ;;
397                 powerpc-apple-darwin6.1*)
398                         AFS_SYSNAME="ppc_darwin_60"
399                         ;;
400                 powerpc-apple-darwin6.2*)
401                         AFS_SYSNAME="ppc_darwin_60"
402                         ;;
403                 powerpc-apple-darwin6.3*)
404                         AFS_SYSNAME="ppc_darwin_60"
405                         ;;
406                 powerpc-apple-darwin6.4*)
407                         AFS_SYSNAME="ppc_darwin_60"
408                         ;;
409                 powerpc-apple-darwin6.5*)
410                         AFS_SYSNAME="ppc_darwin_60"
411                         ;;
412                 powerpc-apple-darwin7.0*)
413                         AFS_SYSNAME="ppc_darwin_70"
414                         ;;
415                 powerpc-apple-darwin7.1*)
416                         AFS_SYSNAME="ppc_darwin_70"
417                         ;;
418                 powerpc-apple-darwin7.2*)
419                         AFS_SYSNAME="ppc_darwin_70"
420                         ;;
421                 powerpc-apple-darwin7.3*)
422                         AFS_SYSNAME="ppc_darwin_70"
423                         ;;
424                 powerpc-apple-darwin7.4*)
425                         AFS_SYSNAME="ppc_darwin_70"
426                         ;;
427                 powerpc-apple-darwin7.5*)
428                         AFS_SYSNAME="ppc_darwin_70"
429                         ;;
430                 powerpc-apple-darwin8.0*)
431                         AFS_SYSNAME="ppc_darwin_80"
432                         ;;
433                 powerpc-apple-darwin8.*)
434                         AFS_SYSNAME="ppc_darwin_80"
435                         ;;
436                 i386-apple-darwin8.*)
437                         AFS_SYSNAME="x86_darwin_80"
438                         ;;
439                 powerpc-apple-darwin9.*)
440                         AFS_SYSNAME="ppc_darwin_90"
441                         ;;
442                 i386-apple-darwin9.*)
443                         AFS_SYSNAME="x86_darwin_90"
444                         ;;
445                 sparc-sun-solaris2.5*)
446                         AFS_SYSNAME="sun4x_55"
447                         enable_login="yes"
448                         ;;
449                 sparc-sun-solaris2.6)
450                         AFS_SYSNAME="sun4x_56"
451                         ;;
452                 sparc-sun-solaris2.7)
453                         AFS_SYSNAME="sun4x_57"
454                         ;;
455                 sparc-sun-solaris2.8)
456                         AFS_SYSNAME="sun4x_58"
457                         ;;
458                 sparc-sun-solaris2.9)
459                         AFS_SYSNAME="sun4x_59"
460                         ;;
461                 sparc-sun-solaris2.10)
462                         AFS_SYSNAME="sun4x_510"
463                         ;;
464                 sparc-sun-solaris2.11)
465                         AFS_SYSNAME="sun4x_511"
466                         ;;
467                 sparc-sun-sunos4*)
468                         AFS_SYSNAME="sun4_413"
469                         enable_login="yes"
470                         ;;
471                 i386-pc-solaris2.7)
472                         AFS_SYSNAME="sunx86_57"
473                         ;;
474                 i386-pc-solaris2.8)
475                         AFS_SYSNAME="sunx86_58"
476                         ;;
477                 i386-pc-solaris2.9)
478                         AFS_SYSNAME="sunx86_59"
479                         ;;
480                 i386-pc-solaris2.10)
481                         AFS_SYSNAME="sunx86_510"
482                         ;;
483                 i386-pc-solaris2.11)
484                         AFS_SYSNAME="sunx86_511"
485                         ;;
486                 alpha*-dec-osf4.0*)
487                         AFS_SYSNAME="alpha_dux40"
488                         ;;
489                 alpha*-dec-osf5.0*)
490                         AFS_SYSNAME="alpha_dux50"
491                         ;;
492                 alpha*-dec-osf5.1*)
493                         AFS_SYSNAME="alpha_dux51"
494                         ;;
495                 mips-sgi-irix6.5)
496                         AFS_SYSNAME="sgi_65"
497                         ;;
498                 ia64-*-linux*)
499                         AFS_SYSNAME="ia64_linuxXX"
500                         ;;
501                 powerpc-*-linux*)
502                         AFS_SYSNAME="`/bin/arch`_linuxXX"
503                         ;;
504                 powerpc64-*-linux*)
505                         AFS_SYSNAME="ppc64_linuxXX"
506                         ;;
507                 alpha*-linux*)
508                         AFS_SYSNAME="alpha_linux_XX"
509                         ;;
510                 s390-*-linux*)
511                         AFS_SYSNAME="s390_linuxXX"
512                         ;;
513                 s390x-*-linux*)
514                         AFS_SYSNAME="s390x_linuxXX"
515                         ;;
516                 sparc-*-linux*)
517                         AFS_SYSNAME="`/bin/arch`_linuxXX"
518                         ;;
519                 sparc64-*-linux*)
520                         AFS_SYSNAME="sparc64_linuxXX"
521                         ;;
522                 i?86-*-linux*)
523                         AFS_SYSNAME="i386_linuxXX"
524                         ;;
525                 parisc-*-linux-gnu|hppa-*-linux-gnu)
526                         AFS_SYSNAME="parisc_linuxXX"
527                         enable_pam="no"
528                         ;;
529                 power*-ibm-aix4.2*)
530                         AFS_SYSNAME="rs_aix42"
531                         enable_pam="no"
532                         ;;
533                 power*-ibm-aix4.3*)
534                         AFS_SYSNAME="rs_aix42"
535                         enable_pam="no"
536                         ;;
537                 power*-ibm-aix5.1*)
538                         AFS_SYSNAME="rs_aix51"
539                         enable_pam="no"
540                         ;;
541                 power*-ibm-aix5.2*)
542                         AFS_SYSNAME="rs_aix52"
543                         enable_pam="no"
544                         ;;
545                 power*-ibm-aix5.3*)
546                         AFS_SYSNAME="rs_aix53"
547                         enable_pam="no"
548                         ;;
549                 x86_64-*-linux-gnu)
550                         AFS_SYSNAME="amd64_linuxXX"
551                         enable_pam="no"
552                         ;;
553                 *)
554                         AC_MSG_ERROR(An AFS sysname is required)
555                         exit 1
556                         ;;
557         esac
558         case $AFS_SYSNAME in
559                 *_linux* | *_umlinux*)
560                         if test "x${AFS_SYSKVERS}" = "x"; then
561                          AC_MSG_ERROR(Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname.)
562                         fi
563                         _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/`
564                         AFS_SYSNAME="$_AFS_SYSNAME"
565                         save_CPPFLAGS="$CPPFLAGS"
566                         CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
567                         AC_TRY_COMPILE(
568                          [#include <linux/autoconf.h>],
569                          [#ifndef CONFIG_USERMODE
570                           #error not UML
571                           #endif],
572                          ac_cv_linux_is_uml=yes,)
573                         if test "${ac_cv_linux_is_uml}" = yes; then
574                          _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/linux/umlinux/`
575                         fi
576                         CPPFLAGS="$save_CPPFLAGS"
577                         AFS_SYSNAME="$_AFS_SYSNAME"
578                         ;;
579         esac
580         AC_MSG_RESULT($AFS_SYSNAME)
581 fi
582
583 case $AFS_SYSNAME in *_linux* | *_umlinux*)
584
585                 # Add (sub-) architecture-specific paths needed by conftests
586                 case $AFS_SYSNAME  in
587                         *_umlinux26)
588                                 UMLINUX26_FLAGS="-I$LINUX_KERNEL_PATH/arch/um/include"
589                                 UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/tt/include"
590                                 UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/skas/include"
591                                 CPPFLAGS="$CPPFLAGS $UMLINUX26_FLAGS"
592                 esac
593
594                 if test "x$enable_kernel_module" = "xyes"; then
595                  if test "x$enable_debug_kernel" = "xno"; then
596                         LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer"
597                  fi
598                  OPENAFS_GCC_SUPPORTS_MARCH
599                  AC_SUBST(P5PLUS_KOPTS)
600                  OPENAFS_GCC_NEEDS_NO_STRENGTH_REDUCE
601                  OPENAFS_GCC_NEEDS_NO_STRICT_ALIASING
602                  OPENAFS_GCC_SUPPORTS_NO_COMMON
603                  OPENAFS_GCC_SUPPORTS_PIPE
604                  AC_SUBST(LINUX_GCC_KOPTS)
605                  ifdef([OPENAFS_CONFIGURE_LIBAFS],
606                    [LINUX_BUILD_VNODE_FROM_INODE(src/config,src/afs)],
607                    [LINUX_BUILD_VNODE_FROM_INODE(${srcdir}/src/config,src/afs/LINUX,${srcdir}/src/afs/LINUX)]
608                  )
609
610                  LINUX_KERNEL_COMPILE_WORKS
611                  LINUX_KBUILD_USES_EXTRA_CFLAGS
612                  LINUX_HAVE_CURRENT_KERNEL_TIME
613                  LINUX_KMEM_CACHE_INIT
614                  LINUX_HAVE_KMEM_CACHE_T
615                  LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
616                  LINUX_CONFIG_H_EXISTS
617                  LINUX_COMPLETION_H_EXISTS
618                  LINUX_EXPORTFS_H_EXISTS
619                  LINUX_DEFINES_FOR_EACH_PROCESS
620                  LINUX_DEFINES_PREV_TASK
621                  LINUX_FS_STRUCT_SUPER_HAS_ALLOC_INODE
622                  LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
623                  LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_GFP_MASK
624                  LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM
625                  LINUX_FS_STRUCT_INODE_HAS_I_BLKBITS
626                  LINUX_FS_STRUCT_INODE_HAS_I_BLKSIZE
627                  LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM
628                  LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
629                  LINUX_FS_STRUCT_INODE_HAS_I_DEVICES
630                  LINUX_FS_STRUCT_INODE_HAS_I_MMAP_SHARED
631                  LINUX_FS_STRUCT_INODE_HAS_I_MUTEX
632                  LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST
633                  LINUX_FS_STRUCT_INODE_HAS_I_SECURITY
634                  LINUX_FS_STRUCT_INODE_HAS_INOTIFY_LOCK
635                  LINUX_FS_STRUCT_INODE_HAS_INOTIFY_SEM
636                  LINUX_INODE_SETATTR_RETURN_TYPE
637                  LINUX_WRITE_INODE_RETURN_TYPE
638                  LINUX_IOP_I_CREATE_TAKES_NAMEIDATA
639                  LINUX_IOP_I_LOOKUP_TAKES_NAMEIDATA
640                  LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA
641                  LINUX_IOP_I_PUT_LINK_TAKES_COOKIE
642                  LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA
643                  LINUX_FOP_F_FLUSH_TAKES_FL_OWNER_T
644                  LINUX_AOP_WRITEBACK_CONTROL
645                  LINUX_FS_STRUCT_FOP_HAS_FLOCK
646                  LINUX_FS_STRUCT_FOP_HAS_SENDFILE
647                  LINUX_FS_STRUCT_FOP_HAS_SPLICE
648                  LINUX_KERNEL_LINUX_SYSCALL_H
649                  LINUX_KERNEL_LINUX_SEQ_FILE_H
650                  LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
651                  LINUX_KERNEL_SELINUX
652                  LINUX_KERNEL_SOCK_CREATE
653                  LINUX_KERNEL_PAGE_FOLLOW_LINK
654                  LINUX_KEY_TYPE_H_EXISTS
655                  LINUX_NEED_RHCONFIG
656                  LINUX_RECALC_SIGPENDING_ARG_TYPE
657                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT
658                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_REAL_PARENT
659                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIG
660                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND
661                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
662                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_RLIM
663                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM
664                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE
665                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TGID
666                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TODO
667                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_THREAD_INFO
668                  LINUX_EXPORTS_TASKLIST_LOCK
669                  LINUX_GET_SB_HAS_STRUCT_VFSMOUNT
670                  LINUX_STATFS_TAKES_DENTRY
671                  LINUX_FREEZER_H_EXISTS
672                  LINUX_HAVE_SVC_ADDR_IN
673                  if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
674                   AC_DEFINE(FREEZER_H_EXISTS, 1, [define if you have linux/freezer.h])
675                  fi
676                  LINUX_REFRIGERATOR
677                  LINUX_KEY_TYPE_H_EXISTS
678                  if test "x$ac_cv_linux_key_type_h_exists" = "xyes" ; then
679                   AC_DEFINE(KEY_TYPE_H_EXISTS, 1, [define if you have linux/key-type.h])
680                  fi
681                  LINUX_LINUX_KEYRING_SUPPORT
682                  LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK
683                  LINUX_DO_SYNC_READ
684                  LINUX_GENERIC_FILE_AIO_READ
685                  LINUX_INIT_WORK_HAS_DATA
686                  LINUX_REGISTER_SYSCTL_TABLE_NOFLAG
687                  LINUX_SYSCTL_TABLE_CHECKING
688                  LINUX_EXPORTS_SYS_CHDIR
689                  LINUX_EXPORTS_SYS_CLOSE
690                  LINUX_EXPORTS_SYS_OPEN
691                  LINUX_EXPORTS_SYS_WAIT4
692                  LINUX_WHICH_MODULES
693                  if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
694                    AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported])
695                    ac_cv_linux_exports_sys_call_table=no
696                    if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
697                      ac_cv_linux_exports_ia32_sys_call_table=yes
698                    fi
699                  else
700                    LINUX_EXPORTS_INIT_MM
701                    LINUX_EXPORTS_KALLSYMS_ADDRESS
702                    LINUX_EXPORTS_KALLSYMS_SYMBOL
703                    LINUX_EXPORTS_SYS_CALL_TABLE
704                    LINUX_EXPORTS_IA32_SYS_CALL_TABLE
705                    if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
706                          linux_syscall_method=none
707                          if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
708                             linux_syscall_method=scan
709                             if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
710                                linux_syscall_method=scan_with_kallsyms_address
711                             fi
712                          fi
713                          if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
714                             linux_syscall_method=kallsyms_symbol
715                          fi
716                          if test "x$linux_syscall_method" = "xnone"; then
717                             AC_MSG_WARN([no available sys_call_table access method -- guessing scan])
718                             linux_syscall_method=scan
719                          fi
720                    fi
721                  fi
722                  if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
723                   AC_DEFINE(HAVE_IN_SYSTM_H, 1, [define if you have in_systm.h header file])
724                  fi
725                  if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
726                   AC_DEFINE(HAVE_MM_INLINE_H, 1, [define if you have mm_inline.h header file])
727                  fi
728                  if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
729                   AC_DEFINE(HAVE_IN_SYSTM_H, 1, [define if you have in_systm.h header file])
730                  fi
731                  if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
732                   AC_DEFINE(EXPORTED_SYS_CHDIR, 1, [define if your linux kernel exports sys_chdir])
733                  fi
734                  if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
735                   AC_DEFINE(EXPORTED_SYS_OPEN, 1, [define if your linux kernel exports sys_open])
736                  fi
737                  if test "x$ac_cv_linux_exports_sys_close" = "xyes" ; then
738                   AC_DEFINE(EXPORTED_SYS_CLOSE, 1, [define if your linux kernel exports sys_close])
739                  fi
740                  if test "x$ac_cv_linux_exports_sys_wait4" = "xyes" ; then
741                   AC_DEFINE(EXPORTED_SYS_WAIT4, 1, [define if your linux kernel exports sys_wait4])
742                  fi
743                  if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then
744                   AC_DEFINE(EXPORTED_SYS_CALL_TABLE)
745                  fi
746                  if test "x$ac_cv_linux_exports_ia32_sys_call_table" = "xyes"; then
747                   AC_DEFINE(EXPORTED_IA32_SYS_CALL_TABLE)
748                  fi
749                  if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
750                   AC_DEFINE(EXPORTED_KALLSYMS_SYMBOL)
751                  fi
752                  if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
753                   AC_DEFINE(EXPORTED_KALLSYMS_ADDRESS)
754                  fi
755                  if test "x$ac_cv_linux_completion_h_exists" = "xyes" ; then
756                   AC_DEFINE(COMPLETION_H_EXISTS, 1, [define if completion_h exists])
757                  fi
758                  if test "x$ac_cv_linux_config_h_exists" = "xyes" ; then
759                   AC_DEFINE(CONFIG_H_EXISTS, 1, [define if config.h exists])
760                  fi
761                  if test "x$ac_cv_linux_exportfs_h_exists" = "xyes"; then
762                   AC_DEFINE(EXPORTFS_H_EXISTS, 1, [define if linux/exportfs.h exists])
763                  fi
764                  if test "x$ac_cv_linux_key_type_h_exists" = "xyes" ; then
765                   AC_DEFINE(KEY_TYPE_H_EXISTS, 1, [define if key-type.h exists])
766                  fi
767                  if test "x$ac_cv_linux_defines_for_each_process" = "xyes" ; then
768                   AC_DEFINE(DEFINED_FOR_EACH_PROCESS, 1, [define if for_each_process defined])
769                  fi
770                  if test "x$ac_cv_linux_defines_prev_task" = "xyes" ; then
771                   AC_DEFINE(DEFINED_PREV_TASK, 1, [define if prev_task defined])
772                  fi
773                  if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then
774                   AC_DEFINE(INODE_SETATTR_NOT_VOID, 1, [define if your setattr return return non-void])
775                  fi
776                  if test "x$ac_cv_linux_func_write_inode_returns_int" = "xyes" ; then
777                   AC_DEFINE(WRITE_INODE_NOT_VOID, 1, [define if your sops.write_inode returns non-void])
778                  fi
779                  if test "x$ac_cv_linux_fs_struct_super_has_alloc_inode" = "xyes" ; then
780                   AC_DEFINE(STRUCT_SUPER_HAS_ALLOC_INODE, 1, [define if your struct super_operations has alloc_inode])
781                  fi
782                  if test "x$ac_cv_linux_fs_struct_address_space_has_page_lock" = "xyes"; then 
783                   AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK, 1, [define if your struct address_space has page_lock])
784                  fi
785                  if test "x$ac_cv_linux_fs_struct_address_space_has_gfp_mask" = "xyes"; then 
786                   AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_GFP_MASK, 1, [define if your struct address_space has gfp_mask])
787                  fi
788                  if test "x$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" = "xyes"; then 
789                   AC_DEFINE(STRUCT_INODE_HAS_I_TRUNCATE_SEM, 1, [define if your struct inode has truncate_sem])
790                  fi
791                  if test "x$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" = "xyes"; then 
792                   AC_DEFINE(STRUCT_INODE_HAS_I_ALLOC_SEM, 1, [define if your struct inode has alloc_sem])
793                  fi
794                  if test "x$ac_cv_linux_fs_struct_inode_has_i_blksize" = "xyes"; then 
795                   AC_DEFINE(STRUCT_INODE_HAS_I_BLKSIZE, 1, [define if your struct inode has i_blksize])
796                  fi
797                  if test "x$ac_cv_linux_fs_struct_inode_has_i_devices" = "xyes"; then 
798                   AC_DEFINE(STRUCT_INODE_HAS_I_DEVICES, 1, [define if you struct inode has i_devices])
799                  fi
800                  if test "x$ac_cv_linux_fs_struct_inode_has_i_security" = "xyes"; then 
801                   AC_DEFINE(STRUCT_INODE_HAS_I_SECURITY, 1, [define if you struct inode has i_security])
802                  fi
803                  if test "x$ac_cv_linux_fs_struct_inode_has_i_mutex" = "xyes"; then 
804                   AC_DEFINE(STRUCT_INODE_HAS_I_MUTEX, 1, [define if you struct inode has i_mutex])
805                  fi
806                  if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then 
807                   AC_DEFINE(STRUCT_INODE_HAS_I_SB_LIST, 1, [define if you struct inode has i_sb_list])
808                  fi
809                  if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then 
810                   AC_DEFINE(STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS, 1, [define if your struct inode has data_buffers])
811                  fi
812                  if test "x$ac_cv_linux_fs_struct_inode_has_inotify_lock" = "xyes"; then 
813                   AC_DEFINE(STRUCT_INODE_HAS_INOTIFY_LOCK, 1, [define if your struct inode has inotify_lock])
814                  fi
815                  if test "x$ac_cv_linux_fs_struct_inode_has_inotify_sem" = "xyes"; then 
816                   AC_DEFINE(STRUCT_INODE_HAS_INOTIFY_SEM, 1, [define if your struct inode has inotify_sem])
817                  fi
818                  if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then 
819                   AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
820                  fi
821                  if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
822                   AC_DEFINE(POSIX_LOCK_FILE_WAIT_ARG, 1, [define if your linux kernel uses 3 arguments for posix_lock_file])
823                  fi
824                  if test "x$ac_cv_linux_kernel_is_selinux" = "xyes" ; then
825                   AC_DEFINE(LINUX_KERNEL_IS_SELINUX, 1, [define if your linux kernel uses SELinux features])
826                  fi
827                  if test "x$ac_cv_linux_kernel_sock_create_v" = "xyes" ; then
828                   AC_DEFINE(LINUX_KERNEL_SOCK_CREATE_V, 1, [define if your linux kernel uses 5 arguments for sock_create])
829                  fi
830                  if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" ; then
831                   AC_DEFINE(HAVE_KERNEL_PAGE_FOLLOW_LINK, 1, [define if your linux kernel provides page_follow_link])
832                  fi
833                  if test "x$ac_linux_syscall" = "xyes" ; then
834                   AC_DEFINE(HAVE_KERNEL_LINUX_SYSCALL_H, 1, [define if your linux kernel has linux/syscall.h])
835                  fi
836                  if test "x$ac_linux_seq_file" = "xyes" ; then
837                   AC_DEFINE(HAVE_KERNEL_LINUX_SEQ_FILE_H, 1, [define if your linux kernel has linux/seq_file.h])
838                  fi
839                  if test "x$ac_cv_linux_sched_struct_task_struct_has_parent" = "xyes"; then 
840                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_PARENT, 1, [define if your struct task_struct has parent])
841                  fi
842                  if test "x$ac_cv_linux_sched_struct_task_struct_has_real_parent" = "xyes"; then 
843                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_REAL_PARENT, 1, [define if your struct task_struct has real_parent])
844                  fi
845                  if test "x$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" = "xyes"; then 
846                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK, 1, [define if your struct task_struct has sigmask_lock])
847                  fi
848                  if test "x$ac_cv_linux_sched_struct_task_struct_has_sighand" = "xyes"; then 
849                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGHAND, 1, [define if your struct task_struct has sighand])
850                  fi
851                  if test "x$ac_cv_linux_sched_struct_task_struct_has_sig" = "xyes"; then 
852                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIG, 1, [define if your struct task_struct has sig])
853                  fi
854                  if test "x$ac_cv_linux_sched_struct_task_struct_has_rlim" = "xyes"; then 
855                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_RLIM, 1, [define if your struct task_struct has rlim])
856                  fi
857                  if test "x$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" = "xyes"; then 
858                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM, 1, [define if your struct task_struct has signal->rlim])
859                  fi
860                  if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then 
861                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_EXIT_STATE, 1, [define if your struct task_struct has exit_state])
862                  fi
863                  if test "x$ac_cv_linux_sched_struct_task_struct_has_tgid" = "xyes"; then 
864                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TGID, 1, [define if your struct task_struct has tgid])
865                  fi
866                  if test "x$ac_cv_linux_sched_struct_task_struct_has_todo" = "xyes"; then 
867                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TODO, 1, [define if your struct task_struct has todo])
868                  fi
869                  if test "x$ac_cv_linux_sched_struct_task_struct_has_thread_info" = "xyes"; then 
870                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_THREAD_INFO, 1, [define if your struct task_struct has thread_info])
871                  fi
872                  if test "x$ac_cv_linux_get_sb_has_struct_vfsmount" = "xyes"; then
873                   AC_DEFINE(GET_SB_HAS_STRUCT_VFSMOUNT, 1, [define if your get_sb_nodev needs a struct vfsmount argument])
874                  fi
875                  if test "x$ac_cv_linux_statfs_takes_dentry" = "xyes"; then
876                   AC_DEFINE(STATFS_TAKES_DENTRY, 1, [define if your statfs takes a dentry argument])
877                  fi
878                  if test "x$ac_cv_linux_func_a_writepage_takes_writeback_control" = "xyes" ; then
879                   AC_DEFINE(AOP_WRITEPAGE_TAKES_WRITEBACK_CONTROL, 1, [define if your aops.writepage takes a struct writeback_control argument])
880                  fi
881                  if test "x$ac_cv_linux_func_refrigerator_takes_pf_freeze" = "xyes" ; then
882                   AC_DEFINE(LINUX_REFRIGERATOR_TAKES_PF_FREEZE, 1, [define if your refrigerator takes PF_FREEZE])
883                  fi
884                  if test "x$ac_cv_linux_func_i_create_takes_nameidata" = "xyes" ; then
885                   AC_DEFINE(IOP_CREATE_TAKES_NAMEIDATA, 1, [define if your iops.create takes a nameidata argument])
886                  fi
887                  if test "x$ac_cv_linux_func_f_flush_takes_fl_owner_t" = "xyes" ; then
888                   AC_DEFINE(FOP_FLUSH_TAKES_FL_OWNER_T, 1, [define if your fops.flush takes an fl_owner_t argument])
889                  fi
890                  if test "x$ac_cv_linux_func_i_lookup_takes_nameidata" = "xyes" ; then
891                   AC_DEFINE(IOP_LOOKUP_TAKES_NAMEIDATA, 1, [define if your iops.lookup takes a nameidata argument])
892                  fi
893                  if test "x$ac_cv_linux_func_i_permission_takes_nameidata" = "xyes" ; then
894                   AC_DEFINE(IOP_PERMISSION_TAKES_NAMEIDATA, 1, [define if your iops.permission takes a nameidata argument])
895                  fi
896                  if test "x$ac_cv_linux_func_d_revalidate_takes_nameidata" = "xyes" ; then
897                   AC_DEFINE(DOP_REVALIDATE_TAKES_NAMEIDATA, 1, [define if your dops.d_revalidate takes a nameidata argument])
898                  fi
899                  if test "x$ac_cv_linux_init_work_has_data" = "xyes" ; then
900                   AC_DEFINE(INIT_WORK_HAS_DATA, 1, [define if INIT_WORK takes a data (3rd) argument])
901                  fi
902                  if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then
903                   AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_FLOCK, 1, [define if your struct file_operations has flock])
904                  fi
905                  if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
906                   AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SENDFILE, 1, [define if your struct file_operations has sendfile])
907                  fi
908                  if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then
909                   AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SPLICE, 1, [define if your struct file_operations has splice_write and splice_read])
910                  fi
911                  if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
912                   AC_DEFINE(REGISTER_SYSCTL_TABLE_NOFLAG, 1, [define if register_sysctl_table has no insert_at head flag])
913                  fi
914                  if test "x$ac_cv_linux_sysctl_table_checking" = "xyes" ; then
915                   AC_DEFINE(SYSCTL_TABLE_CHECKING, 1, [define if your kernel has sysctl table checking])
916                  fi
917                  if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
918                   AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if tasklist_lock exported])
919                  fi
920                  if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
921                   AC_DEFINE(HAVE_KMEM_CACHE_T, 1, [define if kmem_cache_t exists])
922                  fi
923                  if test "x$ac_cv_linux_kmem_cache_init" = "xyes" ; then
924                   AC_DEFINE(KMEM_CACHE_INIT, 1, [define for new kmem_cache init function parameters])
925                  fi
926                  if test "x$ac_cv_linux_have_current_kernel_time" = "xyes" ; then
927                   AC_DEFINE(HAVE_CURRENT_KERNEL_TIME, 1, [define if current_kernel_time() exists])
928                  fi
929                  if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
930                   AC_DEFINE(KMEM_CACHE_TAKES_DTOR, 1, [define if kmem_cache_create takes a destructor argument])
931                  fi
932                  if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then
933                   AC_DEFINE(USABLE_KERNEL_PAGE_SYMLINK_CACHE, 1, [define if your kernel has a usable symlink cache API])
934                  else
935                   AC_MSG_WARN([your kernel does not have a usable symlink cache API])
936                  fi
937                  if test "x$ac_cv_linux_have_svc_addr_in" = "xyes"; then
938                   AC_DEFINE(HAVE_SVC_ADDR_IN, 1, [define if svc_add_in exists])
939                  fi
940                 :
941                 fi
942 esac
943
944 case $AFS_SYSNAME in
945         *_darwin*)
946                 DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
947                 DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
948                 dnl the test below fails on darwin, even if the CPPFLAGS below
949                 dnl are added. the headers from Kernel.framework must be used
950                 dnl when KERNEL is defined.
951
952                 dnl really, such a thing isn't guaranteed to work on any 
953                 dnl platform until the kernel cflags from MakefileProto are
954                 dnl known to configure
955                 AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
956                 ;;
957         *)
958 AC_MSG_CHECKING(for definition of struct buf)
959 dnl save_CPPFLAGS="$CPPFLAGS"
960 dnl CPPFLAGS="$CPPFLAGS -DKERNEL -D_KERNEL -D__KERNEL -D__KERNEL__"
961 AC_CACHE_VAL(ac_cv_have_struct_buf, [
962         ac_cv_have_struct_buf=no
963         AC_TRY_COMPILE(
964                 [#include <sys/buf.h>],
965                 [struct buf x;
966                 printf("%d\n", sizeof(x));],
967                 ac_cv_have_struct_buf=yes,)
968         ]
969 )
970 dnl CPPFLAGS="$save_CPPFLAGS"
971 AC_MSG_RESULT($ac_cv_have_struct_buf)
972 if test "$ac_cv_have_struct_buf" = yes; then
973         AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
974 fi
975 ;;
976 esac
977
978
979 AC_CACHE_VAL(ac_cv_sockaddr_len,
980 [
981 AC_MSG_CHECKING([if struct sockaddr has sa_len field])
982 AC_TRY_COMPILE( [#include <sys/types.h>
983 #include <sys/socket.h>],
984 [struct sockaddr *a;
985 a->sa_len=0;], ac_cv_sockaddr_len=yes, ac_cv_sockaddr_len=no)
986 AC_MSG_RESULT($ac_cv_sockaddr_len)])
987 if test "$ac_cv_sockaddr_len" = "yes"; then
988    AC_DEFINE(STRUCT_SOCKADDR_HAS_SA_LEN, 1, [define if you struct sockaddr sa_len])
989 fi
990 if test "x${MKAFS_OSTYPE}" = "xIRIX"; then
991         echo Skipping library tests because they confuse Irix.
992 else
993   AC_CHECK_FUNCS(socket)
994
995   if test "$ac_cv_func_socket" = no; then
996     for lib in socket inet; do
997         if test "$HAVE_SOCKET" != 1; then
998                 AC_CHECK_LIB(${lib}, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET, 1, [define if you have socket]))
999         fi
1000     done
1001   fi
1002   
1003   AC_CHECK_FUNCS(connect)       
1004
1005   if test "$ac_cv_func_connect" = no; then
1006     for lib in nsl; do
1007         if test "$HAVE_CONNECT" != 1; then
1008                 AC_CHECK_LIB(${lib}, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT, 1, [define if you have connect]))
1009         fi
1010     done
1011   fi
1012
1013   AC_CHECK_FUNCS(gethostbyname)
1014   if test "$ac_cv_func_gethostbyname" = no; then
1015         for lib in dns nsl resolv; do
1016           if test "$HAVE_GETHOSTBYNAME" != 1; then
1017             AC_CHECK_LIB(${lib}, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [define if you have gethostbyname]))
1018           fi
1019         done    
1020   fi    
1021
1022   dnl darwin wants it, aix hates it
1023   AC_MSG_CHECKING(for the useability of arpa/nameser_compat.h)
1024   AC_TRY_COMPILE([
1025   #include <stdlib.h>
1026   #include <stdio.h>
1027   #include <sys/types.h>
1028   #include <sys/socket.h>
1029   #include <netinet/in.h>
1030   #include <arpa/inet.h>
1031   #include <arpa/nameser.h>
1032   #include <arpa/nameser_compat.h>
1033   #include <resolv.h>
1034   ], [static int i; i = 0;],
1035   [AC_MSG_RESULT(yes)
1036    AC_DEFINE(HAVE_ARPA_NAMESER_COMPAT_H)],
1037   [AC_MSG_RESULT(no)
1038    ])
1039
1040   openafs_save_libs="$LIBS"
1041   AC_MSG_CHECKING([for res_search])
1042   AC_FUNC_RES_SEARCH
1043
1044   if test "$ac_cv_func_res_search" = no; then
1045       for lib in dns nsl resolv; do
1046         if test "$ac_cv_func_res_search" != yes; then
1047           LIBS="-l$lib $LIBS"
1048           AC_FUNC_RES_SEARCH
1049           LIBS="$openafs_save_libs"
1050         fi
1051       done    
1052       if test "$ac_cv_func_res_search" = yes; then
1053         LIB_res_search="-l$lib"       
1054         AC_DEFINE(HAVE_RES_SEARCH, 1, [])
1055         AC_MSG_RESULT([yes, in lib$lib])
1056       else
1057         AC_MSG_RESULT(no)
1058       fi
1059   else
1060     AC_DEFINE(HAVE_RES_SEARCH, 1, [])
1061     AC_MSG_RESULT(yes)
1062   fi
1063   
1064 fi
1065
1066 PTHREAD_LIBS=error
1067 if test "x$MKAFS_OSTYPE" = OBSD; then
1068         PTHREAD_LIBS="-pthread"
1069 fi
1070 if test "x$PTHREAD_LIBS" = xerror; then
1071         AC_CHECK_LIB(pthread, pthread_attr_init,
1072                 PTHREAD_LIBS="-lpthread")
1073 fi
1074 if test "x$PTHREAD_LIBS" = xerror; then
1075         AC_CHECK_LIB(pthreads, pthread_attr_init,
1076                 PTHREAD_LIBS="-lpthreads")
1077 fi
1078 if test "x$PTHREAD_LIBS" = xerror; then
1079         AC_CHECK_LIB(c_r, pthread_attr_init,
1080                 PTHREAD_LIBS="-lc_r")
1081 fi
1082 if test "x$PTHREAD_LIBS" = xerror; then
1083         AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="")
1084 fi
1085 if test "x$PTHREAD_LIBS" = xerror; then
1086         # pthread_attr_init is a macro under HPUX 11.0 and 11.11
1087         AC_CHECK_LIB(pthread, pthread_attr_destroy,
1088                 PTHREAD_LIBS="-lpthread")
1089 fi
1090 if test "x$PTHREAD_LIBS" = xerror; then
1091         AC_MSG_WARN(*** Unable to locate working posix thread library ***)
1092 fi
1093 AC_SUBST(PTHREAD_LIBS)
1094
1095 WITH_OBSOLETE=NO
1096 if test "$enable_obsolete" = "yes"; then
1097         WITH_OBSOLETE=YES
1098 fi
1099
1100 HOST_CPU="$host_cpu"
1101
1102 if test "x$with_bsd_kernel_headers" != "x"; then
1103         BSD_KERNEL_PATH="$with_bsd_kernel_headers"
1104 else
1105         BSD_KERNEL_PATH="/usr/src/sys"
1106 fi
1107
1108 if test "x$with_bsd_kernel_build" != "x"; then
1109         BSD_KERNEL_BUILD="$with_bsd_kernel_build"
1110 else
1111         case $AFS_SYSNAME in
1112                 *_fbsd_4?)
1113                         BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/compile/GENERIC"
1114                         ;;
1115                 *_fbsd_*)
1116                         BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/${HOST_CPU}/compile/GENERIC"
1117                         ;;
1118         esac
1119 fi
1120
1121 # Fast restart
1122 if test "$enable_supergroups" = "yes"; then
1123         AC_DEFINE(SUPERGROUPS, 1, [define if you want to have support for nested pts groups])
1124 fi
1125
1126 if test "$enable_fast_restart" = "yes"; then
1127         AC_DEFINE(FAST_RESTART, 1, [define if you want to have fast restart])
1128 fi
1129
1130 if test "$enable_bitmap_later" = "yes"; then
1131         AC_DEFINE(BITMAP_LATER, 1, [define if you want to salvager to check bitmasks later])
1132 fi
1133
1134 if test "$enable_demand_attach_fs" = "yes"; then
1135         AC_DEFINE(DEMAND_ATTACH_ENABLE, 1, [define if you want the demand attach fileserver])
1136         DEMAND_ATTACH="yes"
1137 else
1138         DEMAND_ATTACH="no"
1139 fi
1140 AC_SUBST(DEMAND_ATTACH)
1141
1142 if test "$enable_unix_sockets" = "yes"; then
1143         AC_DEFINE(USE_UNIX_SOCKETS, 1, [define if you want to use UNIX sockets for fssync.])
1144         USE_UNIX_SOCKETS="yes"
1145 else
1146         USE_UNIX_SOCKETS="no"
1147 fi
1148 AC_SUBST(USE_UNIX_SOCKETS)
1149
1150 if test "$enable_fast_restart" = "yes" &&
1151    test "$enable_demand_attach_fs" = "yes" ; then
1152         AC_MSG_ERROR([The Demand Attach and Fast Restart extensions are mutually exclusive.  Demand Attach fileservers automatically salvage volumes in the background, thereby making Fast Restart pointless.])
1153         exit 1
1154 fi
1155
1156 if test "$enable_full_vos_listvol_switch" = "yes"; then
1157         AC_DEFINE(FULL_LISTVOL_SWITCH, 1, [define if you want to want listvol switch])
1158 fi
1159
1160 if test "$enable_bos_restricted_mode" = "yes"; then
1161         AC_DEFINE(BOS_RESTRICTED_MODE, 1, [define if you want to want bos restricted mode])
1162 fi
1163
1164 if test "$enable_bos_new_config" = "yes"; then
1165         AC_DEFINE(BOS_NEW_CONFIG, 1, [define if you want to enable automatic renaming of BosConfig.new to BosConfig at startup])
1166 fi
1167
1168 if test "$enable_largefile_fileserver" = "yes"; then
1169         AC_DEFINE(AFS_LARGEFILE_ENV, 1, [define if you want large file fileserver])
1170 fi
1171
1172 if test "$enable_namei_fileserver" = "yes"; then
1173         AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver])
1174 fi
1175
1176 if test "$enable_afsdb" = "yes"; then
1177         LIB_AFSDB="$LIB_res_search"
1178         AC_DEFINE(AFS_AFSDB_ENV, 1, [define if you want to want search afsdb rr])
1179 fi
1180
1181 dnl check for tivoli
1182 AC_MSG_CHECKING(for tivoli tsm butc support)
1183 XBSA_CFLAGS=""
1184 if test "$enable_tivoli_tsm" = "yes"; then
1185         XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
1186         XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
1187
1188         if test -r "$XBSADIR1/xbsa.h"; then
1189                 XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
1190                 AC_MSG_RESULT([yes, $XBSA_CFLAGS])
1191         elif test -r "$XBSADIR2/xbsa.h"; then
1192                 XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
1193                 AC_MSG_RESULT([yes, $XBSA_CFLAGS])
1194         else
1195                 AC_MSG_RESULT([no, missing xbsa.h header file])
1196         fi
1197 else
1198         AC_MSG_RESULT([no])
1199 fi
1200 AC_SUBST(XBSA_CFLAGS)
1201
1202 dnl checks for header files.
1203 AC_HEADER_STDC
1204 AC_HEADER_SYS_WAIT
1205 AC_HEADER_DIRENT
1206 AC_CHECK_HEADERS(stdlib.h string.h unistd.h poll.h fcntl.h sys/time.h sys/file.h)
1207 AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h)
1208 AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h)
1209 AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h)
1210 AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h sys/user.h)
1211 AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h ucontext.h regex.h values.h)
1212
1213 if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
1214         HAVE_PAM="yes"
1215 else
1216         HAVE_PAM="no"
1217 fi
1218 AC_SUBST(HAVE_PAM)
1219
1220 if test "$enable_login" = yes; then
1221         BUILD_LOGIN="yes"
1222 else
1223         BUILD_LOGIN="no"
1224 fi
1225 AC_SUBST(BUILD_LOGIN)
1226
1227 AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec flock)
1228 AC_CHECK_FUNCS(setprogname getprogname sigaction mkstemp vsnprintf strerror strcasestr)
1229 AC_CHECK_FUNCS(setvbuf vsyslog)
1230 AC_FUNC_SETVBUF_REVERSED
1231 AC_CHECK_FUNCS(regcomp regexec regerror)
1232 AC_MSG_CHECKING([for POSIX regex library])
1233 if test "$ac_cv_header_regex_h" = "yes" && \
1234         test "$ac_cv_func_regcomp" = "yes" && \
1235         test "$ac_cv_func_regexec" = "yes" && \
1236         test "$ac_cv_func_regerror" = "yes"; then
1237     AC_DEFINE(HAVE_POSIX_REGEX, 1, [define if you have POSIX regex library])
1238     AC_MSG_RESULT(yes)
1239 else
1240     AC_MSG_RESULT(no)
1241 fi
1242         
1243 AC_CHECK_TYPE(ssize_t, int)
1244 AC_SIZEOF_TYPE(long)
1245
1246 AC_MSG_CHECKING(size of time_t)
1247 AC_CACHE_VAL(ac_cv_sizeof_time_t,
1248 [AC_TRY_RUN([#include <stdio.h>
1249 #include <time.h>
1250 main()
1251 {
1252   FILE *f=fopen("conftestval", "w");
1253   if (!f) exit(1);
1254   fprintf(f, "%d\n", sizeof(time_t));
1255   exit(0);
1256 }], ac_cv_sizeof_time_t=`cat conftestval`, ac_cv_sizeof_time_t=0)
1257 ])
1258 AC_MSG_RESULT($ac_cv_sizeof_time_t)
1259 AC_DEFINE_UNQUOTED(SIZEOF_TIME_T, $ac_cv_sizeof_time_t)
1260
1261 AC_CHECK_FUNCS(timegm)
1262 AC_CHECK_FUNCS(daemon)
1263
1264 dnl Directory PATH handling
1265 if test "x$enable_transarc_paths" = "xyes"  ; then 
1266     afsconfdir=${afsconfdir=/usr/afs/etc}
1267     viceetcdir=${viceetcdir=/usr/vice/etc}
1268     afskerneldir=${afskerneldir=${viceetcdir}}
1269     afssrvbindir=${afssrvbindir=/usr/afs/bin}
1270     afssrvsbindir=${afssrvsbindir=/usr/afs/bin}
1271     afssrvlibexecdir=${afssrvlibexecdir=/usr/afs/bin}
1272     afsdbdir=${afsdbdir=/usr/afs/db}
1273     afslogsdir=${afslogsdir=/usr/afs/logs}
1274     afslocaldir=${afslocaldir=/usr/afs/local}
1275     afsbackupdir=${afsbackupdir=/usr/afs/backup}
1276     afsbosconfigdir=${afsbosconfigdir=/usr/afs/local}
1277 else 
1278     afsconfdir=${afsconfdir='${sysconfdir}/openafs/server'}
1279     viceetcdir=${viceetcdir='${sysconfdir}/openafs'}
1280     afskerneldir=${afskerneldir='${libdir}/openafs'}
1281     afssrvbindir=${afssrvbindir='${bindir}'}
1282     afssrvsbindir=${afssrvsbindir='${sbindir}'}
1283     afssrvlibexecdir=${afssrvlibexecdir='${libexecdir}/openafs'}
1284     afsdbdir=${afsdbdir='${localstatedir}/openafs/db'}
1285     afslogsdir=${afslogsdir='${localstatedir}/openafs/logs'}
1286     afslocaldir=${afslocaldir='${localstatedir}/openafs'}
1287     afsbackupdir=${afsbackupdir='${localstatedir}/openafs/backup'}
1288     afsbosconfigdir=${afsbosconfigdir='${sysconfdir}/openafs'}
1289 fi
1290 AC_SUBST(afsconfdir)
1291 AC_SUBST(viceetcdir)
1292 AC_SUBST(afskerneldir)
1293 AC_SUBST(afssrvbindir)
1294 AC_SUBST(afssrvsbindir)
1295 AC_SUBST(afssrvlibexecdir)
1296 AC_SUBST(afsdbdir)
1297 AC_SUBST(afslogsdir)
1298 AC_SUBST(afslocaldir)
1299 AC_SUBST(afsbackupdir)
1300 AC_SUBST(afsbosconfigdir)
1301
1302 if test "x$enable_kernel_module" = "xyes"; then
1303 ENABLE_KERNEL_MODULE=libafs
1304 fi
1305
1306 AC_SUBST(AFS_SYSNAME)
1307 AC_SUBST(AFS_PARAM_COMMON)
1308 AC_SUBST(ENABLE_KERNEL_MODULE)
1309 AC_SUBST(LIB_AFSDB)
1310 AC_SUBST(LINUX_KERNEL_PATH)
1311 AC_SUBST(HOST_CPU)
1312 AC_SUBST(BSD_KERNEL_PATH)
1313 AC_SUBST(BSD_KERNEL_BUILD)
1314 AC_SUBST(LINUX_VERSION)
1315 AC_SUBST(MKAFS_OSTYPE)
1316 AC_SUBST(TOP_OBJDIR)
1317 AC_SUBST(TOP_SRCDIR)
1318 AC_SUBST(TOP_INCDIR)
1319 AC_SUBST(TOP_LIBDIR)
1320 AC_SUBST(DEST)
1321 AC_SUBST(WITH_OBSOLETE)
1322 AC_SUBST(DARWIN_INFOFILE)
1323 AC_SUBST(IRIX_BUILD_IP35)
1324
1325 OPENAFS_OSCONF
1326 OPENAFS_KRB5CONF
1327
1328 TOP_SRCDIR="${srcdir}/src"
1329 dnl
1330 dnl If we're using ./configure, need a more reasonable TOP_SRCDIR, since relative links don't work everywhere
1331 dnl
1332 case $TOP_SRCDIR in
1333         /*)
1334                 ;;
1335         *)
1336                 TOP_SRCDIR=`cd $TOP_SRCDIR; pwd`
1337                 ;;
1338 esac
1339
1340 TOP_OBJDIR="${SRCDIR_PARENT}"
1341 TOP_INCDIR="${SRCDIR_PARENT}/include"
1342 TOP_LIBDIR="${SRCDIR_PARENT}/lib"
1343 if test "${DEST}x" = "x"; then
1344         DEST="${SRCDIR_PARENT}/${AFS_SYSNAME}/dest"
1345 fi
1346
1347 HELPER_SPLINT="${TOP_SRCDIR}/helper-splint.sh"
1348 HELPER_SPLINTCFG="${TOP_SRCDIR}/splint.cfg"
1349 AC_SUBST(HELPER_SPLINT)
1350 AC_SUBST(HELPER_SPLINTCFG)
1351
1352 mkdir -p ${TOP_OBJDIR}/src/JAVA/libjafs
1353
1354 ])