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
52 MT_CFLAGS='-D_REENTRANT=1 -pthread'
53 MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
54 XCFLAGS="-D_NO_PROTO -DOSF"
55 SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
58 alpha_dux50 | alpha_dux51)
63 MT_CFLAGS='-D_REENTRANT=1 -pthread'
64 MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
65 XCFLAGS="-D_NO_PROTO -DOSF"
66 SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
69 alpha_linux_22 | alpha_linux_24 | alpha_linux_26)
71 MT_CFLAGS='-pthread -D_REENTRANT'
73 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
75 SHLIB_LDFLAGS="-shared -Xlinker -x"
76 SHLIB_LINKER="${CC} -shared"
79 arm_linux_24 | arm_linux26 | arm64_linux26)
81 MT_CFLAGS='-pthread -D_REENTRANT'
83 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
85 SHLIB_LDFLAGS="-shared -Xlinker -x"
86 SHLIB_LINKER="${CC} -shared"
91 CC="/opt/ansic/bin/cc -Ae"
94 LEX="/opt/langtools/bin/lex"
96 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
97 MT_LIBS='-L/opt/dce/lib -ldce ${XLIBS}'
100 PAM_CFLAGS="+DA1.0 +z -Wl,+k"
101 PAM_LIBS="/usr/lib/libpam.1"
102 RANLIB="/usr/bin/ranlib"
104 SHLIB_LDFLAGS="-b -Bsymbolic"
106 VFSCK_CFLAGS="-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"
110 YACC="/opt/langtools/bin/yacc"
117 CC="/opt/ansic/bin/cc"
120 LEX="/opt/langtools/bin/lex"
122 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
125 PAM_CFLAGS="+DA1.0 +z -Wl,+k"
126 PAM_LIBS="/usr/lib/libpam.1"
127 RANLIB="/usr/bin/ranlib"
129 SHLIB_LDFLAGS="-b -Bsymbolic"
131 VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
132 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
133 XCFLAGS64="${XCFLAGS0} +DA2.0W"
134 XCFLAGS="${XCFLAGS0} +DA1.0"
136 YACC="/opt/langtools/bin/yacc"
143 CC="/opt/ansic/bin/cc"
144 DBM="/lib/hpux32/libndbm.so"
146 LEX="/opt/langtools/bin/lex"
148 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
151 PAM_CFLAGS="-b +z -Wl,+k"
152 PAM_LIBS="/usr/lib/hpux32/libpam.so"
153 RANLIB="/usr/bin/ranlib"
155 SHLIB_LDFLAGS="-b -Bsymbolic"
157 VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
158 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
159 XCFLAGS64="${XCFLAGS0} +DD64"
160 XCFLAGS="${XCFLAGS0}"
162 YACC="/opt/langtools/bin/yacc"
167 MT_CFLAGS='-pthread -D_REENTRANT'
169 PAM_CFLAGS="-pipe -fPIC"
170 SHLIB_LDFLAGS="-shared -Xlinker -x"
171 SHLIB_LINKER="${CC} -shared"
176 MT_CFLAGS='-pthread -D_REENTRANT'
178 PAM_CFLAGS="-pipe -fPIC"
179 SHLIB_LDFLAGS="-shared -Xlinker -x"
180 SHLIB_LINKER="${CC} -shared"
185 MT_CFLAGS='-pthread -D_REENTRANT'
186 PAM_CFLAGS="-O2 -pipe -fPIC"
187 SHLIB_LDFLAGS="-shared -Xlinker -x"
188 SHLIB_LINKER="${CC} -shared"
189 XCFLAGS="-O2 -pipe -fPIC"
192 *nbsd2*|*nbsd3*|*nbsd4*|*nbsd5*|*nbsd6*|*nbsd7*)
193 MT_CFLAGS='-pthread -D_REENTRANT'
195 PAM_CFLAGS="-pipe -fPIC"
197 SHLIB_LDFLAGS="-shared -Xlinker -x"
198 SHLIB_LINKER="${CC} -shared"
205 PAM_CFLAGS="-pipe -fPIC"
206 SHLIB_LDFLAGS="-shared -Xlinker -x"
207 SHLIB_LINKER="${CC} -shared"
213 MT_CFLAGS='-pthread -D_REENTRANT'
215 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
217 SHLIB_LDFLAGS="-shared -Xlinker -x"
219 SHLIB_LINKER="${CC} -shared"
225 MT_CFLAGS='-pthread -D_REENTRANT'
227 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
229 SHLIB_LDFLAGS="-shared -Xlinker -x"
230 SHLIB_LINKER="${CC} -shared"
234 MT_CFLAGS='-pthread -D_REENTRANT'
236 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
237 SHLIB_LDFLAGS="-shared -Xlinker -x"
239 SHLIB_LINKER="${CC} -shared -m64"
247 MT_CFLAGS='-pthread -D_REENTRANT'
253 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
255 SHLIB_LDFLAGS="-shared -Xlinker -x"
256 SHLIB_LINKER="${CC} -shared"
260 MT_CFLAGS='-pthread -D_REENTRANT'
266 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
268 SHLIB_LDFLAGS="-shared -Xlinker -x"
269 SHLIB_LINKER="${CC} -shared"
274 MT_CFLAGS='-pthread -D_REENTRANT'
278 PAM_CFLAGS="-pipe -fpic"
280 SHLIB_LDFLAGS="-shared -Xlinker -x"
281 SHLIB_LINKER="${CC} -shared"
287 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
288 MT_CFLAGS='-D_REENTRANT'
290 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
293 XCFLAGS="-no-cpp-precomp"
294 EXTRA_VLIBOBJS="fstab.o"
295 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
297 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
302 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
303 MT_CFLAGS="-D_REENTRANT"
305 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
310 EXTRA_VLIBOBJS="fstab.o"
311 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
314 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
318 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
319 MT_CFLAGS="-D_REENTRANT"
321 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
327 EXTRA_VLIBOBJS="fstab.o"
328 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
331 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
335 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
336 MT_CFLAGS="-D_REENTRANT"
337 MT_LIBS="${LIB_AFSDB} -framework CoreFoundation"
339 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
347 EXTRA_VLIBOBJS="fstab.o"
348 SHLIB_LINKER="${CC} -dynamiclib"
351 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
354 *_darwin_100 | *_darwin_110 | *_darwin_120 | *_darwin_130 | *_darwin_140 | *_darwin_150 | *_darwin_160 | *_darwin_170 | *_darwin_180)
355 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
356 MT_CFLAGS="-D_REENTRANT"
359 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
366 EXTRA_VLIBOBJS="fstab.o"
367 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
370 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
375 MT_CFLAGS='-pthread -D_REENTRANT'
377 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
379 SHLIB_LDFLAGS="-shared -Xlinker -x"
380 SHLIB_LINKER="${CC} -shared"
386 LIBSYS_AIX_EXP="afsl.exp"
389 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
390 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
391 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
396 rs_aix51 | rs_aix52 | rs_aix53)
399 LIBSYS_AIX_EXP="afsl.exp"
402 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
403 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
404 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
412 LIBSYS_AIX_EXP="afsl.exp"
415 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
416 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
417 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
425 MT_CFLAGS='-pthread -D_REENTRANT'
427 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
429 SHLIB_LDFLAGS="-shared -Xlinker -x"
430 SHLIB_LINKER="${CC} -shared"
437 MT_CFLAGS='-pthread -D_REENTRANT'
439 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
441 SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
443 XCFLAGS="-D__s390x__"
444 SHLIB_LINKER="${CC} -shared"
449 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
450 FSINCLUDES="-I/usr/include/sys/fs"
451 MT_CFLAGS='-D_SGI_MP_SOURCE'
452 XCFLAGS64="-64 -mips3"
456 SHLIB_LINKER="${CC} -shared"
461 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
462 FSINCLUDES="-I/usr/include/sys/fs"
463 MT_CFLAGS='-D_SGI_MP_SOURCE'
464 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
465 XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
468 SHLIB_LINKER="${CC} -shared"
473 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
474 FSINCLUDES="-I/usr/include/sys/fs"
475 MT_CFLAGS='-D_SGI_MP_SOURCE'
476 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
477 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"
480 SHLIB_LINKER="${CC} -shared"
484 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
486 FSINCLUDES="-I/usr/include/sys/fs"
488 MT_CFLAGS='-D_SGI_MP_SOURCE'
489 XCFLAGS64="-64 -mips3"
490 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"
491 XLDFLAGS64="-64 -mips3"
492 XLDFLAGS="-n32 -mips3"
493 SHLIB_LINKER="${CC} -shared"
498 MT_CFLAGS='-pthread -D_REENTRANT'
500 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
502 SHLIB_LDFLAGS="-shared -Xlinker -x"
505 SHLIB_LINKER="${CC} -shared"
513 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
515 SHLIB_LDFLAGS="-G -Bsymbolic"
516 XCFLAGS64='${XCFLAGS} -m64'
517 XCFLAGS="-dy -Bdynamic"
520 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
521 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
531 if test "x`echo "${ARCHFLAGS}" | grep m32`" != "x" ; then
532 CURRENTBUILDARCH=i386
534 if test "x`echo "${ARCHFLAGS}" | grep m64`" != "x" ; then
535 CURRENTBUILDARCH=amd64
537 if test "x${CURRENTBUILDARCH}" = "x" ; then
538 CURRENTBUILDARCH=`isainfo -k`
540 if test "${CURRENTBUILDARCH}" = "amd64" ; then
547 CFLAGS="$CFLAGS ${XARCHFLAGS}"
552 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
554 SHLIB_LDFLAGS="-G -Bsymbolic"
555 XCFLAGS0="-dy -Bdynamic"
556 XCFLAGS64="${XCFLAGS0} -m64"
557 XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
559 XLDFLAGS="${XARCHFLAGS}"
560 ASFLAGS="${XARCHFLAGS}"
563 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
564 SHLIB_LINKER="${CC} ${XARCHFLAGS} -G -dy -Bsymbolic -z text"
569 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
572 # Defaults for --enable-optimize-kernel
574 if test "x$enable_optimize_kernel" = "x" ; then
575 AS_CASE([$AFS_SYSNAME],
576 [sunx86_510|sunx86_511],
577 dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
578 dnl instructions to optimized code, without any known way to turn it off.
579 dnl To cope, this condition was added to change the default to
581 dnl Now that we have an autoconf test to allow disabling the SSE
582 dnl optimizations, it's safe to once more default to 'yes' here.
583 [enable_optimize_kernel=yes],
584 [enable_optimize_kernel=yes])
588 # Special build targets
592 IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS
593 XFS_SIZE_CHECK="xfs_size_check"
594 install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
595 dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
597 AC_SUBST(XFS_SIZE_CHECK)
598 AC_SUBST(install_XFS_SIZE_CHECK)
599 AC_SUBST(dest_XFS_SIZE_CHECK)
602 if test "x$enable_debug_kernel" = "xyes"; then
604 AC_SUBST(DEBUG_FLAGS)
609 dnl Disable the default for debugging/optimization if not enabled
610 if test "x$enable_debug_kernel" = "xno"; then
614 if test "x$enable_optimize_kernel" = "xno"; then
618 if test "x$enable_debug" = "xno"; then
623 if test "x$enable_optimize" = "xno"; then
627 if test "x$enable_debug_lwp" = "xno"; then
631 if test "x$enable_optimize_lwp" = "xno"; then
635 if test "x$enable_strip_binaries" != "xno"; then
636 if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
646 CFLAGS_NOSTRICT=-fno-strict-aliasing
649 XCFLAGS_NOCHECKING="$XCFLAGS"
651 if test "x$GCC" = "xyes"; then
652 if test "x$enable_warnings" = "xyes"; then
653 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Wpointer-arith"
655 if test "x$enable_checking" != "xno"; then
656 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
657 if test "x$enable_checking" != "xall"; then
658 CFLAGS_NOERROR="-Wno-error"
659 CFLAGS_NOUNUSED="-Wno-unused"
660 CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
661 AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
670 warn_common="-v -errfmt=error -errtags=yes -erroff=E_ATTRIBUTE_UNKNOWN,E_END_OF_LOOP_CODE_NOT_REACHED"
671 if test "x$enable_warnings" = "xyes" ; then
672 XCFLAGS="${XCFLAGS} $warn_common"
674 if test "x$enable_checking" != "xno" ; then
675 XCFLAGS="${XCFLAGS} $warn_common -errwarn=%all"
676 if test "x$enable_checking" != "xall" ; then
677 CFLAGS_NOERROR="-errwarn=%none"
684 dnl horribly cheating, assuming double / is ok.
687 INSTALL="/@abs_top_srcdir@/install-sh -c"
693 INSTALL_PROGRAM="${INSTALL_PROGRAM} ${NO_STRIP_BIN}"
698 AC_SUBST(AFSD_LDFLAGS)
717 AC_SUBST(NO_STRIP_BIN)
727 AC_SUBST(SHLIB_CFLAGS)
728 AC_SUBST(SHLIB_LDFLAGS)
729 AC_SUBST(SHLIB_LINKER)
730 AC_SUBST(SHLIB_SUFFIX)
731 AC_SUBST(VFSCK_CFLAGS)
733 AC_SUBST(CFLAGS_NOERROR)
734 AC_SUBST(CFLAGS_NOSTRICT)
735 AC_SUBST(CFLAGS_NOUNUSED)
736 AC_SUBST(CFLAGS_NOOLDSTYLE)