macos: add support for MacOS 11.0
[openafs.git] / src / cf / osconf.m4
index 8e3ce27..51bcdb4 100644 (file)
@@ -25,54 +25,20 @@ PAM_OPTMZ=
 
 dnl standard programs
 AC_PROG_RANLIB
-AC_CHECK_PROGS(AS, as, [false])
+AC_CHECK_TOOL(AS, as, [false])
 AC_CHECK_PROGS(MV, mv, [false])
 AC_CHECK_PROGS(RM, rm, [false])
-AC_CHECK_PROGS(LD, ld, [false])
+AC_CHECK_TOOL(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"
                ;;
 
@@ -82,7 +48,6 @@ case $AFS_SYSNAME in
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                ;;
 
@@ -101,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"
@@ -126,7 +90,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="-I/usr/old/usr/include -D_FILE64"
                XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
@@ -152,7 +115,6 @@ case $AFS_SYSNAME in
                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"
@@ -167,7 +129,6 @@ case $AFS_SYSNAME in
                MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-pipe"
                ;;
@@ -176,7 +137,6 @@ case $AFS_SYSNAME in
                MT_CFLAGS='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-pipe"
                ;;
@@ -184,7 +144,6 @@ case $AFS_SYSNAME in
        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"
                ;;
@@ -194,7 +153,6 @@ case $AFS_SYSNAME in
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-pipe"
                ;;
@@ -203,7 +161,6 @@ case $AFS_SYSNAME in
                MT_LIBS='${XLIBS}'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                XCFLAGS="-pipe"
                ;;
@@ -214,7 +171,6 @@ case $AFS_SYSNAME in
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                XCFLAGS="-G0"
                SHLIB_LINKER="${CC} -shared"
                ;;
@@ -226,15 +182,13 @@ case $AFS_SYSNAME in
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                ;;
 
-       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"
@@ -252,7 +206,6 @@ case $AFS_SYSNAME in
                OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                ;;
 
@@ -265,7 +218,6 @@ case $AFS_SYSNAME in
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                ;;
 
@@ -277,7 +229,6 @@ case $AFS_SYSNAME in
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-pipe -fpic"
                SHLIB_CFLAGS="-fpic"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                XCFLAGS=
                ;;
@@ -351,7 +302,7 @@ case $AFS_SYSNAME in
                XLIBS="${LIB_AFSDB} -framework CoreFoundation"
                ;;
 
-       *_darwin_100 | *_darwin_110 | *_darwin_120 | *_darwin_130 | *_darwin_140 | *_darwin_150 | *_darwin_160 | *_darwin_170)
+       *_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}'
@@ -370,13 +321,31 @@ case $AFS_SYSNAME in
                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='-pthread -D_REENTRANT'
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                ;;
 
@@ -426,7 +395,6 @@ case $AFS_SYSNAME in
                PAM_OPTMZ=-O2
                PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
                SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
                SHLIB_LINKER="${CC} -shared"
                ;;
 
@@ -438,7 +406,6 @@ case $AFS_SYSNAME in
                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"
@@ -499,7 +466,6 @@ case $AFS_SYSNAME in
                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"
@@ -512,7 +478,6 @@ case $AFS_SYSNAME in
                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"
@@ -551,7 +516,6 @@ case $AFS_SYSNAME in
                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}"
@@ -568,6 +532,20 @@ esac
 
 MT_CFLAGS="${MT_CFLAGS} -DAFS_PTHREAD_ENV"
 
+AFS_LT_INIT
+
+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
+
 #
 # Defaults for --enable-optimize-kernel
 #
@@ -646,6 +624,7 @@ CFLAGS_NOERROR=
 CFLAGS_NOSTRICT=-fno-strict-aliasing
 CFLAGS_NOUNUSED=
 CFLAGS_NOOLDSTYLE=
+CFLAGS_NOIMPLICIT_FALLTHROUGH=
 XCFLAGS_NOCHECKING="$XCFLAGS"
 
 if test "x$GCC" = "xyes"; then
@@ -653,11 +632,14 @@ 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_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=
@@ -681,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
   ./* ) 
@@ -725,7 +712,6 @@ AC_SUBST(REGEX_OBJ)
 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)
@@ -734,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)
@@ -741,6 +729,8 @@ AC_SUBST(XLIBELFA)
 AC_SUBST(XLIBKVM)
 AC_SUBST(XLIBS)
 AC_SUBST(YACC)
+AC_SUBST(KROOT)
+AC_SUBST(KINCLUDES)
 
 
 ])