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*)
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 REGEX_OBJ_PIC="regex_pic.o"
297 XCFLAGS="-no-cpp-precomp"
298 EXTRA_VLIBOBJS="fstab.o"
299 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
301 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
306 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
307 MT_CFLAGS="-D_REENTRANT"
309 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
314 REGEX_OBJ_PIC="regex_pic.o"
315 EXTRA_VLIBOBJS="fstab.o"
316 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
319 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
323 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
324 MT_CFLAGS="-D_REENTRANT"
326 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
332 REGEX_OBJ_PIC="regex_pic.o"
333 EXTRA_VLIBOBJS="fstab.o"
334 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
337 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
341 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
342 MT_CFLAGS="-D_REENTRANT"
343 MT_LIBS="${LIB_AFSDB} -framework CoreFoundation"
345 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
353 EXTRA_VLIBOBJS="fstab.o"
354 SHLIB_LINKER="${CC} -dynamiclib"
357 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
360 *_darwin_100 | *_darwin_110 | *_darwin_120 )
361 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
362 MT_CFLAGS="-D_REENTRANT"
365 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
372 REGEX_OBJ_PIC="regex_pic.o"
373 EXTRA_VLIBOBJS="fstab.o"
374 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
377 XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
382 MT_CFLAGS='-pthread -D_REENTRANT'
384 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
386 SHLIB_LDFLAGS="-shared -Xlinker -x"
387 SHLIB_LINKER="${CC} -shared"
393 LIBSYS_AIX_EXP="afsl.exp"
396 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
397 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
398 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
403 rs_aix51 | rs_aix52 | rs_aix53)
406 LIBSYS_AIX_EXP="afsl.exp"
409 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
410 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
411 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
419 LIBSYS_AIX_EXP="afsl.exp"
422 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
423 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
424 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
429 s390_linux22|s390_linux24|s390_linux26)
432 MT_CFLAGS='-pthread -D_REENTRANT'
434 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
436 SHLIB_LDFLAGS="-shared -Xlinker -x"
437 SHLIB_LINKER="${CC} -shared"
440 s390x_linux24|s390x_linux26)
444 MT_CFLAGS='-pthread -D_REENTRANT'
446 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
448 SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
450 XCFLAGS="-D__s390x__"
451 SHLIB_LINKER="${CC} -shared"
456 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
457 FSINCLUDES="-I/usr/include/sys/fs"
458 MT_CFLAGS='-D_SGI_MP_SOURCE'
459 XCFLAGS64="-64 -mips3"
463 SHLIB_LINKER="${CC} -shared"
468 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
469 FSINCLUDES="-I/usr/include/sys/fs"
470 MT_CFLAGS='-D_SGI_MP_SOURCE'
471 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
472 XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
475 SHLIB_LINKER="${CC} -shared"
480 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
481 FSINCLUDES="-I/usr/include/sys/fs"
482 MT_CFLAGS='-D_SGI_MP_SOURCE'
483 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
484 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"
487 SHLIB_LINKER="${CC} -shared"
491 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
493 FSINCLUDES="-I/usr/include/sys/fs"
495 MT_CFLAGS='-D_SGI_MP_SOURCE'
496 XCFLAGS64="-64 -mips3"
497 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"
498 XLDFLAGS64="-64 -mips3"
499 XLDFLAGS="-n32 -mips3"
500 SHLIB_LINKER="${CC} -shared"
505 MT_CFLAGS='-pthread -D_REENTRANT'
507 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
509 SHLIB_LDFLAGS="-shared -Xlinker -x"
512 SHLIB_LINKER="${CC} -shared"
520 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
522 SHLIB_LDFLAGS="-G -Bsymbolic"
523 XCFLAGS64='${XCFLAGS} -xarch=v9'
524 XCFLAGS="-dy -Bdynamic"
527 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
528 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
537 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
539 SHLIB_LDFLAGS="-G -Bsymbolic"
540 XCFLAGS64='${XCFLAGS} -m64'
541 XCFLAGS="-dy -Bdynamic"
544 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
545 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
554 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
556 SHLIB_LDFLAGS="-G -Bsymbolic"
557 XCFLAGS64='${XCFLAGS} -xarch=v9'
558 XCFLAGS="-dy -Bdynamic"
561 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
562 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
571 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
573 SHLIB_LDFLAGS="-G -Bsymbolic"
574 XCFLAGS64='${XCFLAGS} -xarch=amd64'
575 XCFLAGS="-dy -Bdynamic"
578 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
579 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
582 sunx86_510|sunx86_511)
583 if test "x`echo "${ARCHFLAGS}" | grep m32`" != "x" ; then
584 CURRENTBUILDARCH=i386
586 if test "x`echo "${ARCHFLAGS}" | grep m64`" != "x" ; then
587 CURRENTBUILDARCH=amd64
589 if test "x${CURRENTBUILDARCH}" = "x" ; then
590 CURRENTBUILDARCH=`isainfo -k`
592 if test "${CURRENTBUILDARCH}" = "amd64" ; then
596 CFLAGS="$CFLAGS $XARCHFLAGS"
600 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
602 SHLIB_LDFLAGS="-G -Bsymbolic"
603 XCFLAGS0="-dy -Bdynamic"
604 XCFLAGS64="${XCFLAGS0} -m64"
605 XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
607 XLDFLAGS="${XARCHFLAGS}"
608 ASFLAGS="${XARCHFLAGS}"
611 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
612 SHLIB_LINKER="${CC} ${XCFLAGS} -G -z text"
617 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
620 # Defaults for --enable-optimize-kernel
622 if test "x$enable_optimize_kernel" = "x" ; then
623 AS_CASE([$AFS_SYSNAME],
624 [sunx86_510|sunx86_511],
625 dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
626 dnl instructions to optimized code, without any ability to turn it off.
627 dnl So just default to not optimizing kernel code for the relevant
628 dnl platforms, until we get a better autoconf test for this.
629 [enable_optimize_kernel=no],
630 [enable_optimize_kernel=yes])
634 # Special build targets
638 IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS
639 XFS_SIZE_CHECK="xfs_size_check"
640 install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
641 dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
643 AC_SUBST(XFS_SIZE_CHECK)
644 AC_SUBST(install_XFS_SIZE_CHECK)
645 AC_SUBST(dest_XFS_SIZE_CHECK)
648 if test "x$enable_debug_kernel" = "xyes"; then
650 AC_SUBST(DEBUG_FLAGS)
655 dnl Disable the default for debugging/optimization if not enabled
656 if test "x$enable_debug_kernel" = "xno"; then
660 if test "x$enable_optimize_kernel" = "xno"; then
664 if test "x$enable_debug" = "xno"; then
669 if test "x$enable_optimize" = "xno"; then
673 if test "x$enable_debug_lwp" = "xno"; then
677 if test "x$enable_optimize_lwp" = "xno"; then
681 if test "x$enable_strip_binaries" != "xno"; then
682 if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
695 XCFLAGS_NOCHECKING="$XCFLAGS"
697 if test "x$GCC" = "xyes"; then
698 if test "x$enable_warnings" = "xyes"; then
699 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Wpointer-arith"
701 if test "x$enable_checking" != "xno"; then
702 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
703 if test "x$enable_checking" != "xall"; then
704 CFLAGS_NOERROR="-Wno-error"
705 CFLAGS_NOSTRICT="-fno-strict-aliasing"
706 CFLAGS_NOUNUSED="-Wno-unused"
707 CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
708 AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
715 warn_common="-v -errfmt=error -errtags=yes -erroff=E_ATTRIBUTE_UNKNOWN,E_END_OF_LOOP_CODE_NOT_REACHED"
716 if test "x$enable_warnings" = "xyes" ; then
717 XCFLAGS="${XCFLAGS} $warn_common"
719 if test "x$enable_checking" != "xno" ; then
720 XCFLAGS="${XCFLAGS} $warn_common -errwarn=%all"
721 if test "x$enable_checking" != "xall" ; then
722 CFLAGS_NOERROR="-errwarn=%none"
729 dnl horribly cheating, assuming double / is ok.
732 INSTALL="/@abs_top_srcdir@/install-sh -c"
738 INSTALL_PROGRAM="${INSTALL_PROGRAM} ${NO_STRIP_BIN}"
743 AC_SUBST(AFSD_LDFLAGS)
762 AC_SUBST(NO_STRIP_BIN)
770 AC_SUBST(REGEX_OBJ_PIC)
773 AC_SUBST(SHLIB_CFLAGS)
774 AC_SUBST(SHLIB_LDFLAGS)
775 AC_SUBST(SHLIB_LINKER)
776 AC_SUBST(SHLIB_SUFFIX)
777 AC_SUBST(VFSCK_CFLAGS)
779 AC_SUBST(CFLAGS_NOERROR)
780 AC_SUBST(CFLAGS_NOSTRICT)
781 AC_SUBST(CFLAGS_NOUNUSED)
782 AC_SUBST(CFLAGS_NOOLDSTYLE)