2 AC_DEFUN([OPENAFS_OSCONF], [
4 dnl defaults, override in case below as needed
9 XLIBS="${LIB_AFSDB} ${LIB_libintl}"
10 MT_LIBS='-lpthread ${XLIBS}'
13 dnl debugging and optimization flag defaults
14 dnl Note, these are all the defaults for if debug/optimize turned on, and
15 dnl the arch cases below do override as needed
28 AC_CHECK_PROGS(AS, as, [false])
29 AC_CHECK_PROGS(MV, mv, [false])
30 AC_CHECK_PROGS(RM, rm, [false])
31 AC_CHECK_PROGS(LD, ld, [false])
32 AC_CHECK_PROGS(CP, cp, [false])
33 AC_CHECK_PROGS(GENCAT, gencat, [false])
35 dnl if ar is not present, libtool.m4 (provided by libtool) sets AR to false
36 dnl if strip is not present, libtool.m4 (provided by libtool) sets STRIP to :
37 AS_IF([test "x$AR" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'ar'])])
38 AS_IF([test "x$AS" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'as'])])
39 AS_IF([test "x$MV" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'mv'])])
40 AS_IF([test "x$RM" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'rm'])])
41 AS_IF([test "x$LD" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'ld'])])
42 AS_IF([test "x$CP" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'cp'])])
43 AS_IF([test "x$GENCAT" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'gencat'])])
45 dnl TODO - need to disable STRIP if we are doing debugging in any user space code
48 alpha_linux_22 | alpha_linux_24 | alpha_linux_26)
50 MT_CFLAGS='-pthread -D_REENTRANT'
52 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
54 SHLIB_LINKER="${CC} -shared"
57 arm_linux_24 | arm_linux26 | arm64_linux26)
59 MT_CFLAGS='-pthread -D_REENTRANT'
61 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
63 SHLIB_LINKER="${CC} -shared"
68 CC="/opt/ansic/bin/cc -Ae"
71 LEX="/opt/langtools/bin/lex"
73 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
74 MT_LIBS='-L/opt/dce/lib -ldce ${XLIBS}'
77 PAM_CFLAGS="+DA1.0 +z -Wl,+k"
78 PAM_LIBS="/usr/lib/libpam.1"
79 RANLIB="/usr/bin/ranlib"
82 VFSCK_CFLAGS="-D_FILE64"
83 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
84 XCFLAGS64="${XCFLAGS0} +DA2.0W"
85 XCFLAGS="${XCFLAGS0} +DA1.0"
86 YACC="/opt/langtools/bin/yacc"
93 CC="/opt/ansic/bin/cc"
96 LEX="/opt/langtools/bin/lex"
98 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
101 PAM_CFLAGS="+DA1.0 +z -Wl,+k"
102 PAM_LIBS="/usr/lib/libpam.1"
103 RANLIB="/usr/bin/ranlib"
106 VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
107 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
108 XCFLAGS64="${XCFLAGS0} +DA2.0W"
109 XCFLAGS="${XCFLAGS0} +DA1.0"
111 YACC="/opt/langtools/bin/yacc"
118 CC="/opt/ansic/bin/cc"
119 DBM="/lib/hpux32/libndbm.so"
121 LEX="/opt/langtools/bin/lex"
123 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
126 PAM_CFLAGS="-b +z -Wl,+k"
127 PAM_LIBS="/usr/lib/hpux32/libpam.so"
128 RANLIB="/usr/bin/ranlib"
131 VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
132 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
133 XCFLAGS64="${XCFLAGS0} +DD64"
134 XCFLAGS="${XCFLAGS0}"
136 YACC="/opt/langtools/bin/yacc"
141 MT_CFLAGS='-pthread -D_REENTRANT'
143 PAM_CFLAGS="-pipe -fPIC"
144 SHLIB_LINKER="${CC} -shared"
149 MT_CFLAGS='-pthread -D_REENTRANT'
151 PAM_CFLAGS="-pipe -fPIC"
152 SHLIB_LINKER="${CC} -shared"
157 MT_CFLAGS='-pthread -D_REENTRANT'
158 PAM_CFLAGS="-O2 -pipe -fPIC"
159 SHLIB_LINKER="${CC} -shared"
160 XCFLAGS="-O2 -pipe -fPIC"
163 *nbsd2*|*nbsd3*|*nbsd4*|*nbsd5*|*nbsd6*|*nbsd7*)
164 MT_CFLAGS='-pthread -D_REENTRANT'
166 PAM_CFLAGS="-pipe -fPIC"
168 SHLIB_LINKER="${CC} -shared"
175 PAM_CFLAGS="-pipe -fPIC"
176 SHLIB_LINKER="${CC} -shared"
182 MT_CFLAGS='-pthread -D_REENTRANT'
184 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
187 SHLIB_LINKER="${CC} -shared"
193 MT_CFLAGS='-pthread -D_REENTRANT'
195 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
197 SHLIB_LINKER="${CC} -shared"
201 MT_CFLAGS='-pthread -D_REENTRANT'
203 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
205 SHLIB_LINKER="${CC} -shared -m64"
213 MT_CFLAGS='-pthread -D_REENTRANT'
219 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
221 SHLIB_LINKER="${CC} -shared"
225 MT_CFLAGS='-pthread -D_REENTRANT'
231 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
233 SHLIB_LINKER="${CC} -shared"
238 MT_CFLAGS='-pthread -D_REENTRANT'
242 PAM_CFLAGS="-pipe -fpic"
244 SHLIB_LINKER="${CC} -shared"
250 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
251 MT_CFLAGS='-D_REENTRANT'
253 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
256 XCFLAGS="-no-cpp-precomp"
257 EXTRA_VLIBOBJS="fstab.o"
258 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
260 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
265 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
266 MT_CFLAGS="-D_REENTRANT"
268 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
273 EXTRA_VLIBOBJS="fstab.o"
274 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
277 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
281 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
282 MT_CFLAGS="-D_REENTRANT"
284 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
290 EXTRA_VLIBOBJS="fstab.o"
291 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
294 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
298 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
299 MT_CFLAGS="-D_REENTRANT"
300 MT_LIBS="${LIB_AFSDB} -framework CoreFoundation"
302 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
310 EXTRA_VLIBOBJS="fstab.o"
311 SHLIB_LINKER="${CC} -dynamiclib"
314 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
317 *_darwin_100 | *_darwin_110 | *_darwin_120 | *_darwin_130 | *_darwin_140 | *_darwin_150 | *_darwin_160 | *_darwin_170 | *_darwin_180)
318 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
319 MT_CFLAGS="-D_REENTRANT"
322 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
329 EXTRA_VLIBOBJS="fstab.o"
330 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
333 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
338 MT_CFLAGS='-pthread -D_REENTRANT'
340 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
342 SHLIB_LINKER="${CC} -shared"
348 LIBSYS_AIX_EXP="afsl.exp"
351 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
352 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
353 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
358 rs_aix51 | rs_aix52 | rs_aix53)
361 LIBSYS_AIX_EXP="afsl.exp"
364 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
365 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
366 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
374 LIBSYS_AIX_EXP="afsl.exp"
377 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
378 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
379 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
387 MT_CFLAGS='-pthread -D_REENTRANT'
389 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
391 SHLIB_LINKER="${CC} -shared"
398 MT_CFLAGS='-pthread -D_REENTRANT'
400 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
403 XCFLAGS="-D__s390x__"
404 SHLIB_LINKER="${CC} -shared"
409 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
410 FSINCLUDES="-I/usr/include/sys/fs"
411 MT_CFLAGS='-D_SGI_MP_SOURCE'
412 XCFLAGS64="-64 -mips3"
416 SHLIB_LINKER="${CC} -shared"
421 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
422 FSINCLUDES="-I/usr/include/sys/fs"
423 MT_CFLAGS='-D_SGI_MP_SOURCE'
424 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
425 XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
428 SHLIB_LINKER="${CC} -shared"
433 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
434 FSINCLUDES="-I/usr/include/sys/fs"
435 MT_CFLAGS='-D_SGI_MP_SOURCE'
436 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
437 XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -n32 -woff 1009,1014,1110,1116,1164,1169,1171,1174,1177,1183,1185,1204,1233,1515,1516,1548,1169,1174,1177,1196,1498,1506,1552,3201 -Wl,-woff,84,-woff,15"
440 SHLIB_LINKER="${CC} -shared"
444 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
446 FSINCLUDES="-I/usr/include/sys/fs"
448 MT_CFLAGS='-D_SGI_MP_SOURCE'
449 XCFLAGS64="-64 -mips3"
450 XCFLAGS="-n32 -mips3 -woff 1009,1014,1110,1116,1164,1171,1177,1183,1185,1204,1233,1515,1516,1548,1169,1174,1177,1196,1498,1506,1552,3201 -Wl,-woff,84,-woff,15"
451 XLDFLAGS64="-64 -mips3"
452 XLDFLAGS="-n32 -mips3"
453 SHLIB_LINKER="${CC} -shared"
458 MT_CFLAGS='-pthread -D_REENTRANT'
460 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
464 SHLIB_LINKER="${CC} -shared"
472 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
474 XCFLAGS64='${XCFLAGS} -m64'
475 XCFLAGS="-dy -Bdynamic"
478 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
479 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
489 if test "x`echo "${ARCHFLAGS}" | grep m32`" != "x" ; then
490 CURRENTBUILDARCH=i386
492 if test "x`echo "${ARCHFLAGS}" | grep m64`" != "x" ; then
493 CURRENTBUILDARCH=amd64
495 if test "x${CURRENTBUILDARCH}" = "x" ; then
496 CURRENTBUILDARCH=`isainfo -k`
498 if test "${CURRENTBUILDARCH}" = "amd64" ; then
505 CFLAGS="$CFLAGS ${XARCHFLAGS}"
510 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
512 XCFLAGS0="-dy -Bdynamic"
513 XCFLAGS64="${XCFLAGS0} -m64"
514 XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
516 XLDFLAGS="${XARCHFLAGS}"
517 ASFLAGS="${XARCHFLAGS}"
520 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
521 SHLIB_LINKER="${CC} ${XARCHFLAGS} -G -dy -Bsymbolic -z text"
526 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
529 # Defaults for --enable-optimize-kernel
531 if test "x$enable_optimize_kernel" = "x" ; then
532 AS_CASE([$AFS_SYSNAME],
533 [sunx86_510|sunx86_511],
534 dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
535 dnl instructions to optimized code, without any known way to turn it off.
536 dnl To cope, this condition was added to change the default to
538 dnl Now that we have an autoconf test to allow disabling the SSE
539 dnl optimizations, it's safe to once more default to 'yes' here.
540 [enable_optimize_kernel=yes],
541 [enable_optimize_kernel=yes])
545 # Special build targets
549 IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS
550 XFS_SIZE_CHECK="xfs_size_check"
551 install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
552 dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
554 AC_SUBST(XFS_SIZE_CHECK)
555 AC_SUBST(install_XFS_SIZE_CHECK)
556 AC_SUBST(dest_XFS_SIZE_CHECK)
559 if test "x$enable_debug_kernel" = "xyes"; then
561 AC_SUBST(DEBUG_FLAGS)
566 dnl Disable the default for debugging/optimization if not enabled
567 if test "x$enable_debug_kernel" = "xno"; then
571 if test "x$enable_optimize_kernel" = "xno"; then
575 if test "x$enable_debug" = "xno"; then
580 if test "x$enable_optimize" = "xno"; then
584 if test "x$enable_debug_lwp" = "xno"; then
588 if test "x$enable_optimize_lwp" = "xno"; then
592 if test "x$enable_strip_binaries" != "xno"; then
593 if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
603 CFLAGS_NOSTRICT=-fno-strict-aliasing
606 XCFLAGS_NOCHECKING="$XCFLAGS"
608 if test "x$GCC" = "xyes"; then
609 if test "x$enable_warnings" = "xyes"; then
610 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Wpointer-arith"
612 if test "x$enable_checking" != "xno"; then
613 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
614 CFLAGS_WERROR="-Werror"
615 if test "x$enable_checking" != "xall"; then
616 CFLAGS_NOERROR="-Wno-error"
617 CFLAGS_NOUNUSED="-Wno-unused"
618 CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
619 AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
628 warn_common="-v -errfmt=error -errtags=yes -erroff=E_ATTRIBUTE_UNKNOWN,E_END_OF_LOOP_CODE_NOT_REACHED"
629 if test "x$enable_warnings" = "xyes" ; then
630 XCFLAGS="${XCFLAGS} $warn_common"
632 if test "x$enable_checking" != "xno" ; then
633 XCFLAGS="${XCFLAGS} $warn_common -errwarn=%all"
634 if test "x$enable_checking" != "xall" ; then
635 CFLAGS_NOERROR="-errwarn=%none"
642 dnl horribly cheating, assuming double / is ok.
645 INSTALL="/@abs_top_srcdir@/install-sh -c"
651 INSTALL_PROGRAM="${INSTALL_PROGRAM} ${NO_STRIP_BIN}"
656 AC_SUBST(AFSD_LDFLAGS)
675 AC_SUBST(NO_STRIP_BIN)
685 AC_SUBST(SHLIB_CFLAGS)
686 AC_SUBST(SHLIB_LINKER)
687 AC_SUBST(SHLIB_SUFFIX)
688 AC_SUBST(VFSCK_CFLAGS)
690 AC_SUBST(CFLAGS_NOERROR)
691 AC_SUBST(CFLAGS_NOSTRICT)
692 AC_SUBST(CFLAGS_NOUNUSED)
693 AC_SUBST(CFLAGS_NOOLDSTYLE)
694 AC_SUBST(CFLAGS_WERROR)