2 AC_DEFUN([OPENAFS_OSCONF], [
4 dnl defaults, override in case below as needed
9 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} ${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"
204 ia64_linux24|ia64_linux26)
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"
226 ppc64_linux24 | ppc64_linux26)
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"
252 i386_umlinux22 | i386_umlinux24 | i386_umlinux26)
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 MT_CFLAGS='-pthread -D_REENTRANT'
282 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
284 SHLIB_LDFLAGS="-shared -Xlinker -x"
285 SHLIB_LINKER="${CC} -shared"
290 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
291 MT_CFLAGS='-D_REENTRANT'
293 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
296 XCFLAGS="-no-cpp-precomp"
297 EXTRA_VLIBOBJS="fstab.o"
298 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
300 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
305 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
306 MT_CFLAGS="-D_REENTRANT"
308 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
313 EXTRA_VLIBOBJS="fstab.o"
314 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
317 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
321 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
322 MT_CFLAGS="-D_REENTRANT"
324 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
330 EXTRA_VLIBOBJS="fstab.o"
331 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
334 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
338 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
339 MT_CFLAGS="-D_REENTRANT"
340 MT_LIBS="${LIB_AFSDB} -framework CoreFoundation"
342 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
350 EXTRA_VLIBOBJS="fstab.o"
351 SHLIB_LINKER="${CC} -dynamiclib"
354 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
357 *_darwin_100 | *_darwin_110 | *_darwin_120 )
358 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
359 MT_CFLAGS="-D_REENTRANT"
362 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
369 EXTRA_VLIBOBJS="fstab.o"
370 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
373 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
378 MT_CFLAGS='-pthread -D_REENTRANT'
380 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
382 SHLIB_LDFLAGS="-shared -Xlinker -x"
383 SHLIB_LINKER="${CC} -shared"
389 LIBSYS_AIX_EXP="afsl.exp"
392 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
393 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
394 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
399 rs_aix51 | rs_aix52 | rs_aix53)
402 LIBSYS_AIX_EXP="afsl.exp"
405 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
406 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
407 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
415 LIBSYS_AIX_EXP="afsl.exp"
418 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
419 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
420 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
425 s390_linux22|s390_linux24|s390_linux26)
428 MT_CFLAGS='-pthread -D_REENTRANT'
430 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
432 SHLIB_LDFLAGS="-shared -Xlinker -x"
433 SHLIB_LINKER="${CC} -shared"
436 s390x_linux24|s390x_linux26)
440 MT_CFLAGS='-pthread -D_REENTRANT'
442 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
444 SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
446 XCFLAGS="-D__s390x__"
447 SHLIB_LINKER="${CC} -shared"
452 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
453 FSINCLUDES="-I/usr/include/sys/fs"
454 MT_CFLAGS='-D_SGI_MP_SOURCE'
455 XCFLAGS64="-64 -mips3"
459 SHLIB_LINKER="${CC} -shared"
464 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
465 FSINCLUDES="-I/usr/include/sys/fs"
466 MT_CFLAGS='-D_SGI_MP_SOURCE'
467 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
468 XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
471 SHLIB_LINKER="${CC} -shared"
476 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
477 FSINCLUDES="-I/usr/include/sys/fs"
478 MT_CFLAGS='-D_SGI_MP_SOURCE'
479 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
480 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"
483 SHLIB_LINKER="${CC} -shared"
487 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
489 FSINCLUDES="-I/usr/include/sys/fs"
491 MT_CFLAGS='-D_SGI_MP_SOURCE'
492 XCFLAGS64="-64 -mips3"
493 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"
494 XLDFLAGS64="-64 -mips3"
495 XLDFLAGS="-n32 -mips3"
496 SHLIB_LINKER="${CC} -shared"
501 MT_CFLAGS='-pthread -D_REENTRANT'
503 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
505 SHLIB_LDFLAGS="-shared -Xlinker -x"
508 SHLIB_LINKER="${CC} -shared"
516 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
518 SHLIB_LDFLAGS="-G -Bsymbolic"
519 XCFLAGS64='${XCFLAGS} -xarch=v9'
520 XCFLAGS="-dy -Bdynamic"
523 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
524 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
533 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
535 SHLIB_LDFLAGS="-G -Bsymbolic"
536 XCFLAGS64='${XCFLAGS} -m64'
537 XCFLAGS="-dy -Bdynamic"
540 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
541 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
550 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
552 SHLIB_LDFLAGS="-G -Bsymbolic"
553 XCFLAGS64='${XCFLAGS} -xarch=v9'
554 XCFLAGS="-dy -Bdynamic"
557 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
558 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
567 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
569 SHLIB_LDFLAGS="-G -Bsymbolic"
570 XCFLAGS64='${XCFLAGS} -xarch=amd64'
571 XCFLAGS="-dy -Bdynamic"
574 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
575 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
578 sunx86_510|sunx86_511)
579 if test "x`echo "${ARCHFLAGS}" | grep m32`" != "x" ; then
580 CURRENTBUILDARCH=i386
582 if test "x`echo "${ARCHFLAGS}" | grep m64`" != "x" ; then
583 CURRENTBUILDARCH=amd64
585 if test "x${CURRENTBUILDARCH}" = "x" ; then
586 CURRENTBUILDARCH=`isainfo -k`
588 if test "${CURRENTBUILDARCH}" = "amd64" ; then
592 CFLAGS="$CFLAGS $XARCHFLAGS"
596 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
598 SHLIB_LDFLAGS="-G -Bsymbolic"
599 XCFLAGS0="-dy -Bdynamic"
600 XCFLAGS64="${XCFLAGS0} -m64"
601 XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
603 XLDFLAGS="${XARCHFLAGS}"
604 ASFLAGS="${XARCHFLAGS}"
607 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
608 SHLIB_LINKER="${CC} ${XCFLAGS} -G -z text"
613 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
616 # Defaults for --enable-optimize-kernel
618 if test "x$enable_optimize_kernel" = "x" ; then
619 AS_CASE([$AFS_SYSNAME],
620 [sunx86_510|sunx86_511],
621 dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
622 dnl instructions to optimized code, without any ability to turn it off.
623 dnl So just default to not optimizing kernel code for the relevant
624 dnl platforms, until we get a better autoconf test for this.
625 [enable_optimize_kernel=no],
626 [enable_optimize_kernel=yes])
630 # Special build targets
634 IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS
635 XFS_SIZE_CHECK="xfs_size_check"
636 install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
637 dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
639 AC_SUBST(XFS_SIZE_CHECK)
640 AC_SUBST(install_XFS_SIZE_CHECK)
641 AC_SUBST(dest_XFS_SIZE_CHECK)
644 if test "x$enable_debug_kernel" = "xyes"; then
646 AC_SUBST(DEBUG_FLAGS)
651 dnl Disable the default for debugging/optimization if not enabled
652 if test "x$enable_debug_kernel" = "xno"; then
656 if test "x$enable_optimize_kernel" = "xno"; then
660 if test "x$enable_debug" = "xno"; then
665 if test "x$enable_optimize" = "xno"; then
669 if test "x$enable_debug_lwp" = "xno"; then
673 if test "x$enable_optimize_lwp" = "xno"; then
677 if test "x$enable_strip_binaries" != "xno"; then
678 if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
691 XCFLAGS_NOCHECKING="$XCFLAGS"
693 if test "x$GCC" = "xyes"; then
694 if test "x$enable_warnings" = "xyes"; then
695 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Wpointer-arith"
697 if test "x$enable_checking" != "xno"; then
698 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
699 if test "x$enable_checking" != "xall"; then
700 CFLAGS_NOERROR="-Wno-error"
701 CFLAGS_NOSTRICT="-fno-strict-aliasing"
702 CFLAGS_NOUNUSED="-Wno-unused"
703 CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
704 AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
711 warn_common="-v -errfmt=error -errtags=yes -erroff=E_ATTRIBUTE_UNKNOWN,E_END_OF_LOOP_CODE_NOT_REACHED"
712 if test "x$enable_warnings" = "xyes" ; then
713 XCFLAGS="${XCFLAGS} $warn_common"
715 if test "x$enable_checking" != "xno" ; then
716 XCFLAGS="${XCFLAGS} $warn_common -errwarn=%all"
717 if test "x$enable_checking" != "xall" ; then
718 CFLAGS_NOERROR="-errwarn=%none"
725 dnl horribly cheating, assuming double / is ok.
728 INSTALL="/@abs_top_srcdir@/install-sh -c"
734 INSTALL_PROGRAM="${INSTALL_PROGRAM} ${NO_STRIP_BIN}"
739 AC_SUBST(AFSD_LDFLAGS)
758 AC_SUBST(NO_STRIP_BIN)
768 AC_SUBST(SHLIB_CFLAGS)
769 AC_SUBST(SHLIB_LDFLAGS)
770 AC_SUBST(SHLIB_LINKER)
771 AC_SUBST(SHLIB_SUFFIX)
772 AC_SUBST(VFSCK_CFLAGS)
774 AC_SUBST(CFLAGS_NOERROR)
775 AC_SUBST(CFLAGS_NOSTRICT)
776 AC_SUBST(CFLAGS_NOUNUSED)
777 AC_SUBST(CFLAGS_NOOLDSTYLE)