From b77092ceb0fb6ee06b0a7e5fdb22748ac1ed4ccc Mon Sep 17 00:00:00 2001 From: Marcio Barbosa Date: Thu, 7 Nov 2019 23:56:13 -0300 Subject: [PATCH] macos: tell the compiler the system include path In order to support multiple SDKs, macOS Catalina no longer has the /usr/include directory. As a result, the compiler needs to know where these headers can be found. To successfully build OpenAFS on OSX 10.15, set KROOT so the compiler knows the correct location of these headers. Reviewed-on: https://gerrit.openafs.org/13936 Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk (cherry picked from commit 677b038814817defec9421e698ce67b44a7fd7d1) Change-Id: I2043c2bc6e745ca55faf68b77d791168bc57bb1d Reviewed-on: https://gerrit.openafs.org/14031 Reviewed-by: Andrew Deason Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Reviewed-by: Mark Vitale Tested-by: BuildBot Reviewed-by: Stephan Wiesand --- src/cf/osconf.m4 | 21 +++++++++++++++++++++ src/config/Makefile.config.in | 2 ++ src/libafs/MakefileProto.DARWIN.in | 1 - 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/cf/osconf.m4 b/src/cf/osconf.m4 index 4f30ed2b4..29a79d7ce 100644 --- a/src/cf/osconf.m4 +++ b/src/cf/osconf.m4 @@ -370,6 +370,25 @@ case $AFS_SYSNAME in 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*) KERN_OPTMZ=-O2 MT_CFLAGS='-pthread -D_REENTRANT' @@ -741,6 +760,8 @@ AC_SUBST(XLIBELFA) AC_SUBST(XLIBKVM) AC_SUBST(XLIBS) AC_SUBST(YACC) +AC_SUBST(KROOT) +AC_SUBST(KINCLUDES) ]) diff --git a/src/config/Makefile.config.in b/src/config/Makefile.config.in index 7a29f83e8..c5837bc66 100644 --- a/src/config/Makefile.config.in +++ b/src/config/Makefile.config.in @@ -119,6 +119,8 @@ XLIBELFA = @XLIBELFA@ XLIBKVM = @XLIBKVM@ XLIBS = @XLIBS@ YACC = @YACC@ +KROOT = @KROOT@ +KINCLUDES = @KINCLUDES@ # # Install targets diff --git a/src/libafs/MakefileProto.DARWIN.in b/src/libafs/MakefileProto.DARWIN.in index ef82474cd..95acd10f6 100644 --- a/src/libafs/MakefileProto.DARWIN.in +++ b/src/libafs/MakefileProto.DARWIN.in @@ -40,7 +40,6 @@ AFS_OS_NONFSOBJS = osi_vfsops.o KDEFS= DBUG = DEFINES= -D_KERNEL -DKERNEL -DKERNEL_PRIVATE -DDIAGNOSTIC -DUSE_SELECT -DMACH_USER_API -DMACH_KERNEL -KINCLUDES=-I${KROOT}/System/Library/Frameworks/Kernel.framework/Headers KOPTS_DBUG=-g -- 2.39.5