Add support for arm64_linux26
[openafs.git] / src / cf / osconf.m4
index d5f42e8..469b92f 100644 (file)
@@ -4,9 +4,9 @@ AC_DEFUN([OPENAFS_OSCONF], [
 dnl defaults, override in case below as needed
 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=
 
@@ -33,14 +33,13 @@ 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])
 
 dnl TODO - need to disable STRIP if we are doing debugging in any user space code
 
 case $AFS_SYSNAME in
        alpha_dux40)
                CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
                CSTATIC="-non_shared"
                DBG="-g3"
                MT_CFLAGS='-D_REENTRANT=1 -pthread'
@@ -51,8 +50,6 @@ case $AFS_SYSNAME in
 
        alpha_dux50 | alpha_dux51)
                CC="cc"
-               CCOBJ="cc"
-               MT_CC="cc"
                DBG="-g3"
                CSTATIC="-non_shared"
                LWP_OPTMZ="-O2"
@@ -63,34 +60,32 @@ case $AFS_SYSNAME in
                ;;
 
        alpha_linux_22 | alpha_linux_24 | alpha_linux_26)
-               CCOBJ="${CC} -fPIC"
+               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="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
-       arm_linux_24 | arm_linux26)
-               CCOBJ="${CC} -fPIC"
+       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="${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'
                MT_LIBS='-L/opt/dce/lib -ldce ${XLIBS}'
                MV="/bin/mv"
@@ -113,12 +108,10 @@ 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'
                MV="/bin/mv"
                OPTMZ="-O"
@@ -141,12 +134,10 @@ 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'
                MV="/bin/mv"
                OPTMZ="-O"
@@ -170,7 +161,7 @@ case $AFS_SYSNAME in
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fPIC"
                SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-pipe"
                ;;
 
@@ -179,7 +170,7 @@ case $AFS_SYSNAME in
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fPIC"
                SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-pipe"
                ;;
 
@@ -187,17 +178,17 @@ case $AFS_SYSNAME in
                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*|*nbsd6*)
+       *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"
                ;;
 
@@ -206,11 +197,11 @@ case $AFS_SYSNAME in
                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='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
@@ -218,27 +209,27 @@ case $AFS_SYSNAME in
                SHLIB_CFLAGS="-fPIC"
                SHLIB_LDFLAGS="-shared -Xlinker -x"
                XCFLAGS="-G0"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
        amd64_linux*)
-               CCOBJ="${CC} -fPIC"
+               CCOBJ="\$(CC) -fPIC"
                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="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
-       ppc64_linux24 | ppc64_linux26)
+       ppc64_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="${MT_CC} -shared -m64"
+               SHLIB_LINKER="${CC} -shared -m64"
                XCFLAGS="-m64"
                XLDFLAGS="-m64"
                ASFLAGS="-a64"
@@ -255,10 +246,10 @@ case $AFS_SYSNAME in
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
                SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
-       i386_umlinux22 | i386_umlinux24 | i386_umlinux26)
+       i386_umlinux26)
                MT_CFLAGS='-pthread -D_REENTRANT'
                DBG=-g
                LWP_DBG=-g
@@ -268,7 +259,7 @@ case $AFS_SYSNAME in
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
                SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
+               SHLIB_LINKER="${CC} -shared"
                ;;
 
        *_obsd*)
@@ -280,42 +271,27 @@ case $AFS_SYSNAME in
                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='-pthread -D_REENTRANT'
-               PAM_OPTMZ=-O2
-               PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               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='-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="-D_REENTRANT"
                KROOT=
@@ -323,13 +299,12 @@ case $AFS_SYSNAME in
                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)
@@ -341,13 +316,12 @@ case $AFS_SYSNAME in
                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)
@@ -361,16 +335,16 @@ 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_110 )
+       *_darwin_100 | *_darwin_110 | *_darwin_120 | *_darwin_130 | *_darwin_140 | *_darwin_150 | *_darwin_160 | *_darwin_170)
                AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
                MT_CFLAGS="-D_REENTRANT"
                MT_LIBS='${XLIBS}'
@@ -381,13 +355,12 @@ 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"
                ;;
 
        ppc_linux*)
@@ -397,12 +370,11 @@ case $AFS_SYSNAME in
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
                SHLIB_LDFLAGS="-shared -Xlinker -x"
-               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"
@@ -416,7 +388,6 @@ case $AFS_SYSNAME in
 
        rs_aix51 | rs_aix52 | rs_aix53) 
                CC="cc"
-               CCOBJ="cc"
                DBG="-g"
                LIBSYS_AIX_EXP="afsl.exp"
                MT_CC="xlc_r"
@@ -430,7 +401,6 @@ case $AFS_SYSNAME in
 
        rs_aix61)       
                CC="cc"
-               CCOBJ="cc"
                DBG="-g"
                LIBSYS_AIX_EXP="afsl.exp"
                MT_CC="xlc_r"
@@ -442,23 +412,21 @@ case $AFS_SYSNAME in
                AIX64="yes"
                ;;
 
-       s390_linux22|s390_linux24|s390_linux26)
+       s390_linux26)
                LD="ld"
                KERN_OPTMZ=-O2
-               MT_CC="$CC"
                MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
                SHLIB_LDFLAGS="-shared -Xlinker -x"
-               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='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
@@ -466,13 +434,11 @@ case $AFS_SYSNAME in
                SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
                OPTMZ=-O
                XCFLAGS="-D__s390x__"
-               SHLIB_LINKER="${MT_CC} -shared"
+               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'
@@ -485,8 +451,6 @@ 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'
@@ -499,8 +463,6 @@ 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'
@@ -514,10 +476,8 @@ 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'
                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"
@@ -535,33 +495,12 @@ case $AFS_SYSNAME in
                SHLIB_LDFLAGS="-shared -Xlinker -x"
                XCFLAGS64="-m64"
                XLDFLAGS64="-m64"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       sun4x_58|sun4x_59)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt'
-               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_510)
+       sun4x_5*)
                CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
                LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt'
                PAM_CFLAGS="-KPIC"
                PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
@@ -576,61 +515,32 @@ case $AFS_SYSNAME in
                LWP_OPTMZ="-g"
                ;;
 
-       sun4x_511)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt'
-               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_58|sunx86_59)
-               CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
-               LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
-               MT_CFLAGS='-mt'
-               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"
-               ;;
+       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
 
-       sunx86_510|sunx86_511)
-               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
                CC=$SOLARISCC
-               CCOBJ=$SOLARISCC
+               CFLAGS="$CFLAGS ${XARCHFLAGS}"
                LD="/usr/ccs/bin/ld"
-               MT_CC=$SOLARISCC
                MT_CFLAGS='-mt'
+               KERN_OPTMZ="-xO3"
                PAM_CFLAGS="-KPIC"
                PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
                SHLIB_CFLAGS="-KPIC"
@@ -644,7 +554,7 @@ case $AFS_SYSNAME in
                XLIBELFA="-lelf"
                XLIBKVM="-lkvm"
                XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} ${XCFLAGS} -G -z text"
+               SHLIB_LINKER="${CC} ${XARCHFLAGS} -G -dy -Bsymbolic -z text"
                ;;
 
 esac
@@ -652,6 +562,22 @@ esac
 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
 
 #
+# 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
 #
 case $AFS_SYSNAME in
@@ -665,6 +591,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
@@ -704,7 +636,7 @@ else
 fi
 
 CFLAGS_NOERROR=
-CFLAGS_NOSTRICT=
+CFLAGS_NOSTRICT=-fno-strict-aliasing
 CFLAGS_NOUNUSED=
 CFLAGS_NOOLDSTYLE=
 XCFLAGS_NOCHECKING="$XCFLAGS"
@@ -717,10 +649,11 @@ if test "x$GCC" = "xyes"; then
     XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option -Wpointer-arith"
     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"
       AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
+    else
+      CFLAGS_NOSTRICT=
     fi
   fi
 else
@@ -782,7 +715,6 @@ 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)