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 )
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}"
544 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
546 SHLIB_LDFLAGS="-G -Bsymbolic"
547 XCFLAGS0="-dy -Bdynamic"
548 XCFLAGS64="${XCFLAGS0} -m64"
549 XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
551 XLDFLAGS="${XARCHFLAGS}"
552 ASFLAGS="${XARCHFLAGS}"
555 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
556 SHLIB_LINKER="${CC} ${XARCHFLAGS} -G -dy -Bsymbolic -z text"
561 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
564 # Defaults for --enable-optimize-kernel
566 if test "x$enable_optimize_kernel" = "x" ; then
567 AS_CASE([$AFS_SYSNAME],
568 [sunx86_510|sunx86_511],
569 dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
570 dnl instructions to optimized code, without any ability to turn it off.
571 dnl So just default to not optimizing kernel code for the relevant
572 dnl platforms, until we get a better autoconf test for this.
573 [enable_optimize_kernel=no],
574 [enable_optimize_kernel=yes])
578 # Special build targets
582 IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS
583 XFS_SIZE_CHECK="xfs_size_check"
584 install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
585 dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
587 AC_SUBST(XFS_SIZE_CHECK)
588 AC_SUBST(install_XFS_SIZE_CHECK)
589 AC_SUBST(dest_XFS_SIZE_CHECK)
592 if test "x$enable_debug_kernel" = "xyes"; then
594 AC_SUBST(DEBUG_FLAGS)
599 dnl Disable the default for debugging/optimization if not enabled
600 if test "x$enable_debug_kernel" = "xno"; then
604 if test "x$enable_optimize_kernel" = "xno"; then
608 if test "x$enable_debug" = "xno"; then
613 if test "x$enable_optimize" = "xno"; then
617 if test "x$enable_debug_lwp" = "xno"; then
621 if test "x$enable_optimize_lwp" = "xno"; then
625 if test "x$enable_strip_binaries" != "xno"; then
626 if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
639 XCFLAGS_NOCHECKING="$XCFLAGS"
641 if test "x$GCC" = "xyes"; then
642 if test "x$enable_warnings" = "xyes"; then
643 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Wpointer-arith"
645 if test "x$enable_checking" != "xno"; then
646 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
647 if test "x$enable_checking" != "xall"; then
648 CFLAGS_NOERROR="-Wno-error"
649 CFLAGS_NOSTRICT="-fno-strict-aliasing"
650 CFLAGS_NOUNUSED="-Wno-unused"
651 CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
652 AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
659 warn_common="-v -errfmt=error -errtags=yes -erroff=E_ATTRIBUTE_UNKNOWN,E_END_OF_LOOP_CODE_NOT_REACHED"
660 if test "x$enable_warnings" = "xyes" ; then
661 XCFLAGS="${XCFLAGS} $warn_common"
663 if test "x$enable_checking" != "xno" ; then
664 XCFLAGS="${XCFLAGS} $warn_common -errwarn=%all"
665 if test "x$enable_checking" != "xall" ; then
666 CFLAGS_NOERROR="-errwarn=%none"
673 dnl horribly cheating, assuming double / is ok.
676 INSTALL="/@abs_top_srcdir@/install-sh -c"
682 INSTALL_PROGRAM="${INSTALL_PROGRAM} ${NO_STRIP_BIN}"
687 AC_SUBST(AFSD_LDFLAGS)
706 AC_SUBST(NO_STRIP_BIN)
716 AC_SUBST(SHLIB_CFLAGS)
717 AC_SUBST(SHLIB_LDFLAGS)
718 AC_SUBST(SHLIB_LINKER)
719 AC_SUBST(SHLIB_SUFFIX)
720 AC_SUBST(VFSCK_CFLAGS)
722 AC_SUBST(CFLAGS_NOERROR)
723 AC_SUBST(CFLAGS_NOSTRICT)
724 AC_SUBST(CFLAGS_NOUNUSED)
725 AC_SUBST(CFLAGS_NOOLDSTYLE)