macos: further next version support
authorDerrick Brashear <shadow@dementia.org>
Tue, 26 Apr 2011 14:46:41 +0000 (10:46 -0400)
committerDerrick Brashear <shadow@dementia.org>
Tue, 26 Apr 2011 17:46:30 +0000 (10:46 -0700)
try to optimize out things which will be missing

Change-Id: Ibee45ae75fa0a5cbdad9eb7a83b12cfaba85b201
Reviewed-on: http://gerrit.openafs.org/4569
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

13 files changed:
acinclude.m4
src/afs/DARWIN/osi_file.c
src/afs/afs.h
src/afs/afs_osi_pag.c
src/config/param.x86_darwin_110.h
src/platform/DARWIN/AFSPreference/OpenAFS.xcodeproj/project.pbxproj
src/platform/DARWIN/AklogAuthPlugin/AklogAuthPlugin.xcodeproj/project.pbxproj
src/platform/DARWIN/Makefile.in
src/vol/devname.c
src/vol/salvaged.c
src/vol/salvager.c
src/vol/vol-salvage.c
src/vol/volume.c

index 1cddad1..c9bb7f7 100644 (file)
@@ -516,24 +516,43 @@ else
                        ;;
                powerpc-apple-darwin7*)
                        AFS_SYSNAME="ppc_darwin_70"
+                       OSXSDK="macosx10.3"
                        ;;
                powerpc-apple-darwin8.*)
                        AFS_SYSNAME="ppc_darwin_80"
+                       OSXSDK="macosx10.4"
                        ;;
                i386-apple-darwin8.*)
                        AFS_SYSNAME="x86_darwin_80"
+                       OSXSDK="macosx10.4"
                        ;;
                powerpc-apple-darwin9.*)
                        AFS_SYSNAME="ppc_darwin_90"
+                       OSXSDK="macosx10.5"
                        ;;
                i386-apple-darwin9.*)
                        AFS_SYSNAME="x86_darwin_90"
+                       OSXSDK="macosx10.5"
                        ;;
                i?86-apple-darwin10.*)
                        AFS_SYSNAME="x86_darwin_100"
+                       OSXSDK="macosx10.6"
                        ;;
                x86_64-apple-darwin10.*)
                        AFS_SYSNAME="x86_darwin_100"
+                       OSXSDK="macosx10.6"
+                       ;;
+               arm-apple-darwin10.*)
+                       AFS_SYSNAME="arm_darwin_100"
+                       OSXSDK="iphoneos4.0"
+                       ;;
+               x86_64-apple-darwin11.*)
+                       AFS_SYSNAME="x86_darwin_110"
+                       OSXSDK="macosx10.7"
+                       ;;
+               i?86-apple-darwin11.*)
+                       AFS_SYSNAME="x86_darwin_110"
+                       OSXSDK="macosx10.7"
                        ;;
                sparc-sun-solaris2.5*)
                        AFS_SYSNAME="sun4x_55"
@@ -682,6 +701,7 @@ case $AFS_SYSNAME in
                AC_CHECK_HEADERS(crt_externs.h)
                DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
                DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
+               AC_SUBST(OSXSDK)
                ;;
 esac
 
index ae027d7..4012ff7 100644 (file)
@@ -150,7 +150,9 @@ osi_UFSOpen(afs_dcache_id_t *ainode)
        /* valid for alpha_osf, SunOS, Ultrix */
        memset(&afs_osi_cred, 0, sizeof(afs_ucred_t));
        afs_osi_cred.cr_ref++;
+#ifndef AFS_DARWIN110_ENV
        afs_osi_cred.cr_ngroups = 1;
+#endif
        afs_osicred_initialized = 1;
     }
     afile = (struct osi_file *)osi_AllocSmallSpace(sizeof(struct osi_file));
index 13614cb..73d5947 100644 (file)
@@ -1491,6 +1491,9 @@ extern int afsd_dynamic_vcaches;
  */
 #if defined(AFS_NBSD40_ENV)
 /* in osi_machdep.h as expected */
+#elif defined (AFS_DARWIN110_ENV)
+#define afs_cr_uid(cred) kauth_cred_getuid((kauth_cred_t)(cred))
+#define afs_cr_gid(cred) kauth_cred_getgid((kauth_cred_t)(cred))
 #elif !(defined(AFS_LINUX26_ENV) && defined(STRUCT_TASK_STRUCT_HAS_CRED))
 #define afs_cr_uid(cred) ((cred)->cr_uid)
 #define afs_cr_gid(cred) ((cred)->cr_gid)
@@ -1499,6 +1502,7 @@ extern int afsd_dynamic_vcaches;
 #define afs_cr_rgid(cred) ((cred)->cr_rgid)
 #endif
 
+#if !defined(AFS_DARWIN110_ENV)
 static_inline void
 afs_set_cr_uid(afs_ucred_t *cred, uid_t uid) {
     cred->cr_uid = uid;
@@ -1516,7 +1520,8 @@ static_inline void
 afs_set_cr_rgid(afs_ucred_t *cred, gid_t gid) {
     cred->cr_rgid = gid;
 }
-#endif
+#endif /* ! AFS_OBSD_ENV */
+#endif /* ! AFS_DARWIN110_ENV */
 #endif
 
 #ifdef AFS_SUN5_ENV
index 68a2a4c..c888605 100644 (file)
@@ -542,7 +542,7 @@ void afs_get_groups_from_pag(afs_uint32 pag, gid_t *g0p, gid_t *g1p)
 }
 #endif
 
-#ifndef AFS_LINUX26_ENV
+#if !defined(AFS_LINUX26_ENV) && !defined(AFS_DARWIN110_ENV)
 static afs_int32
 osi_get_group_pag(afs_ucred_t *cred)
 {
@@ -615,6 +615,7 @@ PagInCred(afs_ucred_t *cred)
     if (cred == NULL || cred == afs_osi_credp) {
        return NOPAG;
     }
+#ifndef AFS_DARWIN110_ENV
 #if defined(AFS_LINUX26_ENV) && defined(LINUX_KEYRING_SUPPORT)
     /*
      * If linux keyrings are in use and we carry the session keyring in our credentials
@@ -635,5 +636,6 @@ PagInCred(afs_ucred_t *cred)
 #else
     pag = osi_get_group_pag(cred);
 #endif
+#endif
     return pag;
 }
index 8fa8ebf..81c2708 100644 (file)
@@ -15,7 +15,6 @@
 #else
 #error Unsupported architecture
 #endif
-#define AFS_VFSINCL_ENV                1
 #ifdef __amd64__
 #define AFS_64BITUSERPOINTER_ENV 1
 #endif
 #ifndef AFS_PARAM_H
 #define AFS_PARAM_H
 
-#define AFS_VFSINCL_ENV 1      /* NOBODY uses this.... */
 #define AFS_ENV                 1
 #define AFS_64BIT_ENV           1      /* Defines afs_int32 as int, not long. */
 #if defined(__ppc__)
index c319886..c18a959 100644 (file)
                                "ARCHS[sdk=macosx10.4u]" = "$(ARCHS_STANDARD_32_BIT)";
                                "ARCHS[sdk=macosx10.5]" = "$(ARCHS_STANDARD_32_BIT)";
                                "ARCHS[sdk=macosx10.6]" = "$(ARCHS_STANDARD_32_64_BIT)";
+                               "ARCHS[sdk=macosx10.7]" = "$(ARCHS_STANDARD_32_64_BIT)";
                                GCC_C_LANGUAGE_STANDARD = gnu99;
                                GCC_ENABLE_OBJC_EXCEPTIONS = YES;
                                GCC_ENABLE_OBJC_GC = supported;
                                "ARCHS[sdk=macosx10.4u]" = "$(ARCHS_STANDARD_32_BIT)";
                                "ARCHS[sdk=macosx10.5]" = "$(ARCHS_STANDARD_32_BIT)";
                                "ARCHS[sdk=macosx10.6]" = "$(ARCHS_STANDARD_32_64_BIT)";
+                               "ARCHS[sdk=macosx10.7]" = "$(ARCHS_STANDARD_32_64_BIT)";
                                GCC_C_LANGUAGE_STANDARD = gnu99;
                                GCC_ENABLE_OBJC_EXCEPTIONS = YES;
                                GCC_ENABLE_OBJC_GC = supported;
index d0f7a8b..5f9d9d5 100644 (file)
                                "ARCHS[sdk=macosx10.4u]" = "$(ARCHS_STANDARD_32_BIT)";
                                 "ARCHS[sdk=macosx10.5]" = "$(ARCHS_STANDARD_32_BIT)";
                                 "ARCHS[sdk=macosx10.6]" = "$(ARCHS_STANDARD_32_64_BIT)";
+                                "ARCHS[sdk=macosx10.7]" = "$(ARCHS_STANDARD_32_64_BIT)";
                                ALWAYS_SEARCH_USER_PATHS = NO;
                                COPY_PHASE_STRIP = NO;
                                GCC_DYNAMIC_NO_PIC = NO;
                                "ARCHS[sdk=macosx10.4u]" = "$(ARCHS_STANDARD_32_BIT)";
                                 "ARCHS[sdk=macosx10.5]" = "$(ARCHS_STANDARD_32_BIT)";
                                 "ARCHS[sdk=macosx10.6]" = "$(ARCHS_STANDARD_32_64_BIT)";
+                                "ARCHS[sdk=macosx10.7]" = "$(ARCHS_STANDARD_32_64_BIT)";
                                ALWAYS_SEARCH_USER_PATHS = NO;
                                DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                                GCC_MODEL_TUNING = G5;
                                "ARCHS[sdk=macosx10.4u]" = "$(ARCHS_STANDARD_32_BIT)";
                                 "ARCHS[sdk=macosx10.5]" = "$(ARCHS_STANDARD_32_BIT)";
                                 "ARCHS[sdk=macosx10.6]" = "$(ARCHS_STANDARD_32_64_BIT)";
+                                "ARCHS[sdk=macosx10.7]" = "$(ARCHS_STANDARD_32_64_BIT)";
                                GCC_C_LANGUAGE_STANDARD = gnu99;
                                GCC_OPTIMIZATION_LEVEL = 0;
                                GCC_WARN_ABOUT_RETURN_TYPE = YES;
                                "ARCHS[sdk=macosx10.4u]" = "$(ARCHS_STANDARD_32_BIT)";
                                 "ARCHS[sdk=macosx10.5]" = "$(ARCHS_STANDARD_32_BIT)";
                                 "ARCHS[sdk=macosx10.6]" = "$(ARCHS_STANDARD_32_64_BIT)";
+                                "ARCHS[sdk=macosx10.7]" = "$(ARCHS_STANDARD_32_64_BIT)";
                                GCC_C_LANGUAGE_STANDARD = gnu99;
                                GCC_WARN_ABOUT_RETURN_TYPE = YES;
                                GCC_WARN_UNUSED_VARIABLE = YES;
index e3693c4..10313f3 100644 (file)
@@ -14,6 +14,8 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 
+OSXSDK = @OSXSDK@
+
 .PHONY: all afscell
 
 all: OpenAFS.prefPane afssettings afscell growlagent aklog.bundle
@@ -23,34 +25,31 @@ afscell/build/Release/afscell.bundle: afscell
 afscell/InstallerSections.plist: afscell 
 
 OpenAFS.prefPane:
-       @case ${SYS_NAME} in \
-       *_darwin_100 ) \
-               xcodebuild -sdk macosx10.6 -project ${srcdir}/AFSPreference/OpenAFS.xcodeproj SYMDIR=`pwd`/AFSPreference/build;; \
-       *_darwin_90 ) \
-               xcodebuild -sdk macosx10.5 -project ${srcdir}/AFSPreference/OpenAFS.xcodeproj SYMDIR=`pwd`/AFSPreference/build;; \
-       *_darwin_80 ) \
-               xcodebuild -sdk macosx10.4 -project ${srcdor}/AFSPreference/OpenAFS.xcodeproj SYMDIR=`pwd`/AFSPreference/build;; \
+       @case ${OSXSDK} in \
+       macosx* ) \
+               xcodebuild -sdk ${OSXSDK} -project ${srcdir}/AFSPreference/OpenAFS.xcodeproj SYMDIR=`pwd`/AFSPreference/build;; \
        * ) \
-               echo Not building AFS prefPane for ${SYS_NAME} ;; \
+               echo Not building AFS prefPane for ${OSXSDK} ;; \
        esac
 
 aklog.bundle:
-       @case ${SYS_NAME} in \
-       *_darwin_100 ) \
-               xcodebuild -sdk macosx10.6 -project ${srcdir}/AklogAuthPlugin/AklogAuthPlugin.xcodeproj SYMDIR=`pwd`/AklogAuthPlugin/build;; \
-       *_darwin_90 ) \
-               xcodebuild -sdk macosx10.5 -project ${srcdir}/AklogAuthPlugin/AklogAuthPlugin.xcodeproj SYMDIR=`pwd`/AklogAuthPlugin/build;; \
-       *_darwin_80 ) \
-               xcodebuild -sdk macosx10.4 -project ${srcdor}/AklogAuthPlugin/AklogAuthPlugin.xcodeproj SYMDIR=`pwd`/AklogAuthPlugin/build;; \
+       @case ${OSXSDK} in \
+       macosx* ) \
+               xcodebuild -sdk ${OSXSDK} -project ${srcdir}/AklogAuthPlugin/AklogAuthPlugin.xcodeproj SYMDIR=`pwd`/AklogAuthPlugin/build;; \
        * ) \
-               echo Not building AklogAuthPlugin for ${SYS_NAME} ;; \
+               echo Not building AklogAuthPlugin for ${OSXSDK} ;; \
        esac
 
 growlagent:
        cd growlagent && $(MAKE) all
 
 afscell:
-       xcodebuild -project ${srcdir}/afscell/afscell.xcodeproj SYMROOT=`pwd`/afscell/build
+       @case ${OSXSDK} in \
+       macosx* ) \
+               xcodebuild -sdk ${OSXSDK} -project ${srcdir}/afscell/afscell.xcodeproj SYMROOT=`pwd`/afscell/build;; \
+       * ) \
+               echo Not building afscell.bundle for ${OSXSDK} ;; \
+       esac
 
 afssettings: afssettings.m 
        ${CC} ${AFS_CFLAGS} -o afssettings $? -framework Foundation
index 35c2a3e..0b77933 100644 (file)
@@ -34,7 +34,7 @@
 #endif
 #endif
 #else /* AFS_VFSINCL_ENV */
-#if !defined(AFS_AIX_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) && !defined(AFS_ARM_DARWIN_ENV)
+#if !defined(AFS_AIX_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) && !defined(AFS_DARWIN_ENV)
 #include <sys/fs.h>
 #endif
 #endif /* AFS_VFSINCL_ENV */
@@ -166,7 +166,7 @@ vol_DevName(dev_t adev, char *wpath)
        if (stat(part, &status) == -1) {
            continue;
        }
-#if !defined(AFS_SGI_XFS_IOPS_ENV) && !defined(AFS_LINUX22_ENV) && !defined(AFS_ARM_DARWIN_ENV)
+#if !defined(AFS_SGI_XFS_IOPS_ENV) && !defined(AFS_LINUX22_ENV) && !defined(AFS_DARWIN_ENV)
        if ((status.st_ino !=
             ROOTINO) /*|| ((status.st_mode & S_IFMT) != S_IFBLK) */ ) {
            continue;
index d24b9f6..684527e 100644 (file)
@@ -53,7 +53,7 @@
 #ifdef AFS_OSF_ENV
 #include <ufs/inode.h>
 #else /* AFS_OSF_ENV */
-#if !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) && !defined(AFS_ARM_DARWIN_ENV)
+#if !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) && !defined(AFS_DARWIN_ENV)
 #include <sys/inode.h>
 #endif
 #endif
index 892bd77..b647b14 100644 (file)
@@ -55,7 +55,7 @@
 #ifdef AFS_OSF_ENV
 #include <ufs/inode.h>
 #else /* AFS_OSF_ENV */
-#if !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) && !defined(AFS_ARM_DARWIN_ENV)
+#if !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) && !defined(AFS_DARWIN_ENV)
 #include <sys/inode.h>
 #endif
 #endif
index 53dc826..24f59f2 100644 (file)
@@ -119,7 +119,7 @@ Vnodes with 0 inode pointers in RW volumes are now deleted.
 #ifdef AFS_OSF_ENV
 #include <ufs/inode.h>
 #else /* AFS_OSF_ENV */
-#if !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) && !defined(AFS_ARM_DARWIN_ENV)
+#if !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) && !defined(AFS_DARWIN_ENV)
 #include <sys/inode.h>
 #endif
 #endif
index 2f54b87..f1e1bc8 100644 (file)
@@ -51,7 +51,7 @@
 #endif
 #endif
 #else /* AFS_VFSINCL_ENV */
-#if !defined(AFS_AIX_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) && !defined(AFS_ARM_DARWIN_ENV)
+#if !defined(AFS_AIX_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV) && !defined(AFS_DARWIN_ENV)
 #include <sys/fs.h>
 #endif
 #endif /* AFS_VFSINCL_ENV */