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])
37 dnl TODO - need to disable STRIP if we are doing debugging in any user space code
44 MT_CFLAGS='-D_REENTRANT=1 -pthread'
45 MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
46 XCFLAGS="-D_NO_PROTO -DOSF"
47 SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
50 alpha_dux50 | alpha_dux51)
55 MT_CFLAGS='-D_REENTRANT=1 -pthread'
56 MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
57 XCFLAGS="-D_NO_PROTO -DOSF"
58 SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
61 alpha_linux_22 | alpha_linux_24 | alpha_linux_26)
63 MT_CFLAGS='-pthread -D_REENTRANT'
65 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
67 SHLIB_LDFLAGS="-shared -Xlinker -x"
68 SHLIB_LINKER="${CC} -shared"
71 arm_linux_24 | arm_linux26)
73 MT_CFLAGS='-pthread -D_REENTRANT'
75 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
77 SHLIB_LDFLAGS="-shared -Xlinker -x"
78 SHLIB_LINKER="${CC} -shared"
83 CC="/opt/ansic/bin/cc -Ae"
86 LEX="/opt/langtools/bin/lex"
88 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
89 MT_LIBS='-L/opt/dce/lib -ldce ${XLIBS}'
92 PAM_CFLAGS="+DA1.0 +z -Wl,+k"
93 PAM_LIBS="/usr/lib/libpam.1"
94 RANLIB="/usr/bin/ranlib"
96 SHLIB_LDFLAGS="-b -Bsymbolic"
98 VFSCK_CFLAGS="-D_FILE64"
99 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
100 XCFLAGS64="${XCFLAGS0} +DA2.0W"
101 XCFLAGS="${XCFLAGS0} +DA1.0"
102 YACC="/opt/langtools/bin/yacc"
109 CC="/opt/ansic/bin/cc"
112 LEX="/opt/langtools/bin/lex"
114 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
117 PAM_CFLAGS="+DA1.0 +z -Wl,+k"
118 PAM_LIBS="/usr/lib/libpam.1"
119 RANLIB="/usr/bin/ranlib"
121 SHLIB_LDFLAGS="-b -Bsymbolic"
123 VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
124 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
125 XCFLAGS64="${XCFLAGS0} +DA2.0W"
126 XCFLAGS="${XCFLAGS0} +DA1.0"
128 YACC="/opt/langtools/bin/yacc"
135 CC="/opt/ansic/bin/cc"
136 DBM="/lib/hpux32/libndbm.so"
138 LEX="/opt/langtools/bin/lex"
140 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
143 PAM_CFLAGS="-b +z -Wl,+k"
144 PAM_LIBS="/usr/lib/hpux32/libpam.so"
145 RANLIB="/usr/bin/ranlib"
147 SHLIB_LDFLAGS="-b -Bsymbolic"
149 VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
150 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
151 XCFLAGS64="${XCFLAGS0} +DD64"
152 XCFLAGS="${XCFLAGS0}"
154 YACC="/opt/langtools/bin/yacc"
159 MT_CFLAGS='-pthread -D_REENTRANT'
161 PAM_CFLAGS="-pipe -fPIC"
162 SHLIB_LDFLAGS="-shared -Xlinker -x"
163 SHLIB_LINKER="${CC} -shared"
168 MT_CFLAGS='-pthread -D_REENTRANT'
170 PAM_CFLAGS="-pipe -fPIC"
171 SHLIB_LDFLAGS="-shared -Xlinker -x"
172 SHLIB_LINKER="${CC} -shared"
177 MT_CFLAGS='-pthread -D_REENTRANT'
178 PAM_CFLAGS="-O2 -pipe -fPIC"
179 SHLIB_LDFLAGS="-shared -Xlinker -x"
180 SHLIB_LINKER="${CC} -shared"
181 XCFLAGS="-O2 -pipe -fPIC"
184 *nbsd2*|*nbsd3*|*nbsd4*|*nbsd5*|*nbsd6*)
185 MT_CFLAGS='-pthread -D_REENTRANT'
187 PAM_CFLAGS="-pipe -fPIC"
189 SHLIB_LDFLAGS="-shared -Xlinker -x"
190 SHLIB_LINKER="${CC} -shared"
197 PAM_CFLAGS="-pipe -fPIC"
198 SHLIB_LDFLAGS="-shared -Xlinker -x"
199 SHLIB_LINKER="${CC} -shared"
203 ia64_linux24|ia64_linux26)
205 MT_CFLAGS='-pthread -D_REENTRANT'
207 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
209 SHLIB_LDFLAGS="-shared -Xlinker -x"
211 SHLIB_LINKER="${CC} -shared"
217 MT_CFLAGS='-pthread -D_REENTRANT'
219 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
221 SHLIB_LDFLAGS="-shared -Xlinker -x"
222 SHLIB_LINKER="${CC} -shared"
225 ppc64_linux24 | ppc64_linux26)
226 MT_CFLAGS='-pthread -D_REENTRANT'
228 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
229 SHLIB_LDFLAGS="-shared -Xlinker -x"
231 SHLIB_LINKER="${CC} -shared -m64"
239 MT_CFLAGS='-pthread -D_REENTRANT'
245 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
247 SHLIB_LDFLAGS="-shared -Xlinker -x"
248 SHLIB_LINKER="${CC} -shared"
251 i386_umlinux22 | i386_umlinux24 | i386_umlinux26)
252 MT_CFLAGS='-pthread -D_REENTRANT'
258 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
260 SHLIB_LDFLAGS="-shared -Xlinker -x"
261 SHLIB_LINKER="${CC} -shared"
266 MT_CFLAGS='-pthread -D_REENTRANT'
270 PAM_CFLAGS="-pipe -fpic"
272 SHLIB_LDFLAGS="-shared -Xlinker -x"
273 SHLIB_LINKER="${CC} -shared"
279 MT_CFLAGS='-pthread -D_REENTRANT'
281 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
283 SHLIB_LDFLAGS="-shared -Xlinker -x"
284 SHLIB_LINKER="${CC} -shared"
289 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
290 MT_CFLAGS='-D_REENTRANT'
292 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
295 REGEX_OBJ_PIC="regex_pic.o"
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 REGEX_OBJ_PIC="regex_pic.o"
314 EXTRA_VLIBOBJS="fstab.o"
315 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
318 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
322 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
323 MT_CFLAGS="-D_REENTRANT"
325 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
331 REGEX_OBJ_PIC="regex_pic.o"
332 EXTRA_VLIBOBJS="fstab.o"
333 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
336 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
340 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
341 MT_CFLAGS="-D_REENTRANT"
342 MT_LIBS="${LIB_AFSDB} -framework CoreFoundation"
344 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
352 EXTRA_VLIBOBJS="fstab.o"
353 SHLIB_LINKER="${CC} -dynamiclib"
356 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
359 *_darwin_100 | *_darwin_110 )
360 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
361 MT_CFLAGS="-D_REENTRANT"
364 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
371 REGEX_OBJ_PIC="regex_pic.o"
372 EXTRA_VLIBOBJS="fstab.o"
373 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
376 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
381 MT_CFLAGS='-pthread -D_REENTRANT'
383 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
385 SHLIB_LDFLAGS="-shared -Xlinker -x"
386 SHLIB_LINKER="${CC} -shared"
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"
402 rs_aix51 | rs_aix52 | rs_aix53)
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 LIBSYS_AIX_EXP="afsl.exp"
421 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
422 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
423 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
428 s390_linux22|s390_linux24|s390_linux26)
431 MT_CFLAGS='-pthread -D_REENTRANT'
433 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
435 SHLIB_LDFLAGS="-shared -Xlinker -x"
436 SHLIB_LINKER="${CC} -shared"
439 s390x_linux24|s390x_linux26)
443 MT_CFLAGS='-pthread -D_REENTRANT'
445 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
447 SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
449 XCFLAGS="-D__s390x__"
450 SHLIB_LINKER="${CC} -shared"
455 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
456 FSINCLUDES="-I/usr/include/sys/fs"
457 MT_CFLAGS='-D_SGI_MP_SOURCE'
458 XCFLAGS64="-64 -mips3"
462 SHLIB_LINKER="${CC} -shared"
467 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
468 FSINCLUDES="-I/usr/include/sys/fs"
469 MT_CFLAGS='-D_SGI_MP_SOURCE'
470 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
471 XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
474 SHLIB_LINKER="${CC} -shared"
479 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
480 FSINCLUDES="-I/usr/include/sys/fs"
481 MT_CFLAGS='-D_SGI_MP_SOURCE'
482 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
483 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"
486 SHLIB_LINKER="${CC} -shared"
490 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
492 FSINCLUDES="-I/usr/include/sys/fs"
494 MT_CFLAGS='-D_SGI_MP_SOURCE'
495 XCFLAGS64="-64 -mips3"
496 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"
497 XLDFLAGS64="-64 -mips3"
498 XLDFLAGS="-n32 -mips3"
499 SHLIB_LINKER="${CC} -shared"
504 MT_CFLAGS='-pthread -D_REENTRANT'
506 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
508 SHLIB_LDFLAGS="-shared -Xlinker -x"
511 SHLIB_LINKER="${CC} -shared"
519 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
521 SHLIB_LDFLAGS="-G -Bsymbolic"
522 XCFLAGS64='${XCFLAGS} -xarch=v9'
523 XCFLAGS="-dy -Bdynamic"
526 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
527 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
536 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
538 SHLIB_LDFLAGS="-G -Bsymbolic"
539 XCFLAGS64='${XCFLAGS} -m64'
540 XCFLAGS="-dy -Bdynamic"
543 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
544 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
553 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
555 SHLIB_LDFLAGS="-G -Bsymbolic"
556 XCFLAGS64='${XCFLAGS} -xarch=v9'
557 XCFLAGS="-dy -Bdynamic"
560 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
561 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
570 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
572 SHLIB_LDFLAGS="-G -Bsymbolic"
573 XCFLAGS64='${XCFLAGS} -xarch=amd64'
574 XCFLAGS="-dy -Bdynamic"
577 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
578 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
581 sunx86_510|sunx86_511)
582 if test "x`echo "${ARCHFLAGS}" | grep m32`" != "x" ; then
583 CURRENTBUILDARCH=i386
585 if test "x`echo "${ARCHFLAGS}" | grep m64`" != "x" ; then
586 CURRENTBUILDARCH=amd64
588 if test "x${CURRENTBUILDARCH}" = "x" ; then
589 CURRENTBUILDARCH=`isainfo -k`
591 if test "${CURRENTBUILDARCH}" = "amd64" ; then
595 CFLAGS="$CFLAGS $XARCHFLAGS"
599 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
601 SHLIB_LDFLAGS="-G -Bsymbolic"
602 XCFLAGS0="-dy -Bdynamic"
603 XCFLAGS64="${XCFLAGS0} -m64"
604 XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
606 XLDFLAGS="${XARCHFLAGS}"
607 ASFLAGS="${XARCHFLAGS}"
610 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
611 SHLIB_LINKER="${CC} ${XCFLAGS} -G -z text"
616 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
619 # Defaults for --enable-optimize-kernel
621 if test "x$enable_optimize_kernel" = "x" ; then
622 AS_CASE([$AFS_SYSNAME],
623 [sunx86_510|sunx86_511],
624 dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
625 dnl instructions to optimized code, without any ability to turn it off.
626 dnl So just default to not optimizing kernel code for the relevant
627 dnl platforms, until we get a better autoconf test for this.
628 [enable_optimize_kernel=no],
629 [enable_optimize_kernel=yes])
633 # Special build targets
637 IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS
638 XFS_SIZE_CHECK="xfs_size_check"
639 install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
640 dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
642 AC_SUBST(XFS_SIZE_CHECK)
643 AC_SUBST(install_XFS_SIZE_CHECK)
644 AC_SUBST(dest_XFS_SIZE_CHECK)
647 if test "x$enable_debug_kernel" = "xyes"; then
649 AC_SUBST(DEBUG_FLAGS)
654 dnl Disable the default for debugging/optimization if not enabled
655 if test "x$enable_debug_kernel" = "xno"; then
659 if test "x$enable_optimize_kernel" = "xno"; then
663 if test "x$enable_debug" = "xno"; then
668 if test "x$enable_optimize" = "xno"; then
672 if test "x$enable_debug_lwp" = "xno"; then
676 if test "x$enable_optimize_lwp" = "xno"; then
680 if test "x$enable_strip_binaries" != "xno"; then
681 if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
694 XCFLAGS_NOCHECKING="$XCFLAGS"
696 if test "x$GCC" = "xyes"; then
697 if test "x$enable_warnings" = "xyes"; then
698 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Wpointer-arith"
700 if test "x$enable_checking" != "xno"; then
701 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
702 if test "x$enable_checking" != "xall"; then
703 CFLAGS_NOERROR="-Wno-error"
704 CFLAGS_NOSTRICT="-fno-strict-aliasing"
705 CFLAGS_NOUNUSED="-Wno-unused"
706 CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
707 AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
714 warn_common="-v -errfmt=error -errtags=yes -erroff=E_ATTRIBUTE_UNKNOWN,E_END_OF_LOOP_CODE_NOT_REACHED"
715 if test "x$enable_warnings" = "xyes" ; then
716 XCFLAGS="${XCFLAGS} $warn_common"
718 if test "x$enable_checking" != "xno" ; then
719 XCFLAGS="${XCFLAGS} $warn_common -errwarn=%all"
720 if test "x$enable_checking" != "xall" ; then
721 CFLAGS_NOERROR="-errwarn=%none"
728 dnl horribly cheating, assuming double / is ok.
731 INSTALL="/@abs_top_srcdir@/install-sh -c"
737 INSTALL_PROGRAM="${INSTALL_PROGRAM} ${NO_STRIP_BIN}"
742 AC_SUBST(AFSD_LDFLAGS)
761 AC_SUBST(NO_STRIP_BIN)
769 AC_SUBST(REGEX_OBJ_PIC)
772 AC_SUBST(SHLIB_CFLAGS)
773 AC_SUBST(SHLIB_LDFLAGS)
774 AC_SUBST(SHLIB_LINKER)
775 AC_SUBST(SHLIB_SUFFIX)
776 AC_SUBST(VFSCK_CFLAGS)
778 AC_SUBST(CFLAGS_NOERROR)
779 AC_SUBST(CFLAGS_NOSTRICT)
780 AC_SUBST(CFLAGS_NOUNUSED)
781 AC_SUBST(CFLAGS_NOOLDSTYLE)