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