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, [false])
29 AC_CHECK_PROGS(MV, mv, [false])
30 AC_CHECK_PROGS(RM, rm, [false])
31 AC_CHECK_PROGS(LD, ld, [false])
32 AC_CHECK_PROGS(CP, cp, [false])
33 AC_CHECK_PROGS(GENCAT, gencat, [false])
35 dnl if ar is not present, libtool.m4 (provided by libtool) sets AR to false
36 dnl if strip is not present, libtool.m4 (provided by libtool) sets STRIP to :
37 AS_IF([test "x$AR" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'ar'])])
38 AS_IF([test "x$AS" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'as'])])
39 AS_IF([test "x$MV" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'mv'])])
40 AS_IF([test "x$RM" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'rm'])])
41 AS_IF([test "x$LD" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'ld'])])
42 AS_IF([test "x$CP" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'cp'])])
43 AS_IF([test "x$GENCAT" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'gencat'])])
45 dnl TODO - need to disable STRIP if we are doing debugging in any user space code
48 alpha_linux_22 | alpha_linux_24 | alpha_linux_26)
50 MT_CFLAGS='-pthread -D_REENTRANT'
52 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
54 SHLIB_LINKER="${CC} -shared"
57 arm_linux_24 | arm_linux26 | arm64_linux26)
59 MT_CFLAGS='-pthread -D_REENTRANT'
61 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
63 SHLIB_LINKER="${CC} -shared"
68 CC="/opt/ansic/bin/cc -Ae"
71 LEX="/opt/langtools/bin/lex"
73 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
74 MT_LIBS='-L/opt/dce/lib -ldce ${XLIBS}'
77 PAM_CFLAGS="+DA1.0 +z -Wl,+k"
78 PAM_LIBS="/usr/lib/libpam.1"
79 RANLIB="/usr/bin/ranlib"
82 VFSCK_CFLAGS="-D_FILE64"
83 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
84 XCFLAGS64="${XCFLAGS0} +DA2.0W"
85 XCFLAGS="${XCFLAGS0} +DA1.0"
86 YACC="/opt/langtools/bin/yacc"
93 CC="/opt/ansic/bin/cc"
96 LEX="/opt/langtools/bin/lex"
98 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
101 PAM_CFLAGS="+DA1.0 +z -Wl,+k"
102 PAM_LIBS="/usr/lib/libpam.1"
103 RANLIB="/usr/bin/ranlib"
106 VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
107 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
108 XCFLAGS64="${XCFLAGS0} +DA2.0W"
109 XCFLAGS="${XCFLAGS0} +DA1.0"
111 YACC="/opt/langtools/bin/yacc"
118 CC="/opt/ansic/bin/cc"
119 DBM="/lib/hpux32/libndbm.so"
121 LEX="/opt/langtools/bin/lex"
123 MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
126 PAM_CFLAGS="-b +z -Wl,+k"
127 PAM_LIBS="/usr/lib/hpux32/libpam.so"
128 RANLIB="/usr/bin/ranlib"
131 VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
132 XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
133 XCFLAGS64="${XCFLAGS0} +DD64"
134 XCFLAGS="${XCFLAGS0}"
136 YACC="/opt/langtools/bin/yacc"
141 MT_CFLAGS='-pthread -D_REENTRANT'
143 PAM_CFLAGS="-pipe -fPIC"
144 SHLIB_LINKER="${CC} -shared"
149 MT_CFLAGS='-pthread -D_REENTRANT'
151 PAM_CFLAGS="-pipe -fPIC"
152 SHLIB_LINKER="${CC} -shared"
157 MT_CFLAGS='-pthread -D_REENTRANT'
158 PAM_CFLAGS="-O2 -pipe -fPIC"
159 SHLIB_LINKER="${CC} -shared"
160 XCFLAGS="-O2 -pipe -fPIC"
163 *nbsd2*|*nbsd3*|*nbsd4*|*nbsd5*|*nbsd6*|*nbsd7*)
164 MT_CFLAGS='-pthread -D_REENTRANT'
166 PAM_CFLAGS="-pipe -fPIC"
168 SHLIB_LINKER="${CC} -shared"
175 PAM_CFLAGS="-pipe -fPIC"
176 SHLIB_LINKER="${CC} -shared"
182 MT_CFLAGS='-pthread -D_REENTRANT'
184 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
187 SHLIB_LINKER="${CC} -shared"
193 MT_CFLAGS='-pthread -D_REENTRANT'
195 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
197 SHLIB_LINKER="${CC} -shared"
200 ppc64_linux26|ppc64le_linux26)
201 MT_CFLAGS='-pthread -D_REENTRANT'
203 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
205 SHLIB_LINKER="${CC} -shared -m64"
213 MT_CFLAGS='-pthread -D_REENTRANT'
219 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
221 SHLIB_LINKER="${CC} -shared"
225 MT_CFLAGS='-pthread -D_REENTRANT'
231 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
233 SHLIB_LINKER="${CC} -shared"
238 MT_CFLAGS='-pthread -D_REENTRANT'
242 PAM_CFLAGS="-pipe -fpic"
244 SHLIB_LINKER="${CC} -shared"
250 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
251 MT_CFLAGS='-D_REENTRANT'
253 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
256 XCFLAGS="-no-cpp-precomp"
257 EXTRA_VLIBOBJS="fstab.o"
258 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
260 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
265 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
266 MT_CFLAGS="-D_REENTRANT"
268 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
273 EXTRA_VLIBOBJS="fstab.o"
274 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
277 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
281 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
282 MT_CFLAGS="-D_REENTRANT"
284 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
290 EXTRA_VLIBOBJS="fstab.o"
291 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
294 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
298 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
299 MT_CFLAGS="-D_REENTRANT"
300 MT_LIBS="${LIB_AFSDB} -framework CoreFoundation"
302 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
310 EXTRA_VLIBOBJS="fstab.o"
311 SHLIB_LINKER="${CC} -dynamiclib"
314 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
317 *_darwin_100 | *_darwin_110 | *_darwin_120 | *_darwin_130 | *_darwin_140 | *_darwin_150 | *_darwin_160 | *_darwin_170 | *_darwin_180)
318 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
319 MT_CFLAGS="-D_REENTRANT"
322 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
329 EXTRA_VLIBOBJS="fstab.o"
330 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
333 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
337 AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
338 MT_CFLAGS="-D_REENTRANT"
340 KROOT='/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
341 KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
348 EXTRA_VLIBOBJS="fstab.o"
349 SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
352 XLIBS="${LIB_AFSDB} -framework CoreFoundation"
357 MT_CFLAGS='-pthread -D_REENTRANT'
359 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
361 SHLIB_LINKER="${CC} -shared"
367 LIBSYS_AIX_EXP="afsl.exp"
370 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
371 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
372 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
377 rs_aix51 | rs_aix52 | rs_aix53)
380 LIBSYS_AIX_EXP="afsl.exp"
383 XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
384 XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
385 SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
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"
406 MT_CFLAGS='-pthread -D_REENTRANT'
408 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
410 SHLIB_LINKER="${CC} -shared"
417 MT_CFLAGS='-pthread -D_REENTRANT'
419 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
422 XCFLAGS="-D__s390x__"
423 SHLIB_LINKER="${CC} -shared"
428 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
429 FSINCLUDES="-I/usr/include/sys/fs"
430 MT_CFLAGS='-D_SGI_MP_SOURCE'
431 XCFLAGS64="-64 -mips3"
435 SHLIB_LINKER="${CC} -shared"
440 AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
441 FSINCLUDES="-I/usr/include/sys/fs"
442 MT_CFLAGS='-D_SGI_MP_SOURCE'
443 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
444 XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
447 SHLIB_LINKER="${CC} -shared"
452 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
453 FSINCLUDES="-I/usr/include/sys/fs"
454 MT_CFLAGS='-D_SGI_MP_SOURCE'
455 XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
456 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"
459 SHLIB_LINKER="${CC} -shared"
463 AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
465 FSINCLUDES="-I/usr/include/sys/fs"
467 MT_CFLAGS='-D_SGI_MP_SOURCE'
468 XCFLAGS64="-64 -mips3"
469 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"
470 XLDFLAGS64="-64 -mips3"
471 XLDFLAGS="-n32 -mips3"
472 SHLIB_LINKER="${CC} -shared"
477 MT_CFLAGS='-pthread -D_REENTRANT'
479 PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
483 SHLIB_LINKER="${CC} -shared"
491 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
493 XCFLAGS64='${XCFLAGS} -m64'
494 XCFLAGS="-dy -Bdynamic"
497 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
498 SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
508 if test "x`echo "${ARCHFLAGS}" | grep m32`" != "x" ; then
509 CURRENTBUILDARCH=i386
511 if test "x`echo "${ARCHFLAGS}" | grep m64`" != "x" ; then
512 CURRENTBUILDARCH=amd64
514 if test "x${CURRENTBUILDARCH}" = "x" ; then
515 CURRENTBUILDARCH=`isainfo -k`
517 if test "${CURRENTBUILDARCH}" = "amd64" ; then
524 CFLAGS="$CFLAGS ${XARCHFLAGS}"
529 PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
531 XCFLAGS0="-dy -Bdynamic"
532 XCFLAGS64="${XCFLAGS0} -m64"
533 XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
535 XLDFLAGS="${XARCHFLAGS}"
536 ASFLAGS="${XARCHFLAGS}"
539 XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
540 SHLIB_LINKER="${CC} ${XARCHFLAGS} -G -dy -Bsymbolic -z text"
545 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
548 # Defaults for --enable-optimize-kernel
550 if test "x$enable_optimize_kernel" = "x" ; then
551 AS_CASE([$AFS_SYSNAME],
552 [sunx86_510|sunx86_511],
553 dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
554 dnl instructions to optimized code, without any known way to turn it off.
555 dnl To cope, this condition was added to change the default to
557 dnl Now that we have an autoconf test to allow disabling the SSE
558 dnl optimizations, it's safe to once more default to 'yes' here.
559 [enable_optimize_kernel=yes],
560 [enable_optimize_kernel=yes])
564 # Special build targets
568 IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS
569 XFS_SIZE_CHECK="xfs_size_check"
570 install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
571 dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
573 AC_SUBST(XFS_SIZE_CHECK)
574 AC_SUBST(install_XFS_SIZE_CHECK)
575 AC_SUBST(dest_XFS_SIZE_CHECK)
578 if test "x$enable_debug_kernel" = "xyes"; then
580 AC_SUBST(DEBUG_FLAGS)
585 dnl Disable the default for debugging/optimization if not enabled
586 if test "x$enable_debug_kernel" = "xno"; then
590 if test "x$enable_optimize_kernel" = "xno"; then
594 if test "x$enable_debug" = "xno"; then
599 if test "x$enable_optimize" = "xno"; then
603 if test "x$enable_debug_lwp" = "xno"; then
607 if test "x$enable_optimize_lwp" = "xno"; then
611 if test "x$enable_strip_binaries" != "xno"; then
612 if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
622 CFLAGS_NOSTRICT=-fno-strict-aliasing
625 XCFLAGS_NOCHECKING="$XCFLAGS"
627 if test "x$GCC" = "xyes"; then
628 if test "x$enable_warnings" = "xyes"; then
629 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Wpointer-arith"
631 if test "x$enable_checking" != "xno"; then
632 XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
633 CFLAGS_WERROR="-Werror"
634 if test "x$enable_checking" != "xall"; then
635 CFLAGS_NOERROR="-Wno-error"
636 CFLAGS_NOUNUSED="-Wno-unused"
637 CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
638 AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
647 warn_common="-v -errfmt=error -errtags=yes -erroff=E_ATTRIBUTE_UNKNOWN,E_END_OF_LOOP_CODE_NOT_REACHED"
648 if test "x$enable_warnings" = "xyes" ; then
649 XCFLAGS="${XCFLAGS} $warn_common"
651 if test "x$enable_checking" != "xno" ; then
652 XCFLAGS="${XCFLAGS} $warn_common -errwarn=%all"
653 if test "x$enable_checking" != "xall" ; then
654 CFLAGS_NOERROR="-errwarn=%none"
661 dnl horribly cheating, assuming double / is ok.
664 INSTALL="/@abs_top_srcdir@/install-sh -c"
670 INSTALL_PROGRAM="${INSTALL_PROGRAM} ${NO_STRIP_BIN}"
675 AC_SUBST(AFSD_LDFLAGS)
694 AC_SUBST(NO_STRIP_BIN)
704 AC_SUBST(SHLIB_CFLAGS)
705 AC_SUBST(SHLIB_LINKER)
706 AC_SUBST(SHLIB_SUFFIX)
707 AC_SUBST(VFSCK_CFLAGS)
709 AC_SUBST(CFLAGS_NOERROR)
710 AC_SUBST(CFLAGS_NOSTRICT)
711 AC_SUBST(CFLAGS_NOUNUSED)
712 AC_SUBST(CFLAGS_NOOLDSTYLE)
713 AC_SUBST(CFLAGS_WERROR)