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, [${am_missing_run}as])
29 AC_CHECK_PROGS(AR, ar, [${am_missing_run}ar])
30 AC_CHECK_PROGS(MV, mv, [${am_missing_run}mv])
31 AC_CHECK_PROGS(RM, rm, [${am_missing_run}rm])
32 AC_CHECK_PROGS(LD, ld, [${am_missing_run}ld])
33 AC_CHECK_PROGS(CP, cp, [${am_missing_run}cp])
34 AC_CHECK_PROGS(STRIP, strip, [${am_missing_run}strip])
35 AC_CHECK_PROGS(LORDER, lorder, [${am_missing_run}lorder])
36 AC_CHECK_PROGS(GENCAT, gencat, [${am_missing_run}gencat])
38 dnl TODO - need to disable STRIP if we are doing debugging in any user space code
45 MT_CFLAGS='-D_REENTRANT=1 -pthread'
46 MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
47 XCFLAGS="-D_NO_PROTO -DOSF"
48 SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
51 alpha_dux50 | alpha_dux51)
56 MT_CFLAGS='-D_REENTRANT=1 -pthread'
57 MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
58 XCFLAGS="-D_NO_PROTO -DOSF"
59 SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
62 alpha_linux_22 | alpha_linux_24 | alpha_linux_26)
64 MT_CFLAGS='-pthread -D_REENTRANT'
66 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
68 SHLIB_LDFLAGS="-shared -Xlinker -x"
69 SHLIB_LINKER="${CC} -shared"
72 arm_linux_24 | arm_linux26)
74 MT_CFLAGS='-pthread -D_REENTRANT'
76 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
78 SHLIB_LDFLAGS="-shared -Xlinker -x"
79 SHLIB_LINKER="${CC} -shared"
84 CC="/opt/ansic/bin/cc -Ae"
87 LEX="/opt/langtools/bin/lex"
89 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
90 MT_LIBS='-L/opt/dce/lib -ldce ${XLIBS}'
93 PAM_CFLAGS="+DA1.0 +z -Wl,+k"
94 PAM_LIBS="/usr/lib/libpam.1"
95 RANLIB="/usr/bin/ranlib"
97 SHLIB_LDFLAGS="-b -Bsymbolic"
99 VFSCK_CFLAGS="-D_FILE64"
100 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
101 XCFLAGS64="${XCFLAGS0} +DA2.0W"
102 XCFLAGS="${XCFLAGS0} +DA1.0"
103 YACC="/opt/langtools/bin/yacc"
110 CC="/opt/ansic/bin/cc"
113 LEX="/opt/langtools/bin/lex"
115 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
118 PAM_CFLAGS="+DA1.0 +z -Wl,+k"
119 PAM_LIBS="/usr/lib/libpam.1"
120 RANLIB="/usr/bin/ranlib"
122 SHLIB_LDFLAGS="-b -Bsymbolic"
124 VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
125 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
126 XCFLAGS64="${XCFLAGS0} +DA2.0W"
127 XCFLAGS="${XCFLAGS0} +DA1.0"
129 YACC="/opt/langtools/bin/yacc"
136 CC="/opt/ansic/bin/cc"
137 DBM="/lib/hpux32/libndbm.so"
139 LEX="/opt/langtools/bin/lex"
141 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
144 PAM_CFLAGS="-b +z -Wl,+k"
145 PAM_LIBS="/usr/lib/hpux32/libpam.so"
146 RANLIB="/usr/bin/ranlib"
148 SHLIB_LDFLAGS="-b -Bsymbolic"
150 VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
151 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
152 XCFLAGS64="${XCFLAGS0} +DD64"
153 XCFLAGS="${XCFLAGS0}"
155 YACC="/opt/langtools/bin/yacc"
160 MT_CFLAGS='-pthread -D_REENTRANT'
162 PAM_CFLAGS="-pipe -fPIC"
163 SHLIB_LDFLAGS="-shared -Xlinker -x"
164 SHLIB_LINKER="${CC} -shared"
169 MT_CFLAGS='-pthread -D_REENTRANT'
171 PAM_CFLAGS="-pipe -fPIC"
172 SHLIB_LDFLAGS="-shared -Xlinker -x"
173 SHLIB_LINKER="${CC} -shared"
178 MT_CFLAGS='-pthread -D_REENTRANT'
179 PAM_CFLAGS="-O2 -pipe -fPIC"
180 SHLIB_LDFLAGS="-shared -Xlinker -x"
181 SHLIB_LINKER="${CC} -shared"
182 XCFLAGS="-O2 -pipe -fPIC"
185 *nbsd2*|*nbsd3*|*nbsd4*|*nbsd5*|*nbsd6*|*nbsd7*)
186 MT_CFLAGS='-pthread -D_REENTRANT'
188 PAM_CFLAGS="-pipe -fPIC"
190 SHLIB_LDFLAGS="-shared -Xlinker -x"
191 SHLIB_LINKER="${CC} -shared"
198 PAM_CFLAGS="-pipe -fPIC"
199 SHLIB_LDFLAGS="-shared -Xlinker -x"
200 SHLIB_LINKER="${CC} -shared"
206 MT_CFLAGS='-pthread -D_REENTRANT'
208 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
210 SHLIB_LDFLAGS="-shared -Xlinker -x"
212 SHLIB_LINKER="${CC} -shared"
218 MT_CFLAGS='-pthread -D_REENTRANT'
220 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
222 SHLIB_LDFLAGS="-shared -Xlinker -x"
223 SHLIB_LINKER="${CC} -shared"
227 MT_CFLAGS='-pthread -D_REENTRANT'
229 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
230 SHLIB_LDFLAGS="-shared -Xlinker -x"
232 SHLIB_LINKER="${CC} -shared -m64"
240 MT_CFLAGS='-pthread -D_REENTRANT'
246 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
248 SHLIB_LDFLAGS="-shared -Xlinker -x"
249 SHLIB_LINKER="${CC} -shared"
253 MT_CFLAGS='-pthread -D_REENTRANT'
259 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
261 SHLIB_LDFLAGS="-shared -Xlinker -x"
262 SHLIB_LINKER="${CC} -shared"
267 MT_CFLAGS='-pthread -D_REENTRANT'
271 PAM_CFLAGS="-pipe -fpic"
273 SHLIB_LDFLAGS="-shared -Xlinker -x"
274 SHLIB_LINKER="${CC} -shared"
280 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
281 MT_CFLAGS='-D_REENTRANT'
283 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
286 XCFLAGS="-no-cpp-precomp"
287 EXTRA_VLIBOBJS="fstab.o"
288 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
290 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
295 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
296 MT_CFLAGS="-D_REENTRANT"
298 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
303 EXTRA_VLIBOBJS="fstab.o"
304 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
307 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
311 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
312 MT_CFLAGS="-D_REENTRANT"
314 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
320 EXTRA_VLIBOBJS="fstab.o"
321 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
324 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
328 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
329 MT_CFLAGS="-D_REENTRANT"
330 MT_LIBS="${LIB_AFSDB} -framework CoreFoundation"
332 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
340 EXTRA_VLIBOBJS="fstab.o"
341 SHLIB_LINKER="${CC} -dynamiclib"
344 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
347 *_darwin_100 | *_darwin_110 | *_darwin_120 | *_darwin_130 | *_darwin_140 | *_darwin_150 | *_darwin_160 | *_darwin_170)
348 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
349 MT_CFLAGS="-D_REENTRANT"
352 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
359 EXTRA_VLIBOBJS="fstab.o"
360 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
363 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
368 MT_CFLAGS='-pthread -D_REENTRANT'
370 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
372 SHLIB_LDFLAGS="-shared -Xlinker -x"
373 SHLIB_LINKER="${CC} -shared"
379 LIBSYS_AIX_EXP="afsl.exp"
382 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
383 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
384 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
389 rs_aix51 | rs_aix52 | rs_aix53)
392 LIBSYS_AIX_EXP="afsl.exp"
395 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
396 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
397 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
405 LIBSYS_AIX_EXP="afsl.exp"
408 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
409 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
410 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
418 MT_CFLAGS='-pthread -D_REENTRANT'
420 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
422 SHLIB_LDFLAGS="-shared -Xlinker -x"
423 SHLIB_LINKER="${CC} -shared"
430 MT_CFLAGS='-pthread -D_REENTRANT'
432 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
434 SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
436 XCFLAGS="-D__s390x__"
437 SHLIB_LINKER="${CC} -shared"
442 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
443 FSINCLUDES="-I/usr/include/sys/fs"
444 MT_CFLAGS='-D_SGI_MP_SOURCE'
445 XCFLAGS64="-64 -mips3"
449 SHLIB_LINKER="${CC} -shared"
454 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
455 FSINCLUDES="-I/usr/include/sys/fs"
456 MT_CFLAGS='-D_SGI_MP_SOURCE'
457 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
458 XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
461 SHLIB_LINKER="${CC} -shared"
466 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
467 FSINCLUDES="-I/usr/include/sys/fs"
468 MT_CFLAGS='-D_SGI_MP_SOURCE'
469 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
470 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"
473 SHLIB_LINKER="${CC} -shared"
477 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
479 FSINCLUDES="-I/usr/include/sys/fs"
481 MT_CFLAGS='-D_SGI_MP_SOURCE'
482 XCFLAGS64="-64 -mips3"
483 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"
484 XLDFLAGS64="-64 -mips3"
485 XLDFLAGS="-n32 -mips3"
486 SHLIB_LINKER="${CC} -shared"
491 MT_CFLAGS='-pthread -D_REENTRANT'
493 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
495 SHLIB_LDFLAGS="-shared -Xlinker -x"
498 SHLIB_LINKER="${CC} -shared"
506 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
508 SHLIB_LDFLAGS="-G -Bsymbolic"
509 XCFLAGS64='${XCFLAGS} -m64'
510 XCFLAGS="-dy -Bdynamic"
513 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
514 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
524 if test "x`echo "${ARCHFLAGS}" | grep m32`" != "x" ; then
525 CURRENTBUILDARCH=i386
527 if test "x`echo "${ARCHFLAGS}" | grep m64`" != "x" ; then
528 CURRENTBUILDARCH=amd64
530 if test "x${CURRENTBUILDARCH}" = "x" ; then
531 CURRENTBUILDARCH=`isainfo -k`
533 if test "${CURRENTBUILDARCH}" = "amd64" ; then
540 CFLAGS="$CFLAGS ${XARCHFLAGS}"
545 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
547 SHLIB_LDFLAGS="-G -Bsymbolic"
548 XCFLAGS0="-dy -Bdynamic"
549 XCFLAGS64="${XCFLAGS0} -m64"
550 XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
552 XLDFLAGS="${XARCHFLAGS}"
553 ASFLAGS="${XARCHFLAGS}"
556 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
557 SHLIB_LINKER="${CC} ${XARCHFLAGS} -G -dy -Bsymbolic -z text"
562 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
565 # Defaults for --enable-optimize-kernel
567 if test "x$enable_optimize_kernel" = "x" ; then
568 AS_CASE([$AFS_SYSNAME],
569 [sunx86_510|sunx86_511],
570 dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
571 dnl instructions to optimized code, without any known way to turn it off.
572 dnl To cope, this condition was added to change the default to
574 dnl Now that we have an autoconf test to allow disabling the SSE
575 dnl optimizations, it's safe to once more default to 'yes' here.
576 [enable_optimize_kernel=yes],
577 [enable_optimize_kernel=yes])
581 # Special build targets
585 IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS
586 XFS_SIZE_CHECK="xfs_size_check"
587 install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
588 dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
590 AC_SUBST(XFS_SIZE_CHECK)
591 AC_SUBST(install_XFS_SIZE_CHECK)
592 AC_SUBST(dest_XFS_SIZE_CHECK)
595 if test "x$enable_debug_kernel" = "xyes"; then
597 AC_SUBST(DEBUG_FLAGS)
602 dnl Disable the default for debugging/optimization if not enabled
603 if test "x$enable_debug_kernel" = "xno"; then
607 if test "x$enable_optimize_kernel" = "xno"; then
611 if test "x$enable_debug" = "xno"; then
616 if test "x$enable_optimize" = "xno"; then
620 if test "x$enable_debug_lwp" = "xno"; then
624 if test "x$enable_optimize_lwp" = "xno"; then
628 if test "x$enable_strip_binaries" != "xno"; then
629 if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
639 CFLAGS_NOSTRICT=-fno-strict-aliasing
642 XCFLAGS_NOCHECKING="$XCFLAGS"
644 if test "x$GCC" = "xyes"; then
645 if test "x$enable_warnings" = "xyes"; then
646 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Wpointer-arith"
648 if test "x$enable_checking" != "xno"; then
649 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
650 if test "x$enable_checking" != "xall"; then
651 CFLAGS_NOERROR="-Wno-error"
652 CFLAGS_NOUNUSED="-Wno-unused"
653 CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
654 AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
663 warn_common="-v -errfmt=error -errtags=yes -erroff=E_ATTRIBUTE_UNKNOWN,E_END_OF_LOOP_CODE_NOT_REACHED"
664 if test "x$enable_warnings" = "xyes" ; then
665 XCFLAGS="${XCFLAGS} $warn_common"
667 if test "x$enable_checking" != "xno" ; then
668 XCFLAGS="${XCFLAGS} $warn_common -errwarn=%all"
669 if test "x$enable_checking" != "xall" ; then
670 CFLAGS_NOERROR="-errwarn=%none"
677 dnl horribly cheating, assuming double / is ok.
680 INSTALL="/@abs_top_srcdir@/install-sh -c"
686 INSTALL_PROGRAM="${INSTALL_PROGRAM} ${NO_STRIP_BIN}"
691 AC_SUBST(AFSD_LDFLAGS)
710 AC_SUBST(NO_STRIP_BIN)
720 AC_SUBST(SHLIB_CFLAGS)
721 AC_SUBST(SHLIB_LDFLAGS)
722 AC_SUBST(SHLIB_LINKER)
723 AC_SUBST(SHLIB_SUFFIX)
724 AC_SUBST(VFSCK_CFLAGS)
726 AC_SUBST(CFLAGS_NOERROR)
727 AC_SUBST(CFLAGS_NOSTRICT)
728 AC_SUBST(CFLAGS_NOUNUSED)
729 AC_SUBST(CFLAGS_NOOLDSTYLE)