macos: add support for MacOS 11.0
[openafs.git] / src / cf / osconf.m4
index 76b7698..51bcdb4 100644 (file)
@@ -2,13 +2,13 @@
 AC_DEFUN([OPENAFS_OSCONF], [
 
 dnl defaults, override in case below as needed
-XCFLAGS='${DBG} ${OPTMZ}'
 RXDEBUG="-DRXDEBUG"
 SHLIB_SUFFIX="so"
-CCOBJ="$CC"
-MT_CC="$CC"
-XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} ${LIB_libintl}"
+CCOBJ="\$(CC)"
+MT_CC="\$(CC)"
+XLIBS="${LIB_AFSDB} ${LIB_libintl}"
 MT_LIBS='-lpthread ${XLIBS}'
+XCFLAGS=
 
 dnl debugging and optimization flag defaults
 dnl Note, these are all the defaults for if debug/optimize turned on, and
@@ -25,125 +25,40 @@ PAM_OPTMZ=
 
 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])
-
-dnl TODO - need to disable STRIP if we are doing debugging in any user space code
+AC_CHECK_TOOL(AS, as, [false])
+AC_CHECK_PROGS(MV, mv, [false])
+AC_CHECK_PROGS(RM, rm, [false])
+AC_CHECK_TOOL(LD, ld, [false])
+AC_CHECK_PROGS(CP, cp, [false])
+AC_CHECK_PROGS(GENCAT, gencat, [false])
 
 case $AFS_SYSNAME in
-       alpha_dux40)
-               CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
-               CSTATIC="-non_shared"
-               DBG="-g3"
-               MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
-               XCFLAGS="-D_NO_PROTO -DOSF"
-               SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
-               ;;
-
-       alpha_dux50)
-               CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
-               LEX="flex -l"
-               DBG="-g3"
-               CSTATIC="-non_shared"
-               MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
-               XCFLAGS="-D_NO_PROTO -DOSF"
-               SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
-               ;;
-
-       alpha_dux51)
-               CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
-               DBG="-g3"
-               CSTATIC="-non_shared"
-               LWP_OPTMZ="-O2"
-               MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
-               XCFLAGS="-D_NO_PROTO -DOSF"
-               SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
-               ;;
-
-       alpha_linux_22)
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+       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"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       alpha_linux_24)
-               CCOBJ="${CC} -fPIC"
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               PAM_OPTMZ=-O2
-               PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       alpha_linux_26)
-               CCOBJ="${CC} -fPIC"
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               PAM_OPTMZ=-O2
-               PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       arm_linux24)
-               CCOBJ="${CC} -fPIC"
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               PAM_OPTMZ=-O2
-               PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
-       arm_linux26)
-               CCOBJ="${CC} -fPIC"
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+       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"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
        hp_ux102)
                AS="/usr/ccs/bin/as"
                CC="/opt/ansic/bin/cc -Ae"
-               CCOBJ="/opt/ansic/bin/cc -Ae"
                DBM="/lib/libndbm.a"
                LD="/bin/ld"
                LEX="/opt/langtools/bin/lex"
                LWP_OPTMZ="-O"
-               MT_CC="/opt/ansic/bin/cc -Ae"
-               MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
+               MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
                MT_LIBS='-L/opt/dce/lib -ldce ${XLIBS}'
                MV="/bin/mv"
                OPTMZ="-O"
@@ -151,7 +66,6 @@ case $AFS_SYSNAME in
                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"
@@ -165,20 +79,17 @@ case $AFS_SYSNAME in
                AR="/usr/bin/ar"
                AS="/usr/ccs/bin/as"
                CC="/opt/ansic/bin/cc"
-               CCOBJ="/opt/ansic/bin/cc"
                DBM="/lib/libndbm.a"
                LD="/bin/ld   "
                LEX="/opt/langtools/bin/lex"
                LWP_OPTMZ="-O"
-               MT_CC="$CC"
-               MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
+               MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
                MV="/bin/mv"
                OPTMZ="-O"
                PAM_CFLAGS="+DA1.0 +z -Wl,+k"
                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"
@@ -193,20 +104,17 @@ case $AFS_SYSNAME in
                AR="/usr/bin/ar"
                AS="/usr/ccs/bin/as"
                CC="/opt/ansic/bin/cc"
-               CCOBJ="/opt/ansic/bin/cc"
                DBM="/lib/hpux32/libndbm.so"
                LD="/bin/ld   "
                LEX="/opt/langtools/bin/lex"
                LWP_OPTMZ=""
-               MT_CC="$CC"
-               MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
+               MT_CFLAGS='-D_POSIX_C_SOURCE=199506L'
                MV="/bin/mv"
                OPTMZ="-O"
                PAM_CFLAGS="-b +z -Wl,+k"
                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"
@@ -218,237 +126,165 @@ case $AFS_SYSNAME in
                ;;
 
        i386_fbsd_*)
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-pipe"
                ;;
 
        i386_dfbsd_*)
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-pipe"
                ;;
 
        amd64_fbsd_*)
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_CFLAGS="-O2 -pipe -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-O2 -pipe -fPIC"
                ;;
 
-       *nbsd2*|*nbsd3*|*nbsd4*|*nbsd5*)
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+       *nbsd2*|*nbsd3*|*nbsd4*|*nbsd5*|*nbsd6*|*nbsd7*)
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-pipe"
                ;;
 
        *nbsd15|*nbsd16)
-               MT_CFLAGS='${XCFLAGS}'
                MT_LIBS='${XLIBS}'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-pipe"
                ;;
 
-       ia64_linux24|ia64_linux26)
+       ia64_linux26)
                KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE -G0"
-               SHLIB_LINKER="${MT_CC} -shared"
+               XCFLAGS="-G0"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
        amd64_linux*)
-               CCOBJ="${CC} -fPIC"
+               CCOBJ="\$(CC) -fPIC"
                KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       ppc64_linux24)
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               PAM_OPTMZ=-O2
-               PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_CFLAGS="-fPIC"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       ppc64_linux26)
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               PAM_OPTMZ=-O2
-               PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_CFLAGS="-fPIC"
-               XCFLAGS="-D_LARGEFILE64_SOURCE -fPIC"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
-       i386_umlinux22)
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+       ppc64_linux26|ppc64le_linux26)
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared -m64"
+               XCFLAGS="-m64"
+               XLDFLAGS="-m64"
+               ASFLAGS="-a64"
                ;;
 
        i386_linux*)
                KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               DBG=-g
-               KERN_DBG=-g
-               LWP_DBG=-g
-               LWP_OPTMZ=-O2
-               OPTMZ=-O2
-               PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       i386_umlinux24)
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                DBG=-g
                KERN_DBG=-g
                LWP_DBG=-g
                LWP_OPTMZ=-O2
                OPTMZ=-O2
-               PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
        i386_umlinux26)
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                DBG=-g
-               KERN_DBG=-g
                LWP_DBG=-g
                LWP_OPTMZ=-O2
                OPTMZ=-O2
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
        *_obsd*)
                KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                LWP_OPTMZ=-O2
                OPTMZ=-O2
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fpic"
                SHLIB_CFLAGS="-fpic"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                XCFLAGS=
                ;;
 
-       parisc_linux24)
-               KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               PAM_OPTMZ=-O2
-               PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
        ppc_darwin_70)
                CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
                AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-D_REENTRANT'
                KROOT=
                KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
                LWP_OPTMZ="-O2"
-               REGEX_OBJ="regex.o"
-               REGEX_OBJ_PIC="regex_pic.o"
+               REGEX_OBJ="regex.lo"
                XCFLAGS="-no-cpp-precomp"
                EXTRA_VLIBOBJS="fstab.o"
-               SHLIB_LINKER="${MT_CC} \${ARCHFLAGS} -dynamiclib"
+               SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
                SHLIB_SUFFIX="dylib"
-               XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
+               XLIBS="${LIB_AFSDB} -framework CoreFoundation"
                ;;
 
        *_darwin_80)
                CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
                AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
-               MT_CFLAGS="-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} \${ARCHFLAGS}"
+               MT_CFLAGS="-D_REENTRANT"
                KROOT=
                KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
                KERN_OPTMZ="-Os"
                LWP_OPTMZ="-Os"
                OPTMZ="-Os"
-               REGEX_OBJ="regex.o"
-               REGEX_OBJ_PIC="regex_pic.o"
+               REGEX_OBJ="regex.lo"
                EXTRA_VLIBOBJS="fstab.o"
-               SHLIB_LINKER="${MT_CC} \${ARCHFLAGS} -dynamiclib"
+               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)
                AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
-               MT_CFLAGS="-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} \${ARCHFLAGS}"
+               MT_CFLAGS="-D_REENTRANT"
                KROOT=
                KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
                LD="cc"
                KERN_OPTMZ="-Os"
                LWP_OPTMZ="-Os"
                OPTMZ="-Os"
-               REGEX_OBJ="regex.o"
-               REGEX_OBJ_PIC="regex_pic.o"
+               REGEX_OBJ="regex.lo"
                EXTRA_VLIBOBJS="fstab.o"
-               SHLIB_LINKER="${MT_CC} \${ARCHFLAGS} -dynamiclib"
+               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)
                AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
+               MT_CFLAGS="-D_REENTRANT"
                MT_LIBS="${LIB_AFSDB} -framework CoreFoundation"
                KROOT=
                KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
@@ -457,18 +293,18 @@ case $AFS_SYSNAME in
                LWP_OPTMZ="-Os"
                OPTMZ="-Os"
                PAM_LIBS="-lpam"
-               REGEX_OBJ="regex.o"
+               REGEX_OBJ="regex.lo"
                TXLIBS="-lncurses"
                EXTRA_VLIBOBJS="fstab.o"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
+               SHLIB_LINKER="${CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
                RANLIB="ranlib"
-               XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
+               XLIBS="${LIB_AFSDB} -framework CoreFoundation"
                ;;
 
-       *_darwin_100)
+       *_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="-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} \${ARCHFLAGS}"
+               MT_CFLAGS="-D_REENTRANT"
                MT_LIBS='${XLIBS}'
                KROOT=
                KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
@@ -477,33 +313,47 @@ case $AFS_SYSNAME in
                LWP_OPTMZ="-Os"
                OPTMZ="-Os"
                PAM_LIBS="-lpam"
-               REGEX_OBJ="regex.o"
-               REGEX_OBJ_PIC="regex_pic.o"
+               REGEX_OBJ="regex.lo"
                EXTRA_VLIBOBJS="fstab.o"
-               SHLIB_LINKER="${MT_CC} \${ARCHFLAGS} -dynamiclib"
+               SHLIB_LINKER="${CC} \${ARCHFLAGS} -dynamiclib"
                SHLIB_SUFFIX="dylib"
                RANLIB="ranlib"
-               XLIBS="${LIB_AFSDB} ${XBSA_XLIBS} -framework CoreFoundation"
+               XLIBS="${LIB_AFSDB} -framework CoreFoundation"
+               ;;
+
+       *_darwin_190 | *_darwin_200)
+               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*)
                KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
        rs_aix42)
                CC="cc"
-               CCOBJ="cc"
                DBG=""
                LIBSYS_AIX_EXP="afsl.exp"
                MT_CC="xlc_r"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
                SHLIB_SUFFIX="o"
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
                XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
@@ -512,44 +362,11 @@ case $AFS_SYSNAME in
                AIX64="no"
                ;;
 
-
-       rs_aix51)
-               CC="cc"
-               CCOBJ="cc"
-               DBG=""
-               LIBSYS_AIX_EXP="afsl.exp"
-               MT_CC="xlc_r"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
-               SHLIB_SUFFIX="o"
-               XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
-               SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
-               AIX32="yes"
-               AIX64="yes"
-               ;;
-
-       rs_aix52)       
+       rs_aix51 | rs_aix52 | rs_aix53) 
                CC="cc"
-               CCOBJ="cc"
-               DBG=""
-               LIBSYS_AIX_EXP="afsl.exp"
-               MT_CC="xlc_r"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
-               SHLIB_SUFFIX="o"
-               XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
-               SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
-               AIX32="yes"
-               AIX64="yes"
-               ;;
-
-       rs_aix53)       
-               CC="cc"
-               CCOBJ="cc"
                DBG="-g"
                LIBSYS_AIX_EXP="afsl.exp"
                MT_CC="xlc_r"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
                SHLIB_SUFFIX="o"
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
                XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
@@ -560,11 +377,9 @@ case $AFS_SYSNAME in
 
        rs_aix61)       
                CC="cc"
-               CCOBJ="cc"
                DBG="-g"
                LIBSYS_AIX_EXP="afsl.exp"
                MT_CC="xlc_r"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
                SHLIB_SUFFIX="o"
                XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
                XLIBS="${LIB_AFSDB} ${LIB_libintl} -ldl"
@@ -573,55 +388,34 @@ case $AFS_SYSNAME in
                AIX64="yes"
                ;;
 
-       s390_linux22)
+       s390_linux26)
                LD="ld"
                KERN_OPTMZ=-O2
-               MT_CC="$CC"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               PAM_OPTMZ=-O
-               PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               OPTMZ=-O
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       s390_linux24|s390_linux26)
-               LD="ld"
-               KERN_OPTMZ=-O2
-               MT_CC="$CC"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
-       s390x_linux24|s390x_linux26)
-               CCOBJ="${CC} -fPIC"
+       s390x_linux26)
+               CCOBJ="\$(CC) -fPIC"
                LD="ld"
                KERN_OPTMZ=-O2
-               MT_CC="$CC"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
                OPTMZ=-O
-               XCFLAGS="-D_LARGEFILE64_SOURCE -D__s390x__"
-               SHLIB_LINKER="${MT_CC} -shared"
+               XCFLAGS="-D__s390x__"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
        sgi_62)
                CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
                AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
                FSINCLUDES="-I/usr/include/sys/fs"
-               MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+               MT_CFLAGS='-D_SGI_MP_SOURCE'
                XCFLAGS64="-64 -mips3"
                XCFLAGS="-o32"
                XLDFLAGS64="-64"
@@ -631,11 +425,9 @@ case $AFS_SYSNAME in
 
        sgi_63)
                CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
                AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
                FSINCLUDES="-I/usr/include/sys/fs"
-               MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+               MT_CFLAGS='-D_SGI_MP_SOURCE'
                XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
                XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
                XLDFLAGS64="-64"
@@ -645,11 +437,9 @@ case $AFS_SYSNAME in
 
        sgi_64)
                CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
                AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
                FSINCLUDES="-I/usr/include/sys/fs"
-               MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+               MT_CFLAGS='-D_SGI_MP_SOURCE'
                XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
                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"
                XLDFLAGS64="-64"
@@ -660,11 +450,9 @@ case $AFS_SYSNAME in
        sgi_65)
                AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
                CC="/usr/bin/cc"
-               CCOBJ="/usr/bin/cc"
                FSINCLUDES="-I/usr/include/sys/fs"
                LD="/usr/bin/ld"
-               MT_CC="/usr/bin/cc"
-               MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+               MT_CFLAGS='-D_SGI_MP_SOURCE'
                XCFLAGS64="-64 -mips3"
                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"
                XLDFLAGS64="-64 -mips3"
@@ -674,92 +462,23 @@ case $AFS_SYSNAME in
 
        sparc*_linux*)
                KERN_OPTMZ=-O2
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               XCFLAGS="-D_LARGEFILE64_SOURCE"
-               XCFLAGS64="-D_LARGEFILE64_SOURCE -m64"
+               XCFLAGS64="-m64"
                XLDFLAGS64="-m64"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       sun4_413)
-               CCXPG2="/usr/xpg2bin/cc"
-               CC="gcc"
-               CCOBJ="gcc"
-               SHLIB_CFLAGS="-PIC"
-               XCFLAGS=""
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB}"
-               LD="ld"
-               ;;
-
-       sun4x_55)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               SHLIB_CFLAGS="-KPIC"
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               LD="/usr/ccs/bin/ld"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
-
-       sun4x_56)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               LD="/usr/ccs/bin/ld"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
-
-       sun4x_57)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               XCFLAGS64='${XCFLAGS} -xarch=v9'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
-       sun4x_58)
+       sun4x_5*)
                CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
                LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+               MT_CFLAGS='-mt'
                PAM_CFLAGS="-KPIC"
                PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
                SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               XCFLAGS64='${XCFLAGS} -xarch=v9'
+               XCFLAGS64='${XCFLAGS} -m64'
                XCFLAGS="-dy -Bdynamic"
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
@@ -768,153 +487,80 @@ case $AFS_SYSNAME in
                LWP_OPTMZ="-g"
                ;;
 
-       sun4x_59)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               XCFLAGS64='${XCFLAGS} -xarch=v9'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
+       sunx86_5*)
+               case $AFS_SYSNAME in
+                       sunx86_58|sunx86_59)
+                               XARCHFLAGS=""
+                               ;;
+                       *)
+                               if test "x`echo "${ARCHFLAGS}" | grep m32`" != "x" ; then
+                                       CURRENTBUILDARCH=i386
+                               fi
+                               if test "x`echo "${ARCHFLAGS}" | grep m64`" != "x" ; then
+                                       CURRENTBUILDARCH=amd64
+                               fi
+                               if test "x${CURRENTBUILDARCH}" = "x" ; then
+                                       CURRENTBUILDARCH=`isainfo -k`
+                               fi
+                               if test "${CURRENTBUILDARCH}" = "amd64" ; then
+                                       XARCHFLAGS="-m64"
+                               fi
+                               ;;
+               esac
 
-       sun4x_510)
                CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
+               CFLAGS="$CFLAGS ${XARCHFLAGS}"
                LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+               MT_CFLAGS='-mt'
+               KERN_OPTMZ="-xO3"
                PAM_CFLAGS="-KPIC"
                PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
                SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               XCFLAGS64='${XCFLAGS} -m64'
-               XCFLAGS="-dy -Bdynamic"
+               XCFLAGS0="-dy -Bdynamic"
+               XCFLAGS64="${XCFLAGS0} -m64"
+               XCFLAGS="${XCFLAGS0} ${XARCHFLAGS}"
+               XLDFLAGS64="-m64"
+               XLDFLAGS="${XARCHFLAGS}"
+               ASFLAGS="${XARCHFLAGS}"
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
+               SHLIB_LINKER="${CC} ${XARCHFLAGS} -G -dy -Bsymbolic -z text"
                ;;
 
-       sun4x_511)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               XCFLAGS64='${XCFLAGS} -xarch=v9'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
+esac
 
-       sunx86_57)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               XCFLAGS64='${XCFLAGS} -xarch=amd64'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               ;;
+MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
 
-       sunx86_58)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               XCFLAGS64='${XCFLAGS} -xarch=amd64'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               ;;
+AFS_LT_INIT
 
-       sunx86_59)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               XCFLAGS64='${XCFLAGS} -xarch=amd64'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               ;;
+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'])])
 
-       sunx86_510)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               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"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               ;;
+dnl TODO - need to disable STRIP if we are doing debugging in any user space code
 
-       sunx86_511)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               XCFLAGS64='${XCFLAGS} -xarch=amd64'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               ;;
-esac
+#
+# Defaults for --enable-optimize-kernel
+#
+if test "x$enable_optimize_kernel" = "x" ; then
+  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 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
 
 #
 # Special build targets
@@ -930,6 +576,12 @@ case $AFS_SYSNAME in
                AC_SUBST(install_XFS_SIZE_CHECK)
                AC_SUBST(dest_XFS_SIZE_CHECK)
        ;;
+       *_fbsd_*)
+               if test "x$enable_debug_kernel" = "xyes"; then
+                       DEBUG_FLAGS=-g
+                       AC_SUBST(DEBUG_FLAGS)
+               fi
+       ;;
 esac
 
 dnl Disable the default for debugging/optimization if not enabled
@@ -969,22 +621,28 @@ else
 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
   if test "x$enable_warnings" = "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
@@ -1005,6 +663,11 @@ 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
   ./* ) 
@@ -1024,6 +687,7 @@ AC_SUBST(AIX32)
 AC_SUBST(AIX64)
 AC_SUBST(AR)
 AC_SUBST(AS)
+AC_SUBST(ASFLAGS)
 AC_SUBST(CP)
 AC_SUBST(DBG)
 AC_SUBST(FSINCLUDES)
@@ -1045,11 +709,9 @@ AC_SUBST(PAM_DBG)
 AC_SUBST(PAM_OPTMZ)
 AC_SUBST(RANLIB)
 AC_SUBST(REGEX_OBJ)
-AC_SUBST(REGEX_OBJ_PIC)
 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)
@@ -1058,6 +720,8 @@ AC_SUBST(CFLAGS_NOERROR)
 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)
@@ -1065,6 +729,8 @@ AC_SUBST(XLIBELFA)
 AC_SUBST(XLIBKVM)
 AC_SUBST(XLIBS)
 AC_SUBST(YACC)
+AC_SUBST(KROOT)
+AC_SUBST(KINCLUDES)
 
 
 ])