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 | *_darwin_130 )
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} -m64'
520 XCFLAGS="-dy -Bdynamic"
523 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
524 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
534 if test "x`echo "${ARCHFLAGS}" | grep m32`" != "x" ; then
535 CURRENTBUILDARCH=i386
537 if test "x`echo "${ARCHFLAGS}" | grep m64`" != "x" ; then
538 CURRENTBUILDARCH=amd64
540 if test "x${CURRENTBUILDARCH}" = "x" ; then
541 CURRENTBUILDARCH=`isainfo -k`
543 if test "${CURRENTBUILDARCH}" = "amd64" ; then
550 CFLAGS="$CFLAGS ${XARCHFLAGS}"
554 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
556 SHLIB_LDFLAGS="-G -Bsymbolic"
557 XCFLAGS0="-dy -Bdynamic"
558 XCFLAGS64="${XCFLAGS0} -m64"
559 XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
561 XLDFLAGS="${XARCHFLAGS}"
562 ASFLAGS="${XARCHFLAGS}"
565 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
566 SHLIB_LINKER="${CC} ${XARCHFLAGS} -G -dy -Bsymbolic -z text"
571 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
574 # Defaults for --enable-optimize-kernel
576 if test "x$enable_optimize_kernel" = "x" ; then
577 AS_CASE([$AFS_SYSNAME],
578 [sunx86_510|sunx86_511],
579 dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
580 dnl instructions to optimized code, without any ability to turn it off.
581 dnl So just default to not optimizing kernel code for the relevant
582 dnl platforms, until we get a better autoconf test for this.
583 [enable_optimize_kernel=no],
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
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_NOSTRICT="-fno-strict-aliasing"
660 CFLAGS_NOUNUSED="-Wno-unused"
661 CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
662 AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
669 warn_common="-v -errfmt=error -errtags=yes -erroff=E_ATTRIBUTE_UNKNOWN,E_END_OF_LOOP_CODE_NOT_REACHED"
670 if test "x$enable_warnings" = "xyes" ; then
671 XCFLAGS="${XCFLAGS} $warn_common"
673 if test "x$enable_checking" != "xno" ; then
674 XCFLAGS="${XCFLAGS} $warn_common -errwarn=%all"
675 if test "x$enable_checking" != "xall" ; then
676 CFLAGS_NOERROR="-errwarn=%none"
683 dnl horribly cheating, assuming double / is ok.
686 INSTALL="/@abs_top_srcdir@/install-sh -c"
692 INSTALL_PROGRAM="${INSTALL_PROGRAM} ${NO_STRIP_BIN}"
697 AC_SUBST(AFSD_LDFLAGS)
716 AC_SUBST(NO_STRIP_BIN)
726 AC_SUBST(SHLIB_CFLAGS)
727 AC_SUBST(SHLIB_LDFLAGS)
728 AC_SUBST(SHLIB_LINKER)
729 AC_SUBST(SHLIB_SUFFIX)
730 AC_SUBST(VFSCK_CFLAGS)
732 AC_SUBST(CFLAGS_NOERROR)
733 AC_SUBST(CFLAGS_NOSTRICT)
734 AC_SUBST(CFLAGS_NOUNUSED)
735 AC_SUBST(CFLAGS_NOOLDSTYLE)