SHLIB_SUFFIX="so"
CCOBJ="\$(CC)"
MT_CC="\$(CC)"
-XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} ${LIB_libintl}"
+XLIBS="${LIB_AFSDB} ${LIB_libintl}"
MT_LIBS='-lpthread ${XLIBS}'
XCFLAGS=
dnl standard programs
AC_PROG_RANLIB
-AC_CHECK_PROGS(AS, as, [${am_missing_run}as])
-AC_CHECK_PROGS(AR, ar, [${am_missing_run}ar])
-AC_CHECK_PROGS(MV, mv, [${am_missing_run}mv])
-AC_CHECK_PROGS(RM, rm, [${am_missing_run}rm])
-AC_CHECK_PROGS(LD, ld, [${am_missing_run}ld])
-AC_CHECK_PROGS(CP, cp, [${am_missing_run}cp])
-AC_CHECK_PROGS(STRIP, strip, [${am_missing_run}strip])
-AC_CHECK_PROGS(LORDER, lorder, [${am_missing_run}lorder])
-AC_CHECK_PROGS(GENCAT, gencat, [${am_missing_run}gencat])
+AC_CHECK_PROGS(AS, as, [false])
+AC_CHECK_PROGS(MV, mv, [false])
+AC_CHECK_PROGS(RM, rm, [false])
+AC_CHECK_PROGS(LD, ld, [false])
+AC_CHECK_PROGS(CP, cp, [false])
+AC_CHECK_PROGS(GENCAT, gencat, [false])
+
+dnl if ar is not present, libtool.m4 (provided by libtool) sets AR to false
+dnl if strip is not present, libtool.m4 (provided by libtool) sets STRIP to :
+AS_IF([test "x$AR" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'ar'])])
+AS_IF([test "x$AS" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'as'])])
+AS_IF([test "x$MV" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'mv'])])
+AS_IF([test "x$RM" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'rm'])])
+AS_IF([test "x$LD" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'ld'])])
+AS_IF([test "x$CP" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'cp'])])
+AS_IF([test "x$GENCAT" = "xfalse"], [AC_MSG_ERROR([cannot find required command 'gencat'])])
dnl TODO - need to disable STRIP if we are doing debugging in any user space code
case $AFS_SYSNAME in
- alpha_dux40)
- CC="cc"
- CSTATIC="-non_shared"
- DBG="-g3"
- MT_CFLAGS='-D_REENTRANT=1 -pthread'
- MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
- XCFLAGS="-D_NO_PROTO -DOSF"
- SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
- ;;
-
- alpha_dux50 | alpha_dux51)
- CC="cc"
- DBG="-g3"
- CSTATIC="-non_shared"
- LWP_OPTMZ="-O2"
- MT_CFLAGS='-D_REENTRANT=1 -pthread'
- MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
- XCFLAGS="-D_NO_PROTO -DOSF"
- SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
- ;;
-
alpha_linux_22 | alpha_linux_24 | alpha_linux_26)
CCOBJ="\$(CC) -fPIC"
MT_CFLAGS='-pthread -D_REENTRANT'
PAM_OPTMZ=-O2
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
;;
- arm_linux_24 | arm_linux26)
+ arm_linux_24 | arm_linux26 | arm64_linux26)
CCOBJ="\$(CC) -fPIC"
MT_CFLAGS='-pthread -D_REENTRANT'
PAM_OPTMZ=-O2
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
;;
PAM_LIBS="/usr/lib/libpam.1"
RANLIB="/usr/bin/ranlib"
RM="/bin/rm"
- SHLIB_LDFLAGS="-b -Bsymbolic"
SHLIB_SUFFIX="sl"
VFSCK_CFLAGS="-D_FILE64"
XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
PAM_LIBS="/usr/lib/libpam.1"
RANLIB="/usr/bin/ranlib"
RM="/bin/rm"
- SHLIB_LDFLAGS="-b -Bsymbolic"
SHLIB_SUFFIX="sl"
VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
PAM_LIBS="/usr/lib/hpux32/libpam.so"
RANLIB="/usr/bin/ranlib"
RM="/bin/rm"
- SHLIB_LDFLAGS="-b -Bsymbolic"
SHLIB_SUFFIX="sl"
VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
MT_CFLAGS='-pthread -D_REENTRANT'
PAM_OPTMZ=-O2
PAM_CFLAGS="-pipe -fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
XCFLAGS="-pipe"
;;
MT_CFLAGS='-pthread -D_REENTRANT'
PAM_OPTMZ=-O2
PAM_CFLAGS="-pipe -fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
XCFLAGS="-pipe"
;;
amd64_fbsd_*)
MT_CFLAGS='-pthread -D_REENTRANT'
PAM_CFLAGS="-O2 -pipe -fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
XCFLAGS="-O2 -pipe -fPIC"
;;
PAM_OPTMZ=-O2
PAM_CFLAGS="-pipe -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
XCFLAGS="-pipe"
;;
MT_LIBS='${XLIBS}'
PAM_OPTMZ=-O2
PAM_CFLAGS="-pipe -fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
XCFLAGS="-pipe"
;;
- ia64_linux24|ia64_linux26)
+ ia64_linux26)
KERN_OPTMZ=-O2
MT_CFLAGS='-pthread -D_REENTRANT'
PAM_OPTMZ=-O2
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
XCFLAGS="-G0"
SHLIB_LINKER="${CC} -shared"
;;
PAM_OPTMZ=-O2
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
;;
- ppc64_linux24 | ppc64_linux26)
+ ppc64_linux26|ppc64le_linux26)
MT_CFLAGS='-pthread -D_REENTRANT'
PAM_OPTMZ=-O2
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_CFLAGS="-fPIC"
SHLIB_LINKER="${CC} -shared -m64"
XCFLAGS="-m64"
OPTMZ=-O2
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
;;
- i386_umlinux22 | i386_umlinux24 | i386_umlinux26)
+ i386_umlinux26)
MT_CFLAGS='-pthread -D_REENTRANT'
DBG=-g
LWP_DBG=-g
PAM_OPTMZ=-O2
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
;;
PAM_OPTMZ=-O2
PAM_CFLAGS="-pipe -fpic"
SHLIB_CFLAGS="-fpic"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
XCFLAGS=
;;
- parisc_linux24)
- KERN_OPTMZ=-O2
- MT_CFLAGS='-pthread -D_REENTRANT'
- PAM_OPTMZ=-O2
- PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
- SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
- SHLIB_LINKER="${CC} -shared"
- ;;
-
ppc_darwin_70)
CC="cc"
AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
EXTRA_VLIBOBJS="fstab.o"
SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
SHLIB_SUFFIX="dylib"
- XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
+ XLIBS="${LIB_AFSDB} -framework CoreFoundation"
;;
*_darwin_80)
SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
SHLIB_SUFFIX="dylib"
RANLIB="ranlib -c"
- XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
+ XLIBS="${LIB_AFSDB} -framework CoreFoundation"
;;
*_darwin_90)
SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
SHLIB_SUFFIX="dylib"
RANLIB="ranlib -c"
- XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
+ XLIBS="${LIB_AFSDB} -framework CoreFoundation"
;;
arm_darwin_100)
SHLIB_LINKER="${CC} -dynamiclib"
SHLIB_SUFFIX="dylib"
RANLIB="ranlib"
- XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
+ XLIBS="${LIB_AFSDB} -framework CoreFoundation"
;;
- *_darwin_100 | *_darwin_110 | *_darwin_120 | *_darwin_130 | *_darwin_140 )
+ *_darwin_100 | *_darwin_110 | *_darwin_120 | *_darwin_130 | *_darwin_140 | *_darwin_150 | *_darwin_160 | *_darwin_170 | *_darwin_180)
AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
MT_CFLAGS="-D_REENTRANT"
MT_LIBS='${XLIBS}'
SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
SHLIB_SUFFIX="dylib"
RANLIB="ranlib"
- XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
+ XLIBS="${LIB_AFSDB} -framework CoreFoundation"
+ ;;
+
+ *_darwin_190)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
+ MT_CFLAGS="-D_REENTRANT"
+ MT_LIBS='${XLIBS}'
+ KROOT='/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
+ KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
+ LD="cc"
+ KERN_OPTMZ="-Os"
+ LWP_OPTMZ="-Os"
+ OPTMZ="-Os"
+ PAM_LIBS="-lpam"
+ REGEX_OBJ="regex.lo"
+ EXTRA_VLIBOBJS="fstab.o"
+ SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ RANLIB="ranlib"
+ XLIBS="${LIB_AFSDB} -framework CoreFoundation"
;;
ppc_linux*)
PAM_OPTMZ=-O2
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
;;
AIX64="yes"
;;
- s390_linux22|s390_linux24|s390_linux26)
+ s390_linux26)
LD="ld"
KERN_OPTMZ=-O2
MT_CFLAGS='-pthread -D_REENTRANT'
PAM_OPTMZ=-O2
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
SHLIB_LINKER="${CC} -shared"
;;
- s390x_linux24|s390x_linux26)
+ s390x_linux26)
CCOBJ="\$(CC) -fPIC"
LD="ld"
KERN_OPTMZ=-O2
PAM_OPTMZ=-O
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
OPTMZ=-O
XCFLAGS="-D__s390x__"
SHLIB_LINKER="${CC} -shared"
PAM_OPTMZ=-O2
PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
SHLIB_CFLAGS="-fPIC"
- SHLIB_LDFLAGS="-shared -Xlinker -x"
XCFLAGS64="-m64"
XLDFLAGS64="-m64"
SHLIB_LINKER="${CC} -shared"
PAM_CFLAGS="-KPIC"
PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
SHLIB_CFLAGS="-KPIC"
- SHLIB_LDFLAGS="-G -Bsymbolic"
XCFLAGS64='${XCFLAGS} -m64'
XCFLAGS="-dy -Bdynamic"
XLIBELFA="-lelf"
CFLAGS="$CFLAGS ${XARCHFLAGS}"
LD="/usr/ccs/bin/ld"
MT_CFLAGS='-mt'
+ KERN_OPTMZ="-xO3"
PAM_CFLAGS="-KPIC"
PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
SHLIB_CFLAGS="-KPIC"
- SHLIB_LDFLAGS="-G -Bsymbolic"
XCFLAGS0="-dy -Bdynamic"
XCFLAGS64="${XCFLAGS0} -m64"
XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
AS_CASE([$AFS_SYSNAME],
[sunx86_510|sunx86_511],
dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
- dnl instructions to optimized code, without any ability to turn it off.
- dnl So just default to not optimizing kernel code for the relevant
- dnl platforms, until we get a better autoconf test for this.
- [enable_optimize_kernel=no],
+ dnl instructions to optimized code, without any known way to turn it off.
+ dnl To cope, this condition was added to change the default to
+ dnl 'no'.
+ dnl Now that we have an autoconf test to allow disabling the SSE
+ dnl optimizations, it's safe to once more default to 'yes' here.
+ [enable_optimize_kernel=yes],
[enable_optimize_kernel=yes])
fi
fi
CFLAGS_NOERROR=
-CFLAGS_NOSTRICT=
+CFLAGS_NOSTRICT=-fno-strict-aliasing
CFLAGS_NOUNUSED=
CFLAGS_NOOLDSTYLE=
+CFLAGS_NOIMPLICIT_FALLTHROUGH=
XCFLAGS_NOCHECKING="$XCFLAGS"
if test "x$GCC" = "xyes"; then
XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Wpointer-arith"
fi
if test "x$enable_checking" != "xno"; then
- XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
+ XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith -fno-common"
+ CFLAGS_WERROR="-Werror"
if test "x$enable_checking" != "xall"; then
CFLAGS_NOERROR="-Wno-error"
- CFLAGS_NOSTRICT="-fno-strict-aliasing"
CFLAGS_NOUNUSED="-Wno-unused"
CFLAGS_NOOLDSTYLE="-Wno-old-style-definition"
+ AX_APPEND_COMPILE_FLAGS([-Wno-implicit-fallthrough],
+ [CFLAGS_NOIMPLICIT_FALLTHROUGH])
AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
+ else
+ CFLAGS_NOSTRICT=
fi
fi
else
esac
fi
+dnl add additional checks if compilers support the flags
+AS_IF([test "x$enable_checking" != "xno"],
+ [AX_APPEND_COMPILE_FLAGS([-Wimplicit-fallthrough], [XCFLAGS])
+])
+
dnl horribly cheating, assuming double / is ok.
case $INSTALL in
./* )
AC_SUBST(RM)
AC_SUBST(RXDEBUG)
AC_SUBST(SHLIB_CFLAGS)
-AC_SUBST(SHLIB_LDFLAGS)
AC_SUBST(SHLIB_LINKER)
AC_SUBST(SHLIB_SUFFIX)
AC_SUBST(VFSCK_CFLAGS)
AC_SUBST(CFLAGS_NOSTRICT)
AC_SUBST(CFLAGS_NOUNUSED)
AC_SUBST(CFLAGS_NOOLDSTYLE)
+AC_SUBST(CFLAGS_NOIMPLICIT_FALLTHROUGH)
+AC_SUBST(CFLAGS_WERROR)
AC_SUBST(XCFLAGS64)
AC_SUBST(XLDFLAGS)
AC_SUBST(XLDFLAGS64)
AC_SUBST(XLIBKVM)
AC_SUBST(XLIBS)
AC_SUBST(YACC)
+AC_SUBST(KROOT)
+AC_SUBST(KINCLUDES)
])