DEVEL15-linux-2624-20071123
[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                 powerpc-*-netbsd*2.0*)
308                         AFS_PARAM_COMMON=param.nbsd20.h
309                         AFS_SYSNAME="ppc_nbsd20"
310                         ;;
311                 i?86-*-netbsd*1.6*)
312                         AFS_PARAM_COMMON=param.nbsd16.h
313                         AFS_SYSNAME="i386_nbsd16"
314                         ;;
315                 alpha-*-netbsd*1.6*)
316                         AFS_PARAM_COMMON=param.nbsd16.h
317                         AFS_SYSNAME="alpha_nbsd16"
318                         ;;
319                 powerpc-*-netbsd*1.6*)
320                         AFS_PARAM_COMMON=param.nbsd16.h
321                         AFS_SYSNAME="ppc_nbsd16"
322                         ;;
323                 i?86-*-netbsd*2.1*)
324                         AFS_PARAM_COMMON=param.nbsd21.h
325                         AFS_SYSNAME="i386_nbsd21"
326                         ;;
327                 i?86-*-netbsd*2.99*)
328                         AFS_PARAM_COMMON=param.nbsd30.h
329                         AFS_SYSNAME="i386_nbsd30"
330                         ;;
331                 i?86-*-netbsd*3.[[0-8]]*)
332                         AFS_PARAM_COMMON=param.nbsd30.h
333                         AFS_SYSNAME="i386_nbsd30"
334                         ;;
335                 i?86-*-netbsd*3.99*)
336                         AFS_PARAM_COMMON=param.nbsd30.h
337                         AFS_SYSNAME="i386_nbsd30"
338                         ;;
339                 i?86-*-netbsd*4.[[0-8]]*)
340                         AFS_PARAM_COMMON=param.nbsd40.h
341                         AFS_SYSNAME="i386_nbsd40"
342                         ;;
343                 i?86-*-netbsd*4.99*)
344                         AFS_PARAM_COMMON=param.nbsd40.h
345                         AFS_SYSNAME="i386_nbsd40"
346                         ;;
347                 hppa*-hp-hpux11.0*)
348                         AFS_SYSNAME="hp_ux110"
349                         ;;
350                 hppa*-hp-hpux11.11)
351                         AFS_SYSNAME="hp_ux11i"
352                         ;;
353                 ia64-hp-hpux11.22)
354                         AFS_SYSNAME="ia64_hpux1122"
355                         ;;
356                 ia64-hp-hpux*)
357                         AFS_SYSNAME="ia64_hpux1123"
358                         ;;
359                 hppa*-hp-hpux10*)
360                         AFS_SYSNAME="hp_ux102"
361                         ;;
362                 powerpc-apple-darwin1.2*)
363                         AFS_SYSNAME="ppc_darwin_12"
364                         ;;
365                 powerpc-apple-darwin1.3*)
366                         AFS_SYSNAME="ppc_darwin_13"
367                         ;;
368                 powerpc-apple-darwin1.4*)
369                         AFS_SYSNAME="ppc_darwin_14"
370                         ;;
371                 powerpc-apple-darwin5.1*)
372                         AFS_SYSNAME="ppc_darwin_14"
373                         ;;
374                 powerpc-apple-darwin5.2*)
375                         AFS_SYSNAME="ppc_darwin_14"
376                         ;;
377                 powerpc-apple-darwin5.3*)
378                         AFS_SYSNAME="ppc_darwin_14"
379                         ;;
380                 powerpc-apple-darwin5.4*)
381                         AFS_SYSNAME="ppc_darwin_14"
382                         ;;
383                 powerpc-apple-darwin5.5*)
384                         AFS_SYSNAME="ppc_darwin_14"
385                         ;;
386                 powerpc-apple-darwin6.0*)
387                         AFS_SYSNAME="ppc_darwin_60"
388                         ;;
389                 powerpc-apple-darwin6.1*)
390                         AFS_SYSNAME="ppc_darwin_60"
391                         ;;
392                 powerpc-apple-darwin6.2*)
393                         AFS_SYSNAME="ppc_darwin_60"
394                         ;;
395                 powerpc-apple-darwin6.3*)
396                         AFS_SYSNAME="ppc_darwin_60"
397                         ;;
398                 powerpc-apple-darwin6.4*)
399                         AFS_SYSNAME="ppc_darwin_60"
400                         ;;
401                 powerpc-apple-darwin6.5*)
402                         AFS_SYSNAME="ppc_darwin_60"
403                         ;;
404                 powerpc-apple-darwin7.0*)
405                         AFS_SYSNAME="ppc_darwin_70"
406                         ;;
407                 powerpc-apple-darwin7.1*)
408                         AFS_SYSNAME="ppc_darwin_70"
409                         ;;
410                 powerpc-apple-darwin7.2*)
411                         AFS_SYSNAME="ppc_darwin_70"
412                         ;;
413                 powerpc-apple-darwin7.3*)
414                         AFS_SYSNAME="ppc_darwin_70"
415                         ;;
416                 powerpc-apple-darwin7.4*)
417                         AFS_SYSNAME="ppc_darwin_70"
418                         ;;
419                 powerpc-apple-darwin7.5*)
420                         AFS_SYSNAME="ppc_darwin_70"
421                         ;;
422                 powerpc-apple-darwin8.0*)
423                         AFS_SYSNAME="ppc_darwin_80"
424                         ;;
425                 powerpc-apple-darwin8.*)
426                         AFS_SYSNAME="ppc_darwin_80"
427                         ;;
428                 i386-apple-darwin8.*)
429                         AFS_SYSNAME="x86_darwin_80"
430                         ;;
431                 powerpc-apple-darwin9.*)
432                         AFS_SYSNAME="ppc_darwin_90"
433                         ;;
434                 i386-apple-darwin9.*)
435                         AFS_SYSNAME="x86_darwin_90"
436                         ;;
437                 sparc-sun-solaris2.5*)
438                         AFS_SYSNAME="sun4x_55"
439                         enable_login="yes"
440                         ;;
441                 sparc-sun-solaris2.6)
442                         AFS_SYSNAME="sun4x_56"
443                         ;;
444                 sparc-sun-solaris2.7)
445                         AFS_SYSNAME="sun4x_57"
446                         ;;
447                 sparc-sun-solaris2.8)
448                         AFS_SYSNAME="sun4x_58"
449                         ;;
450                 sparc-sun-solaris2.9)
451                         AFS_SYSNAME="sun4x_59"
452                         ;;
453                 sparc-sun-solaris2.10)
454                         AFS_SYSNAME="sun4x_510"
455                         ;;
456                 sparc-sun-solaris2.11)
457                         AFS_SYSNAME="sun4x_511"
458                         ;;
459                 sparc-sun-sunos4*)
460                         AFS_SYSNAME="sun4_413"
461                         enable_login="yes"
462                         ;;
463                 i386-pc-solaris2.7)
464                         AFS_SYSNAME="sunx86_57"
465                         ;;
466                 i386-pc-solaris2.8)
467                         AFS_SYSNAME="sunx86_58"
468                         ;;
469                 i386-pc-solaris2.9)
470                         AFS_SYSNAME="sunx86_59"
471                         ;;
472                 i386-pc-solaris2.10)
473                         AFS_SYSNAME="sunx86_510"
474                         ;;
475                 i386-pc-solaris2.11)
476                         AFS_SYSNAME="sunx86_511"
477                         ;;
478                 alpha*-dec-osf4.0*)
479                         AFS_SYSNAME="alpha_dux40"
480                         ;;
481                 alpha*-dec-osf5.0*)
482                         AFS_SYSNAME="alpha_dux50"
483                         ;;
484                 alpha*-dec-osf5.1*)
485                         AFS_SYSNAME="alpha_dux51"
486                         ;;
487                 mips-sgi-irix6.5)
488                         AFS_SYSNAME="sgi_65"
489                         ;;
490                 ia64-*-linux*)
491                         AFS_SYSNAME="ia64_linuxXX"
492                         ;;
493                 powerpc-*-linux*)
494                         AFS_SYSNAME="`/bin/arch`_linuxXX"
495                         ;;
496                 powerpc64-*-linux*)
497                         AFS_SYSNAME="ppc64_linuxXX"
498                         ;;
499                 alpha*-linux*)
500                         AFS_SYSNAME="alpha_linux_XX"
501                         ;;
502                 s390-*-linux*)
503                         AFS_SYSNAME="s390_linuxXX"
504                         ;;
505                 s390x-*-linux*)
506                         AFS_SYSNAME="s390x_linuxXX"
507                         ;;
508                 sparc-*-linux*)
509                         AFS_SYSNAME="`/bin/arch`_linuxXX"
510                         ;;
511                 sparc64-*-linux*)
512                         AFS_SYSNAME="sparc64_linuxXX"
513                         ;;
514                 i?86-*-linux*)
515                         AFS_SYSNAME="i386_linuxXX"
516                         ;;
517                 parisc-*-linux-gnu|hppa-*-linux-gnu)
518                         AFS_SYSNAME="parisc_linuxXX"
519                         enable_pam="no"
520                         ;;
521                 power*-ibm-aix4.2*)
522                         AFS_SYSNAME="rs_aix42"
523                         enable_pam="no"
524                         ;;
525                 power*-ibm-aix4.3*)
526                         AFS_SYSNAME="rs_aix42"
527                         enable_pam="no"
528                         ;;
529                 power*-ibm-aix5.1*)
530                         AFS_SYSNAME="rs_aix51"
531                         enable_pam="no"
532                         ;;
533                 power*-ibm-aix5.2*)
534                         AFS_SYSNAME="rs_aix52"
535                         enable_pam="no"
536                         ;;
537                 power*-ibm-aix5.3*)
538                         AFS_SYSNAME="rs_aix53"
539                         enable_pam="no"
540                         ;;
541                 x86_64-*-linux-gnu)
542                         AFS_SYSNAME="amd64_linuxXX"
543                         enable_pam="no"
544                         ;;
545                 *)
546                         AC_MSG_ERROR(An AFS sysname is required)
547                         exit 1
548                         ;;
549         esac
550         case $AFS_SYSNAME in
551                 *_linux* | *_umlinux*)
552                         if test "x${AFS_SYSKVERS}" = "x"; then
553                          AC_MSG_ERROR(Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname.)
554                         fi
555                         _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/`
556                         AFS_SYSNAME="$_AFS_SYSNAME"
557                         save_CPPFLAGS="$CPPFLAGS"
558                         CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
559                         AC_TRY_COMPILE(
560                          [#include <linux/autoconf.h>],
561                          [#ifndef CONFIG_USERMODE
562                           #error not UML
563                           #endif],
564                          ac_cv_linux_is_uml=yes,)
565                         if test "${ac_cv_linux_is_uml}" = yes; then
566                          _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/linux/umlinux/`
567                         fi
568                         CPPFLAGS="$save_CPPFLAGS"
569                         AFS_SYSNAME="$_AFS_SYSNAME"
570                         ;;
571         esac
572         AC_MSG_RESULT($AFS_SYSNAME)
573 fi
574
575 case $AFS_SYSNAME in *_linux* | *_umlinux*)
576
577                 # Add (sub-) architecture-specific paths needed by conftests
578                 case $AFS_SYSNAME  in
579                         *_umlinux26)
580                                 UMLINUX26_FLAGS="-I$LINUX_KERNEL_PATH/arch/um/include"
581                                 UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/tt/include"
582                                 UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/skas/include"
583                                 CPPFLAGS="$CPPFLAGS $UMLINUX26_FLAGS"
584                 esac
585
586                 if test "x$enable_kernel_module" = "xyes"; then
587                  if test "x$enable_debug_kernel" = "xno"; then
588                         LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer"
589                  fi
590                  OPENAFS_GCC_SUPPORTS_MARCH
591                  AC_SUBST(P5PLUS_KOPTS)
592                  OPENAFS_GCC_NEEDS_NO_STRENGTH_REDUCE
593                  OPENAFS_GCC_NEEDS_NO_STRICT_ALIASING
594                  OPENAFS_GCC_SUPPORTS_NO_COMMON
595                  OPENAFS_GCC_SUPPORTS_PIPE
596                  AC_SUBST(LINUX_GCC_KOPTS)
597                  ifdef([OPENAFS_CONFIGURE_LIBAFS],
598                    [LINUX_BUILD_VNODE_FROM_INODE(src/config,src/afs)],
599                    [LINUX_BUILD_VNODE_FROM_INODE(${srcdir}/src/config,src/afs/LINUX,${srcdir}/src/afs/LINUX)]
600                  )
601
602                  LINUX_KERNEL_COMPILE_WORKS
603                  LINUX_KBUILD_USES_EXTRA_CFLAGS
604                  LINUX_HAVE_CURRENT_KERNEL_TIME
605                  LINUX_KMEM_CACHE_INIT
606                  LINUX_HAVE_KMEM_CACHE_T
607                  LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
608                  LINUX_CONFIG_H_EXISTS
609                  LINUX_COMPLETION_H_EXISTS
610                  LINUX_EXPORTFS_H_EXISTS
611                  LINUX_DEFINES_FOR_EACH_PROCESS
612                  LINUX_DEFINES_PREV_TASK
613                  LINUX_FS_STRUCT_SUPER_HAS_ALLOC_INODE
614                  LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
615                  LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_GFP_MASK
616                  LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM
617                  LINUX_FS_STRUCT_INODE_HAS_I_BLKBITS
618                  LINUX_FS_STRUCT_INODE_HAS_I_BLKSIZE
619                  LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM
620                  LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
621                  LINUX_FS_STRUCT_INODE_HAS_I_DEVICES
622                  LINUX_FS_STRUCT_INODE_HAS_I_MMAP_SHARED
623                  LINUX_FS_STRUCT_INODE_HAS_I_MUTEX
624                  LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST
625                  LINUX_FS_STRUCT_INODE_HAS_I_SECURITY
626                  LINUX_FS_STRUCT_INODE_HAS_INOTIFY_LOCK
627                  LINUX_FS_STRUCT_INODE_HAS_INOTIFY_SEM
628                  LINUX_INODE_SETATTR_RETURN_TYPE
629                  LINUX_WRITE_INODE_RETURN_TYPE
630                  LINUX_IOP_I_CREATE_TAKES_NAMEIDATA
631                  LINUX_IOP_I_LOOKUP_TAKES_NAMEIDATA
632                  LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA
633                  LINUX_IOP_I_PUT_LINK_TAKES_COOKIE
634                  LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA
635                  LINUX_FOP_F_FLUSH_TAKES_FL_OWNER_T
636                  LINUX_AOP_WRITEBACK_CONTROL
637                  LINUX_FS_STRUCT_FOP_HAS_FLOCK
638                  LINUX_FS_STRUCT_FOP_HAS_SENDFILE
639                  LINUX_FS_STRUCT_FOP_HAS_SPLICE
640                  LINUX_KERNEL_LINUX_SYSCALL_H
641                  LINUX_KERNEL_LINUX_SEQ_FILE_H
642                  LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
643                  LINUX_KERNEL_SELINUX
644                  LINUX_KERNEL_SOCK_CREATE
645                  LINUX_KERNEL_PAGE_FOLLOW_LINK
646                  LINUX_KEY_TYPE_H_EXISTS
647                  LINUX_NEED_RHCONFIG
648                  LINUX_RECALC_SIGPENDING_ARG_TYPE
649                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT
650                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_REAL_PARENT
651                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIG
652                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND
653                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
654                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_RLIM
655                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM
656                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE
657                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TGID
658                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TODO
659                  LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_THREAD_INFO
660                  LINUX_EXPORTS_TASKLIST_LOCK
661                  LINUX_GET_SB_HAS_STRUCT_VFSMOUNT
662                  LINUX_STATFS_TAKES_DENTRY
663                  LINUX_FREEZER_H_EXISTS
664                  LINUX_HAVE_SVC_ADDR_IN
665                  if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
666                   AC_DEFINE(FREEZER_H_EXISTS, 1, [define if you have linux/freezer.h])
667                  fi
668                  LINUX_REFRIGERATOR
669                  LINUX_LINUX_KEYRING_SUPPORT
670                  LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK
671                  LINUX_DO_SYNC_READ
672                  LINUX_GENERIC_FILE_AIO_READ
673                  LINUX_INIT_WORK_HAS_DATA
674                  LINUX_REGISTER_SYSCTL_TABLE_NOFLAG
675                  LINUX_SYSCTL_TABLE_CHECKING
676                  LINUX_EXPORTS_SYS_CHDIR
677                  LINUX_EXPORTS_SYS_CLOSE
678                  LINUX_EXPORTS_SYS_OPEN
679                  LINUX_EXPORTS_SYS_WAIT4
680                  LINUX_WHICH_MODULES
681                  if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
682                    AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported])
683                    ac_cv_linux_exports_sys_call_table=no
684                    if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
685                      ac_cv_linux_exports_ia32_sys_call_table=yes
686                    fi
687                  else
688                    LINUX_EXPORTS_INIT_MM
689                    LINUX_EXPORTS_KALLSYMS_ADDRESS
690                    LINUX_EXPORTS_KALLSYMS_SYMBOL
691                    LINUX_EXPORTS_SYS_CALL_TABLE
692                    LINUX_EXPORTS_IA32_SYS_CALL_TABLE
693                    if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
694                          linux_syscall_method=none
695                          if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
696                             linux_syscall_method=scan
697                             if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
698                                linux_syscall_method=scan_with_kallsyms_address
699                             fi
700                          fi
701                          if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
702                             linux_syscall_method=kallsyms_symbol
703                          fi
704                          if test "x$linux_syscall_method" = "xnone"; then
705                             AC_MSG_WARN([no available sys_call_table access method -- guessing scan])
706                             linux_syscall_method=scan
707                          fi
708                    fi
709                  fi
710                  if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
711                   AC_DEFINE(HAVE_IN_SYSTM_H, 1, [define if you have in_systm.h header file])
712                  fi
713                  if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
714                   AC_DEFINE(HAVE_MM_INLINE_H, 1, [define if you have mm_inline.h header file])
715                  fi
716                  if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
717                   AC_DEFINE(HAVE_IN_SYSTM_H, 1, [define if you have in_systm.h header file])
718                  fi
719                  if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
720                   AC_DEFINE(EXPORTED_SYS_CHDIR, 1, [define if your linux kernel exports sys_chdir])
721                  fi
722                  if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
723                   AC_DEFINE(EXPORTED_SYS_OPEN, 1, [define if your linux kernel exports sys_open])
724                  fi
725                  if test "x$ac_cv_linux_exports_sys_close" = "xyes" ; then
726                   AC_DEFINE(EXPORTED_SYS_CLOSE, 1, [define if your linux kernel exports sys_close])
727                  fi
728                  if test "x$ac_cv_linux_exports_sys_wait4" = "xyes" ; then
729                   AC_DEFINE(EXPORTED_SYS_WAIT4, 1, [define if your linux kernel exports sys_wait4])
730                  fi
731                  if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then
732                   AC_DEFINE(EXPORTED_SYS_CALL_TABLE)
733                  fi
734                  if test "x$ac_cv_linux_exports_ia32_sys_call_table" = "xyes"; then
735                   AC_DEFINE(EXPORTED_IA32_SYS_CALL_TABLE)
736                  fi
737                  if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
738                   AC_DEFINE(EXPORTED_KALLSYMS_SYMBOL)
739                  fi
740                  if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
741                   AC_DEFINE(EXPORTED_KALLSYMS_ADDRESS)
742                  fi
743                  if test "x$ac_cv_linux_completion_h_exists" = "xyes" ; then
744                   AC_DEFINE(COMPLETION_H_EXISTS, 1, [define if completion_h exists])
745                  fi
746                  if test "x$ac_cv_linux_config_h_exists" = "xyes" ; then
747                   AC_DEFINE(CONFIG_H_EXISTS, 1, [define if config.h exists])
748                  fi
749                  if test "x$ac_cv_linux_exportfs_h_exists" = "xyes"; then
750                   AC_DEFINE(EXPORTFS_H_EXISTS, 1, [define if linux/exportfs.h exists])
751                  fi
752                  if test "x$ac_cv_linux_key_type_h_exists" = "xyes" ; then
753                   AC_DEFINE(KEY_TYPE_H_EXISTS, 1, [define if key-type.h exists])
754                  fi
755                  if test "x$ac_cv_linux_defines_for_each_process" = "xyes" ; then
756                   AC_DEFINE(DEFINED_FOR_EACH_PROCESS, 1, [define if for_each_process defined])
757                  fi
758                  if test "x$ac_cv_linux_defines_prev_task" = "xyes" ; then
759                   AC_DEFINE(DEFINED_PREV_TASK, 1, [define if prev_task defined])
760                  fi
761                  if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then
762                   AC_DEFINE(INODE_SETATTR_NOT_VOID, 1, [define if your setattr return return non-void])
763                  fi
764                  if test "x$ac_cv_linux_func_write_inode_returns_int" = "xyes" ; then
765                   AC_DEFINE(WRITE_INODE_NOT_VOID, 1, [define if your sops.write_inode returns non-void])
766                  fi
767                  if test "x$ac_cv_linux_fs_struct_super_has_alloc_inode" = "xyes" ; then
768                   AC_DEFINE(STRUCT_SUPER_HAS_ALLOC_INODE, 1, [define if your struct super_operations has alloc_inode])
769                  fi
770                  if test "x$ac_cv_linux_fs_struct_address_space_has_page_lock" = "xyes"; then 
771                   AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK, 1, [define if your struct address_space has page_lock])
772                  fi
773                  if test "x$ac_cv_linux_fs_struct_address_space_has_gfp_mask" = "xyes"; then 
774                   AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_GFP_MASK, 1, [define if your struct address_space has gfp_mask])
775                  fi
776                  if test "x$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" = "xyes"; then 
777                   AC_DEFINE(STRUCT_INODE_HAS_I_TRUNCATE_SEM, 1, [define if your struct inode has truncate_sem])
778                  fi
779                  if test "x$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" = "xyes"; then 
780                   AC_DEFINE(STRUCT_INODE_HAS_I_ALLOC_SEM, 1, [define if your struct inode has alloc_sem])
781                  fi
782                  if test "x$ac_cv_linux_fs_struct_inode_has_i_blksize" = "xyes"; then 
783                   AC_DEFINE(STRUCT_INODE_HAS_I_BLKSIZE, 1, [define if your struct inode has i_blksize])
784                  fi
785                  if test "x$ac_cv_linux_fs_struct_inode_has_i_devices" = "xyes"; then 
786                   AC_DEFINE(STRUCT_INODE_HAS_I_DEVICES, 1, [define if you struct inode has i_devices])
787                  fi
788                  if test "x$ac_cv_linux_fs_struct_inode_has_i_security" = "xyes"; then 
789                   AC_DEFINE(STRUCT_INODE_HAS_I_SECURITY, 1, [define if you struct inode has i_security])
790                  fi
791                  if test "x$ac_cv_linux_fs_struct_inode_has_i_mutex" = "xyes"; then 
792                   AC_DEFINE(STRUCT_INODE_HAS_I_MUTEX, 1, [define if you struct inode has i_mutex])
793                  fi
794                  if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then 
795                   AC_DEFINE(STRUCT_INODE_HAS_I_SB_LIST, 1, [define if you struct inode has i_sb_list])
796                  fi
797                  if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then 
798                   AC_DEFINE(STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS, 1, [define if your struct inode has data_buffers])
799                  fi
800                  if test "x$ac_cv_linux_fs_struct_inode_has_inotify_lock" = "xyes"; then 
801                   AC_DEFINE(STRUCT_INODE_HAS_INOTIFY_LOCK, 1, [define if your struct inode has inotify_lock])
802                  fi
803                  if test "x$ac_cv_linux_fs_struct_inode_has_inotify_sem" = "xyes"; then 
804                   AC_DEFINE(STRUCT_INODE_HAS_INOTIFY_SEM, 1, [define if your struct inode has inotify_sem])
805                  fi
806                  if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then 
807                   AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
808                  fi
809                  if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
810                   AC_DEFINE(POSIX_LOCK_FILE_WAIT_ARG, 1, [define if your linux kernel uses 3 arguments for posix_lock_file])
811                  fi
812                  if test "x$ac_cv_linux_kernel_is_selinux" = "xyes" ; then
813                   AC_DEFINE(LINUX_KERNEL_IS_SELINUX, 1, [define if your linux kernel uses SELinux features])
814                  fi
815                  if test "x$ac_cv_linux_kernel_sock_create_v" = "xyes" ; then
816                   AC_DEFINE(LINUX_KERNEL_SOCK_CREATE_V, 1, [define if your linux kernel uses 5 arguments for sock_create])
817                  fi
818                  if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" ; then
819                   AC_DEFINE(HAVE_KERNEL_PAGE_FOLLOW_LINK, 1, [define if your linux kernel provides page_follow_link])
820                  fi
821                  if test "x$ac_linux_syscall" = "xyes" ; then
822                   AC_DEFINE(HAVE_KERNEL_LINUX_SYSCALL_H, 1, [define if your linux kernel has linux/syscall.h])
823                  fi
824                  if test "x$ac_linux_seq_file" = "xyes" ; then
825                   AC_DEFINE(HAVE_KERNEL_LINUX_SEQ_FILE_H, 1, [define if your linux kernel has linux/seq_file.h])
826                  fi
827                  if test "x$ac_cv_linux_sched_struct_task_struct_has_parent" = "xyes"; then 
828                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_PARENT, 1, [define if your struct task_struct has parent])
829                  fi
830                  if test "x$ac_cv_linux_sched_struct_task_struct_has_real_parent" = "xyes"; then 
831                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_REAL_PARENT, 1, [define if your struct task_struct has real_parent])
832                  fi
833                  if test "x$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" = "xyes"; then 
834                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK, 1, [define if your struct task_struct has sigmask_lock])
835                  fi
836                  if test "x$ac_cv_linux_sched_struct_task_struct_has_sighand" = "xyes"; then 
837                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGHAND, 1, [define if your struct task_struct has sighand])
838                  fi
839                  if test "x$ac_cv_linux_sched_struct_task_struct_has_sig" = "xyes"; then 
840                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIG, 1, [define if your struct task_struct has sig])
841                  fi
842                  if test "x$ac_cv_linux_sched_struct_task_struct_has_rlim" = "xyes"; then 
843                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_RLIM, 1, [define if your struct task_struct has rlim])
844                  fi
845                  if test "x$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" = "xyes"; then 
846                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM, 1, [define if your struct task_struct has signal->rlim])
847                  fi
848                  if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then 
849                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_EXIT_STATE, 1, [define if your struct task_struct has exit_state])
850                  fi
851                  if test "x$ac_cv_linux_sched_struct_task_struct_has_tgid" = "xyes"; then 
852                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TGID, 1, [define if your struct task_struct has tgid])
853                  fi
854                  if test "x$ac_cv_linux_sched_struct_task_struct_has_todo" = "xyes"; then 
855                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TODO, 1, [define if your struct task_struct has todo])
856                  fi
857                  if test "x$ac_cv_linux_sched_struct_task_struct_has_thread_info" = "xyes"; then 
858                   AC_DEFINE(STRUCT_TASK_STRUCT_HAS_THREAD_INFO, 1, [define if your struct task_struct has thread_info])
859                  fi
860                  if test "x$ac_cv_linux_get_sb_has_struct_vfsmount" = "xyes"; then
861                   AC_DEFINE(GET_SB_HAS_STRUCT_VFSMOUNT, 1, [define if your get_sb_nodev needs a struct vfsmount argument])
862                  fi
863                  if test "x$ac_cv_linux_statfs_takes_dentry" = "xyes"; then
864                   AC_DEFINE(STATFS_TAKES_DENTRY, 1, [define if your statfs takes a dentry argument])
865                  fi
866                  if test "x$ac_cv_linux_func_a_writepage_takes_writeback_control" = "xyes" ; then
867                   AC_DEFINE(AOP_WRITEPAGE_TAKES_WRITEBACK_CONTROL, 1, [define if your aops.writepage takes a struct writeback_control argument])
868                  fi
869                  if test "x$ac_cv_linux_func_refrigerator_takes_pf_freeze" = "xyes" ; then
870                   AC_DEFINE(LINUX_REFRIGERATOR_TAKES_PF_FREEZE, 1, [define if your refrigerator takes PF_FREEZE])
871                  fi
872                  if test "x$ac_cv_linux_func_i_create_takes_nameidata" = "xyes" ; then
873                   AC_DEFINE(IOP_CREATE_TAKES_NAMEIDATA, 1, [define if your iops.create takes a nameidata argument])
874                  fi
875                  if test "x$ac_cv_linux_func_f_flush_takes_fl_owner_t" = "xyes" ; then
876                   AC_DEFINE(FOP_FLUSH_TAKES_FL_OWNER_T, 1, [define if your fops.flush takes an fl_owner_t argument])
877                  fi
878                  if test "x$ac_cv_linux_func_i_lookup_takes_nameidata" = "xyes" ; then
879                   AC_DEFINE(IOP_LOOKUP_TAKES_NAMEIDATA, 1, [define if your iops.lookup takes a nameidata argument])
880                  fi
881                  if test "x$ac_cv_linux_func_i_permission_takes_nameidata" = "xyes" ; then
882                   AC_DEFINE(IOP_PERMISSION_TAKES_NAMEIDATA, 1, [define if your iops.permission takes a nameidata argument])
883                  fi
884                  if test "x$ac_cv_linux_func_d_revalidate_takes_nameidata" = "xyes" ; then
885                   AC_DEFINE(DOP_REVALIDATE_TAKES_NAMEIDATA, 1, [define if your dops.d_revalidate takes a nameidata argument])
886                  fi
887                  if test "x$ac_cv_linux_init_work_has_data" = "xyes" ; then
888                   AC_DEFINE(INIT_WORK_HAS_DATA, 1, [define if INIT_WORK takes a data (3rd) argument])
889                  fi
890                  if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then
891                   AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_FLOCK, 1, [define if your struct file_operations has flock])
892                  fi
893                  if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
894                   AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SENDFILE, 1, [define if your struct file_operations has sendfile])
895                  fi
896                  if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then
897                   AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SPLICE, 1, [define if your struct file_operations has splice_write and splice_read])
898                  fi
899                  if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
900                   AC_DEFINE(REGISTER_SYSCTL_TABLE_NOFLAG, 1, [define if register_sysctl_table has no insert_at head flag])
901                  fi
902                  if test "x$ac_cv_linux_sysctl_table_checking" = "xyes" ; then
903                   AC_DEFINE(SYSCTL_TABLE_CHECKING, 1, [define if your kernel has sysctl table checking])
904                  fi
905                  if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
906                   AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if tasklist_lock exported])
907                  fi
908                  if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
909                   AC_DEFINE(HAVE_KMEM_CACHE_T, 1, [define if kmem_cache_t exists])
910                  fi
911                  if test "x$ac_cv_linux_kmem_cache_init" = "xyes" ; then
912                   AC_DEFINE(KMEM_CACHE_INIT, 1, [define for new kmem_cache init function parameters])
913                  fi
914                  if test "x$ac_cv_linux_have_current_kernel_time" = "xyes" ; then
915                   AC_DEFINE(HAVE_CURRENT_KERNEL_TIME, 1, [define if current_kernel_time() exists])
916                  fi
917                  if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
918                   AC_DEFINE(KMEM_CACHE_TAKES_DTOR, 1, [define if kmem_cache_create takes a destructor argument])
919                  fi
920                  if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then
921                   AC_DEFINE(USABLE_KERNEL_PAGE_SYMLINK_CACHE, 1, [define if your kernel has a usable symlink cache API])
922                  else
923                   AC_MSG_WARN([your kernel does not have a usable symlink cache API])
924                  fi
925                  if test "x$ac_cv_linux_have_svc_addr_in" = "xyes"; then
926                   AC_DEFINE(HAVE_SVC_ADDR_IN, 1, [define if svc_add_in exists])
927                  fi
928                 :
929                 fi
930 esac
931
932 case $AFS_SYSNAME in
933         *_darwin*)
934                 DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
935                 DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
936                 dnl the test below fails on darwin, even if the CPPFLAGS below
937                 dnl are added. the headers from Kernel.framework must be used
938                 dnl when KERNEL is defined.
939
940                 dnl really, such a thing isn't guaranteed to work on any 
941                 dnl platform until the kernel cflags from MakefileProto are
942                 dnl known to configure
943                 AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
944                 ;;
945         *)
946 AC_MSG_CHECKING(for definition of struct buf)
947 dnl save_CPPFLAGS="$CPPFLAGS"
948 dnl CPPFLAGS="$CPPFLAGS -DKERNEL -D_KERNEL -D__KERNEL -D__KERNEL__"
949 AC_CACHE_VAL(ac_cv_have_struct_buf, [
950         ac_cv_have_struct_buf=no
951         AC_TRY_COMPILE(
952                 [#include <sys/buf.h>],
953                 [struct buf x;
954                 printf("%d\n", sizeof(x));],
955                 ac_cv_have_struct_buf=yes,)
956         ]
957 )
958 dnl CPPFLAGS="$save_CPPFLAGS"
959 AC_MSG_RESULT($ac_cv_have_struct_buf)
960 if test "$ac_cv_have_struct_buf" = yes; then
961         AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
962 fi
963 ;;
964 esac
965
966
967 AC_CACHE_VAL(ac_cv_sockaddr_len,
968 [
969 AC_MSG_CHECKING([if struct sockaddr has sa_len field])
970 AC_TRY_COMPILE( [#include <sys/types.h>
971 #include <sys/socket.h>],
972 [struct sockaddr *a;
973 a->sa_len=0;], ac_cv_sockaddr_len=yes, ac_cv_sockaddr_len=no)
974 AC_MSG_RESULT($ac_cv_sockaddr_len)])
975 if test "$ac_cv_sockaddr_len" = "yes"; then
976    AC_DEFINE(STRUCT_SOCKADDR_HAS_SA_LEN, 1, [define if you struct sockaddr sa_len])
977 fi
978 if test "x${MKAFS_OSTYPE}" = "xIRIX"; then
979         echo Skipping library tests because they confuse Irix.
980 else
981   AC_CHECK_FUNCS(socket)
982
983   if test "$ac_cv_func_socket" = no; then
984     for lib in socket inet; do
985         if test "$HAVE_SOCKET" != 1; then
986                 AC_CHECK_LIB(${lib}, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET, 1, [define if you have socket]))
987         fi
988     done
989   fi
990   
991   AC_CHECK_FUNCS(connect)       
992
993   if test "$ac_cv_func_connect" = no; then
994     for lib in nsl; do
995         if test "$HAVE_CONNECT" != 1; then
996                 AC_CHECK_LIB(${lib}, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT, 1, [define if you have connect]))
997         fi
998     done
999   fi
1000
1001   AC_CHECK_FUNCS(gethostbyname)
1002   if test "$ac_cv_func_gethostbyname" = no; then
1003         for lib in dns nsl resolv; do
1004           if test "$HAVE_GETHOSTBYNAME" != 1; then
1005             AC_CHECK_LIB(${lib}, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [define if you have gethostbyname]))
1006           fi
1007         done    
1008   fi    
1009
1010   dnl darwin wants it, aix hates it
1011   AC_MSG_CHECKING(for the useability of arpa/nameser_compat.h)
1012   AC_TRY_COMPILE([
1013   #include <stdlib.h>
1014   #include <stdio.h>
1015   #include <sys/types.h>
1016   #include <sys/socket.h>
1017   #include <netinet/in.h>
1018   #include <arpa/inet.h>
1019   #include <arpa/nameser.h>
1020   #include <arpa/nameser_compat.h>
1021   #include <resolv.h>
1022   ], [static int i; i = 0;],
1023   [AC_MSG_RESULT(yes)
1024    AC_DEFINE(HAVE_ARPA_NAMESER_COMPAT_H)],
1025   [AC_MSG_RESULT(no)
1026    ])
1027
1028   openafs_save_libs="$LIBS"
1029   AC_MSG_CHECKING([for res_search])
1030   AC_FUNC_RES_SEARCH
1031
1032   if test "$ac_cv_func_res_search" = no; then
1033       for lib in dns nsl resolv; do
1034         if test "$ac_cv_func_res_search" != yes; then
1035           LIBS="-l$lib $LIBS"
1036           AC_FUNC_RES_SEARCH
1037           LIBS="$openafs_save_libs"
1038         fi
1039       done    
1040       if test "$ac_cv_func_res_search" = yes; then
1041         LIB_res_search="-l$lib"       
1042         AC_DEFINE(HAVE_RES_SEARCH, 1, [])
1043         AC_MSG_RESULT([yes, in lib$lib])
1044       else
1045         AC_MSG_RESULT(no)
1046       fi
1047   else
1048     AC_DEFINE(HAVE_RES_SEARCH, 1, [])
1049     AC_MSG_RESULT(yes)
1050   fi
1051   
1052 fi
1053
1054 PTHREAD_LIBS=error
1055 if test "x$MKAFS_OSTYPE" = OBSD; then
1056         PTHREAD_LIBS="-pthread"
1057 fi
1058 if test "x$PTHREAD_LIBS" = xerror; then
1059         AC_CHECK_LIB(pthread, pthread_attr_init,
1060                 PTHREAD_LIBS="-lpthread")
1061 fi
1062 if test "x$PTHREAD_LIBS" = xerror; then
1063         AC_CHECK_LIB(pthreads, pthread_attr_init,
1064                 PTHREAD_LIBS="-lpthreads")
1065 fi
1066 if test "x$PTHREAD_LIBS" = xerror; then
1067         AC_CHECK_LIB(c_r, pthread_attr_init,
1068                 PTHREAD_LIBS="-lc_r")
1069 fi
1070 if test "x$PTHREAD_LIBS" = xerror; then
1071         AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="")
1072 fi
1073 if test "x$PTHREAD_LIBS" = xerror; then
1074         # pthread_attr_init is a macro under HPUX 11.0 and 11.11
1075         AC_CHECK_LIB(pthread, pthread_attr_destroy,
1076                 PTHREAD_LIBS="-lpthread")
1077 fi
1078 if test "x$PTHREAD_LIBS" = xerror; then
1079         AC_MSG_WARN(*** Unable to locate working posix thread library ***)
1080 fi
1081 AC_SUBST(PTHREAD_LIBS)
1082
1083 WITH_OBSOLETE=NO
1084 if test "$enable_obsolete" = "yes"; then
1085         WITH_OBSOLETE=YES
1086 fi
1087
1088 HOST_CPU="$host_cpu"
1089
1090 if test "x$with_bsd_kernel_headers" != "x"; then
1091         BSD_KERNEL_PATH="$with_bsd_kernel_headers"
1092 else
1093         BSD_KERNEL_PATH="/usr/src/sys"
1094 fi
1095
1096 if test "x$with_bsd_kernel_build" != "x"; then
1097         BSD_KERNEL_BUILD="$with_bsd_kernel_build"
1098 else
1099         case $AFS_SYSNAME in
1100                 *_fbsd_4?)
1101                         BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/compile/GENERIC"
1102                         ;;
1103                 *_fbsd_*)
1104                         BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/${HOST_CPU}/compile/GENERIC"
1105                         ;;
1106         esac
1107 fi
1108
1109 # Fast restart
1110 if test "$enable_supergroups" = "yes"; then
1111         AC_DEFINE(SUPERGROUPS, 1, [define if you want to have support for nested pts groups])
1112 fi
1113
1114 if test "$enable_fast_restart" = "yes"; then
1115         AC_DEFINE(FAST_RESTART, 1, [define if you want to have fast restart])
1116 fi
1117
1118 if test "$enable_bitmap_later" = "yes"; then
1119         AC_DEFINE(BITMAP_LATER, 1, [define if you want to salvager to check bitmasks later])
1120 fi
1121
1122 if test "$enable_demand_attach_fs" = "yes"; then
1123         AC_DEFINE(DEMAND_ATTACH_ENABLE, 1, [define if you want the demand attach fileserver])
1124         DEMAND_ATTACH="yes"
1125 else
1126         DEMAND_ATTACH="no"
1127 fi
1128 AC_SUBST(DEMAND_ATTACH)
1129
1130 if test "$enable_unix_sockets" = "yes"; then
1131         AC_DEFINE(USE_UNIX_SOCKETS, 1, [define if you want to use UNIX sockets for fssync.])
1132         USE_UNIX_SOCKETS="yes"
1133 else
1134         USE_UNIX_SOCKETS="no"
1135 fi
1136 AC_SUBST(USE_UNIX_SOCKETS)
1137
1138 if test "$enable_fast_restart" = "yes" &&
1139    test "$enable_demand_attach_fs" = "yes" ; then
1140         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.])
1141         exit 1
1142 fi
1143
1144 if test "$enable_full_vos_listvol_switch" = "yes"; then
1145         AC_DEFINE(FULL_LISTVOL_SWITCH, 1, [define if you want to want listvol switch])
1146 fi
1147
1148 if test "$enable_bos_restricted_mode" = "yes"; then
1149         AC_DEFINE(BOS_RESTRICTED_MODE, 1, [define if you want to want bos restricted mode])
1150 fi
1151
1152 if test "$enable_bos_new_config" = "yes"; then
1153         AC_DEFINE(BOS_NEW_CONFIG, 1, [define if you want to enable automatic renaming of BosConfig.new to BosConfig at startup])
1154 fi
1155
1156 if test "$enable_largefile_fileserver" = "yes"; then
1157         AC_DEFINE(AFS_LARGEFILE_ENV, 1, [define if you want large file fileserver])
1158 fi
1159
1160 if test "$enable_namei_fileserver" = "yes"; then
1161         AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver])
1162 fi
1163
1164 if test "$enable_afsdb" = "yes"; then
1165         LIB_AFSDB="$LIB_res_search"
1166         AC_DEFINE(AFS_AFSDB_ENV, 1, [define if you want to want search afsdb rr])
1167 fi
1168
1169 dnl check for tivoli
1170 AC_MSG_CHECKING(for tivoli tsm butc support)
1171 XBSA_CFLAGS=""
1172 if test "$enable_tivoli_tsm" = "yes"; then
1173         XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
1174         XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
1175
1176         if test -r "$XBSADIR1/xbsa.h"; then
1177                 XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
1178                 AC_MSG_RESULT([yes, $XBSA_CFLAGS])
1179         elif test -r "$XBSADIR2/xbsa.h"; then
1180                 XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
1181                 AC_MSG_RESULT([yes, $XBSA_CFLAGS])
1182         else
1183                 AC_MSG_RESULT([no, missing xbsa.h header file])
1184         fi
1185 else
1186         AC_MSG_RESULT([no])
1187 fi
1188 AC_SUBST(XBSA_CFLAGS)
1189
1190 dnl checks for header files.
1191 AC_HEADER_STDC
1192 AC_HEADER_SYS_WAIT
1193 AC_HEADER_DIRENT
1194 AC_CHECK_HEADERS(stdlib.h string.h unistd.h poll.h fcntl.h sys/time.h sys/file.h)
1195 AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h)
1196 AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h)
1197 AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h)
1198 AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h sys/user.h)
1199 AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h ucontext.h regex.h values.h)
1200
1201 if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
1202         HAVE_PAM="yes"
1203 else
1204         HAVE_PAM="no"
1205 fi
1206 AC_SUBST(HAVE_PAM)
1207
1208 if test "$enable_login" = yes; then
1209         BUILD_LOGIN="yes"
1210 else
1211         BUILD_LOGIN="no"
1212 fi
1213 AC_SUBST(BUILD_LOGIN)
1214
1215 AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec flock)
1216 AC_CHECK_FUNCS(setprogname getprogname sigaction mkstemp vsnprintf strerror strcasestr)
1217 AC_CHECK_FUNCS(setvbuf)
1218 AC_FUNC_SETVBUF_REVERSED
1219 AC_CHECK_FUNCS(regcomp regexec regerror)
1220 AC_MSG_CHECKING([for POSIX regex library])
1221 if test "$ac_cv_header_regex_h" = "yes" && \
1222         test "$ac_cv_func_regcomp" = "yes" && \
1223         test "$ac_cv_func_regexec" = "yes" && \
1224         test "$ac_cv_func_regerror" = "yes"; then
1225     AC_DEFINE(HAVE_POSIX_REGEX, 1, [define if you have POSIX regex library])
1226     AC_MSG_RESULT(yes)
1227 else
1228     AC_MSG_RESULT(no)
1229 fi
1230         
1231 AC_CHECK_TYPE(ssize_t, int)
1232 AC_SIZEOF_TYPE(long)
1233
1234 AC_MSG_CHECKING(size of time_t)
1235 AC_CACHE_VAL(ac_cv_sizeof_time_t,
1236 [AC_TRY_RUN([#include <stdio.h>
1237 #include <time.h>
1238 main()
1239 {
1240   FILE *f=fopen("conftestval", "w");
1241   if (!f) exit(1);
1242   fprintf(f, "%d\n", sizeof(time_t));
1243   exit(0);
1244 }], ac_cv_sizeof_time_t=`cat conftestval`, ac_cv_sizeof_time_t=0)
1245 ])
1246 AC_MSG_RESULT($ac_cv_sizeof_time_t)
1247 AC_DEFINE_UNQUOTED(SIZEOF_TIME_T, $ac_cv_sizeof_time_t)
1248
1249 AC_CHECK_FUNCS(timegm)
1250 AC_CHECK_FUNCS(daemon)
1251
1252 dnl Directory PATH handling
1253 if test "x$enable_transarc_paths" = "xyes"  ; then 
1254     afsconfdir=${afsconfdir=/usr/afs/etc}
1255     viceetcdir=${viceetcdir=/usr/vice/etc}
1256     afskerneldir=${afskerneldir=${viceetcdir}}
1257     afssrvbindir=${afssrvbindir=/usr/afs/bin}
1258     afssrvsbindir=${afssrvsbindir=/usr/afs/bin}
1259     afssrvlibexecdir=${afssrvlibexecdir=/usr/afs/bin}
1260     afsdbdir=${afsdbdir=/usr/afs/db}
1261     afslogsdir=${afslogsdir=/usr/afs/logs}
1262     afslocaldir=${afslocaldir=/usr/afs/local}
1263     afsbackupdir=${afsbackupdir=/usr/afs/backup}
1264     afsbosconfigdir=${afsbosconfigdir=/usr/afs/local}
1265 else 
1266     afsconfdir=${afsconfdir='${sysconfdir}/openafs/server'}
1267     viceetcdir=${viceetcdir='${sysconfdir}/openafs'}
1268     afskerneldir=${afskerneldir='${libdir}/openafs'}
1269     afssrvbindir=${afssrvbindir='${bindir}'}
1270     afssrvsbindir=${afssrvsbindir='${sbindir}'}
1271     afssrvlibexecdir=${afssrvlibexecdir='${libexecdir}/openafs'}
1272     afsdbdir=${afsdbdir='${localstatedir}/openafs/db'}
1273     afslogsdir=${afslogsdir='${localstatedir}/openafs/logs'}
1274     afslocaldir=${afslocaldir='${localstatedir}/openafs'}
1275     afsbackupdir=${afsbackupdir='${localstatedir}/openafs/backup'}
1276     afsbosconfigdir=${afsbosconfigdir='${sysconfdir}/openafs'}
1277 fi
1278 AC_SUBST(afsconfdir)
1279 AC_SUBST(viceetcdir)
1280 AC_SUBST(afskerneldir)
1281 AC_SUBST(afssrvbindir)
1282 AC_SUBST(afssrvsbindir)
1283 AC_SUBST(afssrvlibexecdir)
1284 AC_SUBST(afsdbdir)
1285 AC_SUBST(afslogsdir)
1286 AC_SUBST(afslocaldir)
1287 AC_SUBST(afsbackupdir)
1288 AC_SUBST(afsbosconfigdir)
1289
1290 if test "x$enable_kernel_module" = "xyes"; then
1291 ENABLE_KERNEL_MODULE=libafs
1292 fi
1293
1294 AC_SUBST(AFS_SYSNAME)
1295 AC_SUBST(AFS_PARAM_COMMON)
1296 AC_SUBST(ENABLE_KERNEL_MODULE)
1297 AC_SUBST(LIB_AFSDB)
1298 AC_SUBST(LINUX_KERNEL_PATH)
1299 AC_SUBST(HOST_CPU)
1300 AC_SUBST(BSD_KERNEL_PATH)
1301 AC_SUBST(BSD_KERNEL_BUILD)
1302 AC_SUBST(LINUX_VERSION)
1303 AC_SUBST(MKAFS_OSTYPE)
1304 AC_SUBST(TOP_OBJDIR)
1305 AC_SUBST(TOP_SRCDIR)
1306 AC_SUBST(TOP_INCDIR)
1307 AC_SUBST(TOP_LIBDIR)
1308 AC_SUBST(DEST)
1309 AC_SUBST(WITH_OBSOLETE)
1310 AC_SUBST(DARWIN_INFOFILE)
1311 AC_SUBST(IRIX_BUILD_IP35)
1312
1313 OPENAFS_OSCONF
1314 OPENAFS_KRB5CONF
1315
1316 TOP_SRCDIR="${srcdir}/src"
1317 dnl
1318 dnl If we're using ./configure, need a more reasonable TOP_SRCDIR, since relative links don't work everywhere
1319 dnl
1320 case $TOP_SRCDIR in
1321         /*)
1322                 ;;
1323         *)
1324                 TOP_SRCDIR=`cd $TOP_SRCDIR; pwd`
1325                 ;;
1326 esac
1327
1328 TOP_OBJDIR="${SRCDIR_PARENT}"
1329 TOP_INCDIR="${SRCDIR_PARENT}/include"
1330 TOP_LIBDIR="${SRCDIR_PARENT}/lib"
1331 if test "${DEST}x" = "x"; then
1332         DEST="${SRCDIR_PARENT}/${AFS_SYSNAME}/dest"
1333 fi
1334
1335 HELPER_SPLINT="${TOP_SRCDIR}/helper-splint.sh"
1336 HELPER_SPLINTCFG="${TOP_SRCDIR}/splint.cfg"
1337 AC_SUBST(HELPER_SPLINT)
1338 AC_SUBST(HELPER_SPLINTCFG)
1339
1340 mkdir -p ${TOP_OBJDIR}/src/JAVA/libjafs
1341
1342 ])