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} -m64'
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} -xarch=amd64'
537 XCFLAGS="-dy -Bdynamic"
540 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
541 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
544 sunx86_510|sunx86_511)
545 if test "x`echo "${ARCHFLAGS}" | grep m32`" != "x" ; then
546 CURRENTBUILDARCH=i386
548 if test "x`echo "${ARCHFLAGS}" | grep m64`" != "x" ; then
549 CURRENTBUILDARCH=amd64
551 if test "x${CURRENTBUILDARCH}" = "x" ; then
552 CURRENTBUILDARCH=`isainfo -k`
554 if test "${CURRENTBUILDARCH}" = "amd64" ; then
558 CFLAGS="$CFLAGS $XARCHFLAGS"
562 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
564 SHLIB_LDFLAGS="-G -Bsymbolic"
565 XCFLAGS0="-dy -Bdynamic"
566 XCFLAGS64="${XCFLAGS0} -m64"
567 XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
569 XLDFLAGS="${XARCHFLAGS}"
570 ASFLAGS="${XARCHFLAGS}"
573 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
574 SHLIB_LINKER="${CC} ${XCFLAGS} -G -z text"
579 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
582 # Defaults for --enable-optimize-kernel
584 if test "x$enable_optimize_kernel" = "x" ; then
585 AS_CASE([$AFS_SYSNAME],
586 [sunx86_510|sunx86_511],
587 dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
588 dnl instructions to optimized code, without any ability to turn it off.
589 dnl So just default to not optimizing kernel code for the relevant
590 dnl platforms, until we get a better autoconf test for this.
591 [enable_optimize_kernel=no],
592 [enable_optimize_kernel=yes])
596 # Special build targets
600 IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS
601 XFS_SIZE_CHECK="xfs_size_check"
602 install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
603 dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
605 AC_SUBST(XFS_SIZE_CHECK)
606 AC_SUBST(install_XFS_SIZE_CHECK)
607 AC_SUBST(dest_XFS_SIZE_CHECK)
610 if test "x$enable_debug_kernel" = "xyes"; then
612 AC_SUBST(DEBUG_FLAGS)
617 dnl Disable the default for debugging/optimization if not enabled
618 if test "x$enable_debug_kernel" = "xno"; then
622 if test "x$enable_optimize_kernel" = "xno"; then
626 if test "x$enable_debug" = "xno"; then
631 if test "x$enable_optimize" = "xno"; then
635 if test "x$enable_debug_lwp" = "xno"; then
639 if test "x$enable_optimize_lwp" = "xno"; then
643 if test "x$enable_strip_binaries" != "xno"; then
644 if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
657 XCFLAGS_NOCHECKING="$XCFLAGS"
659 if test "x$GCC" = "xyes"; then
660 if test "x$enable_warnings" = "xyes"; then
661 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Wpointer-arith"
663 if test "x$enable_checking" != "xno"; then
664 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
665 if test "x$enable_checking" != "xall"; then
666 CFLAGS_NOERROR="-Wno-error"
667 CFLAGS_NOSTRICT="-fno-strict-aliasing"
668 CFLAGS_NOUNUSED="-Wno-unused"
669 CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
670 AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
677 warn_common="-v -errfmt=error -errtags=yes -erroff=E_ATTRIBUTE_UNKNOWN,E_END_OF_LOOP_CODE_NOT_REACHED"
678 if test "x$enable_warnings" = "xyes" ; then
679 XCFLAGS="${XCFLAGS} $warn_common"
681 if test "x$enable_checking" != "xno" ; then
682 XCFLAGS="${XCFLAGS} $warn_common -errwarn=%all"
683 if test "x$enable_checking" != "xall" ; then
684 CFLAGS_NOERROR="-errwarn=%none"
691 dnl horribly cheating, assuming double / is ok.
694 INSTALL="/@abs_top_srcdir@/install-sh -c"
700 INSTALL_PROGRAM="${INSTALL_PROGRAM} ${NO_STRIP_BIN}"
705 AC_SUBST(AFSD_LDFLAGS)
724 AC_SUBST(NO_STRIP_BIN)
734 AC_SUBST(SHLIB_CFLAGS)
735 AC_SUBST(SHLIB_LDFLAGS)
736 AC_SUBST(SHLIB_LINKER)
737 AC_SUBST(SHLIB_SUFFIX)
738 AC_SUBST(VFSCK_CFLAGS)
740 AC_SUBST(CFLAGS_NOERROR)
741 AC_SUBST(CFLAGS_NOSTRICT)
742 AC_SUBST(CFLAGS_NOUNUSED)
743 AC_SUBST(CFLAGS_NOOLDSTYLE)