]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
darwin-x86-and-leopard-20060309
authorEd Moy <emoy@apple.com>
Thu, 9 Mar 2006 06:35:14 +0000 (06:35 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 9 Mar 2006 06:35:14 +0000 (06:35 +0000)
updates for darwin x86, and pre-leopard

77 files changed:
acinclude.m4
src/afs/afs_util.c
src/afs/sysctl.h
src/afsd/Makefile.in
src/afsmonitor/afsmonitor.c
src/audit/Makefile.in
src/auth/test/Makefile.in
src/bozo/test/Makefile.in
src/cf/osconf.m4
src/cmd/test/Makefile.in
src/comerr/test/Makefile.in
src/config/Makefile.config.in
src/config/Makefile.i386_djgpp
src/config/Makefile.in
src/config/afs_sysnames.h
src/config/param.ppc_darwin_80.h
src/config/param.ppc_darwin_90.h [new file with mode: 0644]
src/config/param.x86_darwin_80.h
src/config/param.x86_darwin_90.h [new file with mode: 0644]
src/des/andrew-conf.h
src/des/conf-darwin.h
src/des/make_fp.c
src/des/make_ip.c
src/des/make_p.c
src/des/misc.c
src/des/test/Makefile.in
src/dir/test/Makefile.in
src/fsprobe/fsprobe_test.c
src/kauth/test/Makefile.in
src/libacl/test/Makefile.in
src/libafs/Makefile.common.in
src/libafs/MakefileProto.DARWIN.in
src/libafs/afs.ppc_darwin_90.plist.in [new file with mode: 0644]
src/libafs/afs.x86_darwin_90.plist.in [new file with mode: 0644]
src/libuafs/MakefileProto.DARWIN.in
src/log/test/Makefile.in
src/lwp/Makefile.in
src/lwp/lwp.c
src/lwp/test/Makefile.in
src/packaging/MacOS/Makefile
src/packaging/MacOS/OpenAFS.post_install
src/packaging/MacOS/afssettings.m
src/packaging/MacOS/buildpkg.sh
src/procmgmt/test/Makefile.in
src/ptserver/ubik.c
src/rx/Makefile.in
src/rx/bulk.example/Makefile.in
src/rx/bulktest/Makefile.in
src/rx/multi.example/Makefile.in
src/rx/simple.example/Makefile.in
src/rx/test/Makefile.in
src/rx/xdr.h
src/rxdebug/Makefile.in
src/rxkad/test/Makefile.in
src/scout/scout.c
src/sgistuff/Makefile.in
src/sia/Makefile.in
src/sys/Makefile.in
src/tests/Makefile.in
src/tsm41/Makefile.in
src/ubik/phys.c
src/usd/Makefile.in
src/usd/test/Makefile.in
src/uss/Makefile.in
src/util/Makefile.am
src/util/Makefile.in
src/util/fstab.c [new file with mode: 0644]
src/util/test/Makefile.in
src/venus/Makefile.in
src/venus/test/Makefile.in
src/vfsck/Makefile.in
src/viced/Makefile.in
src/vol/Makefile.in
src/vol/fstab.c [deleted file]
src/vol/test/Makefile.in
src/xstat/xstat_cm_test.c
src/xstat/xstat_fs_test.c

index 07a832c74287bd0c11816dad27e0ebdb04a20e1a..830145f08f81be9f178ce155e7e1d82a6edb9851 100644 (file)
@@ -392,6 +392,12 @@ else
                i386-apple-darwin8.*)
                        AFS_SYSNAME="x86_darwin_80"
                        ;;
+               powerpc-apple-darwin9.*)
+                       AFS_SYSNAME="ppc_darwin_90"
+                       ;;
+               i386-apple-darwin9.*)
+                       AFS_SYSNAME="x86_darwin_90"
+                       ;;
                sparc-sun-solaris2.5*)
                        AFS_SYSNAME="sun4x_55"
                        enable_login="yes"
index de42fbd1b3d83c49e357e46e8e6b56394082c911..f0d34922a794b5848745db6c1b509f9cbaf19a36 100644 (file)
@@ -262,8 +262,8 @@ afs_CheckLocks(void)
     register int i;
 
     afs_warn("Looking for locked data structures.\n");
-    afs_warn("conn %x, volume %x, user %x, cell %x, server %x\n", afs_xconn,
-            afs_xvolume, afs_xuser, afs_xcell, afs_xserver);
+    afs_warn("conn %lx, volume %lx, user %lx, cell %lx, server %lx\n", &afs_xconn,
+            &afs_xvolume, &afs_xuser, &afs_xcell, &afs_xserver);
     {
        register struct vcache *tvc;
        AFS_STATCNT(afs_CheckLocks);
index 5af1e2f865861a60555fc06d9a4da04817196200..720b6085f62ff1e55fdd78e42672ac2f98852ea6 100644 (file)
@@ -38,6 +38,8 @@
 #define AFS_SC_DARWIN_14                       3
 #define AFS_SC_DARWIN_60                       4
 #define AFS_SC_DARWIN_70                       5
+#define AFS_SC_DARWIN_80                       6
+#define AFS_SC_DARWIN_90                       7
 
 /* AFS_SC_DARWIN_ALL: darwin version-independent sysctls */
 #define AFS_SC_DARWIN_ALL_REALMODES            1
 /* AFS_SC_DARWIN_70: darwin 7.x sysctls */
        /* nothing defined */
 
+/* AFS_SC_DARWIN_80: darwin 8.x sysctls */
+       /* nothing defined */
+
+/* AFS_SC_DARWIN_90: darwin 9.x sysctls */
+       /* nothing defined */
+
 #endif /* AFS_SYSCTL_H */
index 3d0c6dbee338b4259f9bc9a27d20b6831947a47a..2e782f22c064699abbfaf1016d710b802af3e7ca 100644 (file)
@@ -9,7 +9,7 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
-LDFLAGS = ${XLDFLAGS}
+LDFLAGS = ${XLDFLAGS} ${ARCHFLAGS}
 
 #
 # What to make
index 93f13b50d725197d8a933842d95898b7799e7bfc..002905e4aa4b364b31b40455cc0c56587a060948 100644 (file)
@@ -3680,7 +3680,11 @@ afsmon_execute()
            }
            strncpy(curr_FS->hostName, he->h_name, HOST_NAME_LEN);      /* complete name */
            memcpy(&(curr_skt->sin_addr.s_addr), he->h_addr, 4);
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+           curr_skt->sin_family = AF_INET;             /*Internet family */
+#else
            curr_skt->sin_family = htons(AF_INET);      /*Internet family */
+#endif
            curr_skt->sin_port = htons(7000);   /*FileServer port */
 #ifdef STRUCT_SOCKADDR_HAS_SA_LEN
            curr_skt->sin_len = sizeof(struct sockaddr_in);
@@ -3759,7 +3763,11 @@ afsmon_execute()
            }
            strncpy(curr_CM->hostName, he->h_name, HOST_NAME_LEN);      /* complete name */
            memcpy(&(curr_skt->sin_addr.s_addr), he->h_addr, 4);
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+           curr_skt->sin_family = AF_INET;             /*Internet family */
+#else
            curr_skt->sin_family = htons(AF_INET);      /*Internet family */
+#endif
            curr_skt->sin_port = htons(7001);   /*Cache Manager port */
 #ifdef STRUCT_SOCKADDR_HAS_SA_LEN
            curr_skt->sin_len = sizeof(struct sockaddr_in);
index 64aebe1d521f19efc184de6de2c1380c7d6c6ef3..a435392b4c898d9dcee2038f9e6516d91158b9b5 100644 (file)
@@ -15,7 +15,7 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
-CFLAGS=-I. -I${srcdir} ${OPTMZ} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
+CFLAGS=-I. -I${srcdir} ${OPTMZ} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
 
 all: ${TOP_LIBDIR}/libaudit.a ${TOP_INCDIR}/afs/audit.h
 
index 6214dffb7a928bce0ca7ca79ecbe65897ff7f8c7..6062d41efcd80e84d9aeff50514bd7ca0ae65aa7 100644 (file)
@@ -12,7 +12,7 @@ INCDIRS= -I./ -I${DESTDIR}/include
 LDIRS= -L${DESTDIR}/lib -L${DESTDIR}/lib/afs -L${DESTDIR}/lib/rx
 LIBS= -lauth -lsys -lrx -llwp -lafsutil ${XLIBS}
 
-CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${XCFLAGS}
+CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${XCFLAGS} ${ARCHFLAGS}
 
 tests all: testcellconf ktctest
 
index 512e25b6eee6f145493a126d4d8f76e0847bf015..1df416293f4e74b68f75e1557d63eba336b24229 100644 (file)
@@ -11,7 +11,7 @@ include @TOP_OBJDIR@/src/config/Makefile.config
 INCDIRS=-I${TOP_INCDIR} -I..
 LDIRS=-L${TOP_LIBDIR} -L${DESTDIR}/lib/afs -L..
 
-CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${LIBS} ${XCFLAGS}
+CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${LIBS} ${XCFLAGS} ${ARCHFLAGS}
 
 all: testproc smail-notifier
 
index 6e2a18c93d072cefa8d626b67f090ca437c999e3..9fe6161d8bd8c08d96780637159d938f6658b9eb 100644 (file)
@@ -407,6 +407,7 @@ case $AFS_SYSNAME in
                REGEX_OBJ="regex.o"
                XCFLAGS="-traditional-cpp"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
+               SHLIB_SUFFIX="dylib"
                ;;
 
        ppc_darwin_13)
@@ -416,6 +417,7 @@ case $AFS_SYSNAME in
                REGEX_OBJ="regex.o"
                XCFLAGS="-no-cpp-precomp"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
+               SHLIB_SUFFIX="dylib"
                ;;
 
        ppc_darwin_14)
@@ -425,6 +427,7 @@ case $AFS_SYSNAME in
                REGEX_OBJ="regex.o"
                XCFLAGS="-no-cpp-precomp"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
+               SHLIB_SUFFIX="dylib"
                ;;
 
        ppc_darwin_60)
@@ -435,6 +438,7 @@ case $AFS_SYSNAME in
                XCFLAGS="-no-cpp-precomp"
                TXLIBS="-lncurses"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
+               SHLIB_SUFFIX="dylib"
                ;;
 
        ppc_darwin_70)
@@ -449,20 +453,40 @@ case $AFS_SYSNAME in
                TXLIBS="-lncurses"
                EXTRA_VLIBOBJS="fstab.o"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
+               SHLIB_SUFFIX="dylib"
                ;;
 
        *_darwin_80)
                AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
                LEX="lex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS}'
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
                KROOT=
                KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
-               LWP_OPTMZ="-O2"
+               KERN_OPTMZ="-Os"
+               LWP_OPTMZ="-Os"
+               OPTMZ="-Os"
+               REGEX_OBJ="regex.o"
+               TXLIBS="-lncurses"
+               EXTRA_VLIBOBJS="fstab.o"
+               SHLIB_LINKER="${MT_CC} -dynamiclib"
+               SHLIB_SUFFIX="dylib"
+               ;;
+
+       *_darwin_90)
+               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+               LEX="lex -l"
+               MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
+               KROOT=
+               KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
+               LD="cc"
+               KERN_OPTMZ="-Os"
+               LWP_OPTMZ="-Os"
+               OPTMZ="-Os"
                REGEX_OBJ="regex.o"
-               XCFLAGS="-no-cpp-precomp"
                TXLIBS="-lncurses"
                EXTRA_VLIBOBJS="fstab.o"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
+               SHLIB_SUFFIX="dylib"
                ;;
 
        ppc_linux*)
index 60b59e3f8840eb0523714e4e1c7ab58e4416e7bf..390e1ae83f947151933afb5fa1ec8b377c504434 100644 (file)
@@ -14,7 +14,7 @@ LIBS=-lcmd -lcom_err -lafsutil
 
 INCDIRS=  -I${SRCDIR}/include -I${SRCDIR}/include/afs -I..
 
-CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${LIBS} ${XCFLAGS}
+CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${LIBS} ${XCFLAGS} ${ARCHFLAGS}
 
 all: test
 test tests: ctest dtest itest
index 98a875f42a645afd29d25454eb2ddc492757467c..ed1c18f9cdbd8a185b63c26c8526cc52111c0be8 100644 (file)
@@ -6,7 +6,7 @@ include @TOP_OBJDIR@/src/config/Makefile.config
 INCDIRS=-I${TOP_INCDIR} -I..
 LDIRS=-L${TOP_LIBDIR} -L${DESTDIR}/lib/afs -L..
 
-CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} -lcom_err ${XCFLAGS}
+CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} -lcom_err ${XCFLAGS} ${ARCHFLAGS}
 
 all: test
 
index 9c3161a75845baf0ce95c2cb80a09a7c71d7b0c7..13d6e9849e2a45c1a9ae561518f5da928d597516 100644 (file)
@@ -125,8 +125,8 @@ SHELL = /bin/sh
 COMMON_INCL=-I${TOP_OBJDIR}/src/config -I. -I${srcdir} -I${TOP_INCDIR} -I${TOP_INCDIR}/afs -I${TOP_INCDIR}/rx -I${TOP_OBJDIR} -I${TOP_SRCDIR} -I${TOP_OBJDIR}/src
 COMMON_CFLAGS=${DBG} ${OPTMZ} ${COMMON_INCL}
 
-CFLAGS=${COMMON_CFLAGS} ${XCFLAGS}
-LDFLAGS=${XLDFLAGS}
+CFLAGS=${COMMON_CFLAGS} ${XCFLAGS} ${ARCHFLAGS}
+LDFLAGS=${XLDFLAGS} ${ARCHFLAGS}
 
 .c.o:
        $(CCOBJ) $(CFLAGS) -c $<
index c89cd0c7dd95b0bf0278b3096422a21aa319626c..01e2a636740ad6aa36fe53b3d2827a6c21649303 100644 (file)
@@ -16,7 +16,7 @@ OPTMZ=-O2
 #PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
 # Put -O2 here to _ensure_ all Makefiles pick it up.
 XCFLAGS= ${DBG} -Dfds_bits=fd_bits -DAFS_AFSDB_ENV -DAFS_FREELANCE_CLIENT
-MT_CFLAGS=${XCFLAGS}
+MT_CFLAGS=${XCFLAGS} ${ARCHFLAGS}
 XLDFLAGS=
 SHLIB_LDFLAGS = -shared -Xlinker -x
 SHLIB_SUFFIX=so
index d973646dd12179394f32d58ff4df77956ad4eefa..aea7555466a75b9197cd7cea87eba7b3cadd1f37 100644 (file)
@@ -8,7 +8,7 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
-CFLAGS=${DBG} ${OPTMZ} -I${TOP_INCDIR} -I. ${XCFLAGS}
+CFLAGS=${DBG} ${OPTMZ} -I${TOP_INCDIR} -I. ${XCFLAGS} ${ARCHFLAGS}
 
 INST=$(RM) -f $@; $(CP) $? $@
 
index a899ce528c683d656053cd3d4a5736b89ea65b9c..afb6f152a64384f71804903bc83261069695e972 100644 (file)
@@ -60,6 +60,8 @@
 #define SYS_NAME_ID_ppc_darwin_70        507
 #define SYS_NAME_ID_ppc_darwin_80        508
 #define SYS_NAME_ID_x86_darwin_80        509
+#define SYS_NAME_ID_ppc_darwin_90        510
+#define SYS_NAME_ID_x86_darwin_90        511
 
 #define SYS_NAME_ID_next_mach20                 601
 #define SYS_NAME_ID_next_mach30                 602
index b08ddd99a2e6fe026b33d561db72771076153d4c..447508209d7ab8b9b50be3fa2d441612a03a7f91 100644 (file)
@@ -7,9 +7,15 @@
 #define AFS_ENV                 1
 #define AFS_64BIT_ENV           1      /* Defines afs_int32 as int, not long. */
 #define AFS_64BIT_CLIENT        1
-#define AFS_64BIT_IOPS_ENV 1
-#define AFS_PPC_ENV 1
-#define AFS_VFSINCL_ENV 1
+#define AFS_64BIT_IOPS_ENV     1
+#if defined(__ppc__)
+#define AFS_PPC_ENV            1
+#elif defined(__i386__)
+#define AFS_X86_ENV            1
+#else
+#error Unsupported architecture
+#endif
+#define AFS_VFSINCL_ENV                1
 
 #include <afs/afs_sysnames.h>
 
 #define AFS_MOUNT_AFS    "afs"
 
 /* Machine / Operating system information */
-#define sys_ppc_darwin_12   1
-#define sys_ppc_darwin_13   1
-#define sys_ppc_darwin_14   1
-#define sys_ppc_darwin_60   1
-#define sys_ppc_darwin_70   1
-#define sys_ppc_darwin_80   1
-#define SYS_NAME        "ppc_darwin_80"
-#define SYS_NAME_ID     SYS_NAME_ID_ppc_darwin_80
-#define AFSBIG_ENDIAN   1
+#if defined(__ppc__)
+#define sys_ppc_darwin_12      1
+#define sys_ppc_darwin_13      1
+#define sys_ppc_darwin_14      1
+#define sys_ppc_darwin_60      1
+#define sys_ppc_darwin_70      1
+#define sys_ppc_darwin_80      1
+#define SYS_NAME               "ppc_darwin_80"
+#define SYS_NAME_ID            SYS_NAME_ID_ppc_darwin_80
+#define AFSBIG_ENDIAN          1
+#elif defined(__i386__)
+#define sys_x86_darwin_12      1
+#define sys_x86_darwin_13      1
+#define sys_x86_darwin_14      1
+#define sys_x86_darwin_60      1
+#define sys_x86_darwin_70      1
+#define sys_x86_darwin_80      1
+#define SYS_NAME               "x86_darwin_80"
+#define SYS_NAME_ID            SYS_NAME_ID_x86_darwin_80
+#define AFSLITTLE_ENDIAN       1
+#else
+#error Unsupported architecture
+#endif
 #define AFS_HAVE_FFS    1      /* Use system's ffs. */
 
 #define AFS_GCPAGS               0
 #define AFS_VFSINCL_ENV 1      /* NOBODY uses this.... */
 #define AFS_ENV                 1
 #define AFS_64BIT_ENV           1      /* Defines afs_int32 as int, not long. */
-#define AFS_PPC_ENV 1
+#if defined(__ppc__)
+#define AFS_PPC_ENV            1
+#elif defined(__i386__)
+#define AFS_X86_ENV            1
+#else
+#error Unsupported architecture
+#endif
 
 #include <afs/afs_sysnames.h>
 #define AFS_USERSPACE_ENV
 #define AFS_MOUNT_AFS    "afs"
 
 /* Machine / Operating system information */
-#define sys_ppc_darwin_12   1
-#define sys_ppc_darwin_13   1
-#define sys_ppc_darwin_14   1
-#define sys_ppc_darwin_60   1
-#define sys_ppc_darwin_70   1
-#define sys_ppc_darwin_80   1
-#define SYS_NAME        "ppc_darwin_80"
-#define SYS_NAME_ID     SYS_NAME_ID_ppc_darwin_80
-#define AFSBIG_ENDIAN   1
+#if defined(__ppc__)
+#define sys_ppc_darwin_12      1
+#define sys_ppc_darwin_13      1
+#define sys_ppc_darwin_14      1
+#define sys_ppc_darwin_60      1
+#define sys_ppc_darwin_70      1
+#define sys_ppc_darwin_80      1
+#define SYS_NAME               "ppc_darwin_80"
+#define SYS_NAME_ID            SYS_NAME_ID_ppc_darwin_80
+#define AFSBIG_ENDIAN          1
+#elif defined(__i386__)
+#define sys_x86_darwin_12      1
+#define sys_x86_darwin_13      1
+#define sys_x86_darwin_14      1
+#define sys_x86_darwin_60      1
+#define sys_x86_darwin_70      1
+#define sys_x86_darwin_80      1
+#define SYS_NAME               "x86_darwin_80"
+#define SYS_NAME_ID            SYS_NAME_ID_x86_darwin_80
+#define AFSLITTLE_ENDIAN       1
+#else
+#error Unsupported architecture
+#endif
 #define AFS_HAVE_FFS    1      /* Use system's ffs. */
 
 #define AFS_UIOSYS      UIO_SYSSPACE
diff --git a/src/config/param.ppc_darwin_90.h b/src/config/param.ppc_darwin_90.h
new file mode 100644 (file)
index 0000000..ac74560
--- /dev/null
@@ -0,0 +1,184 @@
+#ifndef UKERNEL
+/* This section for kernel libafs compiles only */
+
+#ifndef AFS_PARAM_H
+#define AFS_PARAM_H
+
+#define AFS_ENV                 1
+#define AFS_64BIT_ENV           1      /* Defines afs_int32 as int, not long. */
+#define AFS_64BIT_CLIENT        1
+#define AFS_64BIT_IOPS_ENV     1
+#if defined(__ppc__)
+#define AFS_PPC_ENV            1
+#elif defined(__i386__)
+#define AFS_X86_ENV            1
+#else
+#error Unsupported architecture
+#endif
+#define AFS_VFSINCL_ENV                1
+
+#include <afs/afs_sysnames.h>
+
+#define AFS_DARWIN_ENV
+#define AFS_DARWIN13_ENV
+#define AFS_DARWIN14_ENV
+#define AFS_DARWIN60_ENV
+#define AFS_DARWIN70_ENV
+#define AFS_DARWIN80_ENV
+#define AFS_DARWIN90_ENV
+#define AFS_NONFSTRANS
+#define AFS_SYSCALL             230
+#define AFS_NAMEI_ENV 1
+#define DARWIN_REFBASE 3
+
+/* File system entry (used if mount.h doesn't define MOUNT_AFS */
+#define AFS_MOUNT_AFS    "afs"
+
+/* Machine / Operating system information */
+#if defined(__ppc__)
+#define sys_ppc_darwin_12      1
+#define sys_ppc_darwin_13      1
+#define sys_ppc_darwin_14      1
+#define sys_ppc_darwin_60      1
+#define sys_ppc_darwin_70      1
+#define sys_ppc_darwin_80      1
+#define sys_ppc_darwin_90      1
+#define SYS_NAME               "ppc_darwin_90"
+#define SYS_NAME_ID            SYS_NAME_ID_ppc_darwin_90
+#define AFSBIG_ENDIAN          1
+#elif defined(__i386__)
+#define sys_x86_darwin_12      1
+#define sys_x86_darwin_13      1
+#define sys_x86_darwin_14      1
+#define sys_x86_darwin_60      1
+#define sys_x86_darwin_70      1
+#define sys_x86_darwin_80      1
+#define sys_x86_darwin_90      1
+#define SYS_NAME               "x86_darwin_90"
+#define SYS_NAME_ID            SYS_NAME_ID_x86_darwin_90
+#define AFSLITTLE_ENDIAN       1
+#else
+#error Unsupported architecture
+#endif
+#define AFS_HAVE_FFS    1      /* Use system's ffs. */
+
+#define AFS_GCPAGS               0
+#define RXK_LISTENER_ENV         1
+
+#ifdef KERNEL
+#undef MACRO_BEGIN
+#undef MACRO_END
+#include <kern/macro_help.h>
+#define AFS_GLOBAL_SUNLOCK        1
+#define AFS_VFS34       1      /* What is VFS34??? */
+#define afsio_iov       uio_iov
+#define afsio_iovcnt    uio_iovcnt
+#define afsio_offset    uio_offset
+#define afsio_seg       uio_segflg
+#define afsio_resid     uio_resid
+#define AFS_UIOSYS      UIO_SYSSPACE
+#define AFS_UIOUSER     UIO_USERSPACE
+#define AFS_CLBYTES     CLBYTES
+#define osi_GetTime(x)  microtime(x)
+#define AFS_KALLOC(x)   _MALLOC(x, M_TEMP, M_WAITOK)
+#define AFS_KFREE(x,y)  _FREE(x,M_TEMP)
+#define v_count         v_usecount
+#define v_vfsp          v_mount
+#define vfs_bsize       mnt_stat.f_bsize
+#define vfs_fsid        mnt_stat.f_fsid
+#define va_nodeid       va_fileid
+#define vfs_vnodecovered mnt_vnodecovered
+#define direct          dirent
+
+#define BIND_8_COMPAT
+
+#endif
+#endif /* AFS_PARAM_H */
+
+#else /* !defined(UKERNEL) */
+
+/* This section for user space compiles only */
+
+#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__)
+#define AFS_PPC_ENV            1
+#elif defined(__i386__)
+#define AFS_X86_ENV            1
+#else
+#error Unsupported architecture
+#endif
+
+#include <afs/afs_sysnames.h>
+#define AFS_USERSPACE_ENV
+#define AFS_USR_DARWIN_ENV
+#define AFS_USR_DARWIN13_ENV
+#define AFS_USR_DARWIN14_ENV
+#define AFS_USR_DARWIN60_ENV
+#define AFS_USR_DARWIN70_ENV
+#define AFS_USR_DARWIN80_ENV
+#define AFS_USR_DARWIN90_ENV
+#define AFS_NONFSTRANS
+#define AFS_SYSCALL             230
+#define DARWIN_REFBASE 0
+
+/* File system entry (used if mount.h doesn't define MOUNT_AFS */
+#define AFS_MOUNT_AFS    "afs"
+
+/* Machine / Operating system information */
+#if defined(__ppc__)
+#define sys_ppc_darwin_12      1
+#define sys_ppc_darwin_13      1
+#define sys_ppc_darwin_14      1
+#define sys_ppc_darwin_60      1
+#define sys_ppc_darwin_70      1
+#define sys_ppc_darwin_80      1
+#define sys_ppc_darwin_90      1
+#define SYS_NAME               "ppc_darwin_90"
+#define SYS_NAME_ID            SYS_NAME_ID_ppc_darwin_90
+#define AFSBIG_ENDIAN          1
+#elif defined(__i386__)
+#define sys_x86_darwin_12      1
+#define sys_x86_darwin_13      1
+#define sys_x86_darwin_14      1
+#define sys_x86_darwin_60      1
+#define sys_x86_darwin_70      1
+#define sys_x86_darwin_80      1
+#define sys_x86_darwin_90      1
+#define SYS_NAME               "x86_darwin_90"
+#define SYS_NAME_ID            SYS_NAME_ID_x86_darwin_90
+#define AFSLITTLE_ENDIAN       1
+#else
+#error Unsupported architecture
+#endif
+#define AFS_HAVE_FFS    1      /* Use system's ffs. */
+
+#define AFS_UIOSYS      UIO_SYSSPACE
+#define AFS_UIOUSER     UIO_USERSPACE
+
+#define AFS_GCPAGS                0    /* if nonzero, garbage collect PAGs */
+#define RXK_LISTENER_ENV          1
+
+#define AFS_VFS34       1      /* What is VFS34??? */
+#define afsio_iov       uio_iov
+#define afsio_iovcnt    uio_iovcnt
+#define afsio_offset    uio_offset
+#define afsio_seg       uio_segflg
+#define afsio_resid     uio_resid
+#define AFS_UIOSYS      UIO_SYSSPACE
+#define AFS_UIOUSER     UIO_USERSPACE
+#define        VATTR_NULL      usr_vattr_null
+
+#define AFS_DIRENT
+#ifndef CMSERVERPREF
+#define CMSERVERPREF
+#endif
+
+#define BIND_8_COMPAT
+#endif /* AFS_PARAM_H */
+
+#endif /* !defined(UKERNEL) */
index e969781c71d1a2f06b6a1390967e4c3a39aef8d2..f099a51fa85438cbc49bd4556b1b5cac6e40b808 100644 (file)
@@ -8,6 +8,13 @@
 #define AFS_64BIT_ENV           1      /* Defines afs_int32 as int, not long. */
 #define AFS_64BIT_CLIENT        1
 #define AFS_64BIT_IOPS_ENV     1
+#if defined(__ppc__)
+#define AFS_PPC_ENV            1
+#elif defined(__i386__)
+#define AFS_X86_ENV            1
+#else
+#error Unsupported architecture
+#endif
 #define AFS_VFSINCL_ENV                1
 
 #include <afs/afs_sysnames.h>
 #define AFS_MOUNT_AFS    "afs"
 
 /* Machine / Operating system information */
-#define sys_x86_darwin_12   1
-#define sys_x86_darwin_13   1
-#define sys_x86_darwin_14   1
-#define sys_x86_darwin_60   1
-#define sys_x86_darwin_70   1
-#define sys_x86_darwin_80   1
-#define SYS_NAME        "x86_darwin_80"
-#define SYS_NAME_ID     SYS_NAME_ID_x86_darwin_80
-#define AFSLITTLE_ENDIAN   1
+#if defined(__ppc__)
+#define sys_ppc_darwin_12      1
+#define sys_ppc_darwin_13      1
+#define sys_ppc_darwin_14      1
+#define sys_ppc_darwin_60      1
+#define sys_ppc_darwin_70      1
+#define sys_ppc_darwin_80      1
+#define SYS_NAME               "ppc_darwin_80"
+#define SYS_NAME_ID            SYS_NAME_ID_ppc_darwin_80
+#define AFSBIG_ENDIAN          1
+#elif defined(__i386__)
+#define sys_x86_darwin_12      1
+#define sys_x86_darwin_13      1
+#define sys_x86_darwin_14      1
+#define sys_x86_darwin_60      1
+#define sys_x86_darwin_70      1
+#define sys_x86_darwin_80      1
+#define SYS_NAME               "x86_darwin_80"
+#define SYS_NAME_ID            SYS_NAME_ID_x86_darwin_80
+#define AFSLITTLE_ENDIAN       1
+#else
+#error Unsupported architecture
+#endif
 #define AFS_HAVE_FFS    1      /* Use system's ffs. */
 
 #define AFS_GCPAGS               0
 #define AFS_VFSINCL_ENV 1      /* NOBODY uses this.... */
 #define AFS_ENV                 1
 #define AFS_64BIT_ENV           1      /* Defines afs_int32 as int, not long. */
-#define AFS_X86_ENV 1
+#if defined(__ppc__)
+#define AFS_PPC_ENV            1
+#elif defined(__i386__)
+#define AFS_X86_ENV            1
+#else
+#error Unsupported architecture
+#endif
 
 #include <afs/afs_sysnames.h>
 #define AFS_USERSPACE_ENV
 #define AFS_MOUNT_AFS    "afs"
 
 /* Machine / Operating system information */
-#define sys_x86_darwin_12   1
-#define sys_x86_darwin_13   1
-#define sys_x86_darwin_14   1
-#define sys_x86_darwin_60   1
-#define sys_x86_darwin_70   1
-#define sys_x86_darwin_80   1
-#define SYS_NAME        "x86_darwin_80"
-#define SYS_NAME_ID     SYS_NAME_ID_x86_darwin_80
-#define AFSLITTLE_ENDIAN   1
+#if defined(__ppc__)
+#define sys_ppc_darwin_12      1
+#define sys_ppc_darwin_13      1
+#define sys_ppc_darwin_14      1
+#define sys_ppc_darwin_60      1
+#define sys_ppc_darwin_70      1
+#define sys_ppc_darwin_80      1
+#define SYS_NAME               "ppc_darwin_80"
+#define SYS_NAME_ID            SYS_NAME_ID_ppc_darwin_80
+#define AFSBIG_ENDIAN          1
+#elif defined(__i386__)
+#define sys_x86_darwin_12      1
+#define sys_x86_darwin_13      1
+#define sys_x86_darwin_14      1
+#define sys_x86_darwin_60      1
+#define sys_x86_darwin_70      1
+#define sys_x86_darwin_80      1
+#define SYS_NAME               "x86_darwin_80"
+#define SYS_NAME_ID            SYS_NAME_ID_x86_darwin_80
+#define AFSLITTLE_ENDIAN       1
+#else
+#error Unsupported architecture
+#endif
 #define AFS_HAVE_FFS    1      /* Use system's ffs. */
 
 #define AFS_UIOSYS      UIO_SYSSPACE
diff --git a/src/config/param.x86_darwin_90.h b/src/config/param.x86_darwin_90.h
new file mode 100644 (file)
index 0000000..ac74560
--- /dev/null
@@ -0,0 +1,184 @@
+#ifndef UKERNEL
+/* This section for kernel libafs compiles only */
+
+#ifndef AFS_PARAM_H
+#define AFS_PARAM_H
+
+#define AFS_ENV                 1
+#define AFS_64BIT_ENV           1      /* Defines afs_int32 as int, not long. */
+#define AFS_64BIT_CLIENT        1
+#define AFS_64BIT_IOPS_ENV     1
+#if defined(__ppc__)
+#define AFS_PPC_ENV            1
+#elif defined(__i386__)
+#define AFS_X86_ENV            1
+#else
+#error Unsupported architecture
+#endif
+#define AFS_VFSINCL_ENV                1
+
+#include <afs/afs_sysnames.h>
+
+#define AFS_DARWIN_ENV
+#define AFS_DARWIN13_ENV
+#define AFS_DARWIN14_ENV
+#define AFS_DARWIN60_ENV
+#define AFS_DARWIN70_ENV
+#define AFS_DARWIN80_ENV
+#define AFS_DARWIN90_ENV
+#define AFS_NONFSTRANS
+#define AFS_SYSCALL             230
+#define AFS_NAMEI_ENV 1
+#define DARWIN_REFBASE 3
+
+/* File system entry (used if mount.h doesn't define MOUNT_AFS */
+#define AFS_MOUNT_AFS    "afs"
+
+/* Machine / Operating system information */
+#if defined(__ppc__)
+#define sys_ppc_darwin_12      1
+#define sys_ppc_darwin_13      1
+#define sys_ppc_darwin_14      1
+#define sys_ppc_darwin_60      1
+#define sys_ppc_darwin_70      1
+#define sys_ppc_darwin_80      1
+#define sys_ppc_darwin_90      1
+#define SYS_NAME               "ppc_darwin_90"
+#define SYS_NAME_ID            SYS_NAME_ID_ppc_darwin_90
+#define AFSBIG_ENDIAN          1
+#elif defined(__i386__)
+#define sys_x86_darwin_12      1
+#define sys_x86_darwin_13      1
+#define sys_x86_darwin_14      1
+#define sys_x86_darwin_60      1
+#define sys_x86_darwin_70      1
+#define sys_x86_darwin_80      1
+#define sys_x86_darwin_90      1
+#define SYS_NAME               "x86_darwin_90"
+#define SYS_NAME_ID            SYS_NAME_ID_x86_darwin_90
+#define AFSLITTLE_ENDIAN       1
+#else
+#error Unsupported architecture
+#endif
+#define AFS_HAVE_FFS    1      /* Use system's ffs. */
+
+#define AFS_GCPAGS               0
+#define RXK_LISTENER_ENV         1
+
+#ifdef KERNEL
+#undef MACRO_BEGIN
+#undef MACRO_END
+#include <kern/macro_help.h>
+#define AFS_GLOBAL_SUNLOCK        1
+#define AFS_VFS34       1      /* What is VFS34??? */
+#define afsio_iov       uio_iov
+#define afsio_iovcnt    uio_iovcnt
+#define afsio_offset    uio_offset
+#define afsio_seg       uio_segflg
+#define afsio_resid     uio_resid
+#define AFS_UIOSYS      UIO_SYSSPACE
+#define AFS_UIOUSER     UIO_USERSPACE
+#define AFS_CLBYTES     CLBYTES
+#define osi_GetTime(x)  microtime(x)
+#define AFS_KALLOC(x)   _MALLOC(x, M_TEMP, M_WAITOK)
+#define AFS_KFREE(x,y)  _FREE(x,M_TEMP)
+#define v_count         v_usecount
+#define v_vfsp          v_mount
+#define vfs_bsize       mnt_stat.f_bsize
+#define vfs_fsid        mnt_stat.f_fsid
+#define va_nodeid       va_fileid
+#define vfs_vnodecovered mnt_vnodecovered
+#define direct          dirent
+
+#define BIND_8_COMPAT
+
+#endif
+#endif /* AFS_PARAM_H */
+
+#else /* !defined(UKERNEL) */
+
+/* This section for user space compiles only */
+
+#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__)
+#define AFS_PPC_ENV            1
+#elif defined(__i386__)
+#define AFS_X86_ENV            1
+#else
+#error Unsupported architecture
+#endif
+
+#include <afs/afs_sysnames.h>
+#define AFS_USERSPACE_ENV
+#define AFS_USR_DARWIN_ENV
+#define AFS_USR_DARWIN13_ENV
+#define AFS_USR_DARWIN14_ENV
+#define AFS_USR_DARWIN60_ENV
+#define AFS_USR_DARWIN70_ENV
+#define AFS_USR_DARWIN80_ENV
+#define AFS_USR_DARWIN90_ENV
+#define AFS_NONFSTRANS
+#define AFS_SYSCALL             230
+#define DARWIN_REFBASE 0
+
+/* File system entry (used if mount.h doesn't define MOUNT_AFS */
+#define AFS_MOUNT_AFS    "afs"
+
+/* Machine / Operating system information */
+#if defined(__ppc__)
+#define sys_ppc_darwin_12      1
+#define sys_ppc_darwin_13      1
+#define sys_ppc_darwin_14      1
+#define sys_ppc_darwin_60      1
+#define sys_ppc_darwin_70      1
+#define sys_ppc_darwin_80      1
+#define sys_ppc_darwin_90      1
+#define SYS_NAME               "ppc_darwin_90"
+#define SYS_NAME_ID            SYS_NAME_ID_ppc_darwin_90
+#define AFSBIG_ENDIAN          1
+#elif defined(__i386__)
+#define sys_x86_darwin_12      1
+#define sys_x86_darwin_13      1
+#define sys_x86_darwin_14      1
+#define sys_x86_darwin_60      1
+#define sys_x86_darwin_70      1
+#define sys_x86_darwin_80      1
+#define sys_x86_darwin_90      1
+#define SYS_NAME               "x86_darwin_90"
+#define SYS_NAME_ID            SYS_NAME_ID_x86_darwin_90
+#define AFSLITTLE_ENDIAN       1
+#else
+#error Unsupported architecture
+#endif
+#define AFS_HAVE_FFS    1      /* Use system's ffs. */
+
+#define AFS_UIOSYS      UIO_SYSSPACE
+#define AFS_UIOUSER     UIO_USERSPACE
+
+#define AFS_GCPAGS                0    /* if nonzero, garbage collect PAGs */
+#define RXK_LISTENER_ENV          1
+
+#define AFS_VFS34       1      /* What is VFS34??? */
+#define afsio_iov       uio_iov
+#define afsio_iovcnt    uio_iovcnt
+#define afsio_offset    uio_offset
+#define afsio_seg       uio_segflg
+#define afsio_resid     uio_resid
+#define AFS_UIOSYS      UIO_SYSSPACE
+#define AFS_UIOUSER     UIO_USERSPACE
+#define        VATTR_NULL      usr_vattr_null
+
+#define AFS_DIRENT
+#ifndef CMSERVERPREF
+#define CMSERVERPREF
+#endif
+
+#define BIND_8_COMPAT
+#endif /* AFS_PARAM_H */
+
+#endif /* !defined(UKERNEL) */
index cad29fd732bbab3e9ba8dc6131b402925ad4ff47..f9e5bfd15fe7a1c411290ddc1f9eb92bbd1a7bb5 100644 (file)
@@ -37,7 +37,7 @@
 #error unknown osf
 #endif
 #else
-#if    defined(AFS_X86_ENV)
+#if    defined(AFS_X86_ENV) && !defined(AFS_DARWIN_ENV)
 #include "conf-bsd-ncr.h"
 #else
 #ifdef AFS_NT40_ENV
index 592e6b0ba94c73878f8805e517706272dff275ba..2bf8e1f9820723114f17f968c609dde067b136de 100644 (file)
@@ -9,3 +9,8 @@
 #error "MSBFIRST or LSBFIRST undefined"
 #endif
 #define MUSTALIGN
+#if !defined(KERNEL) && defined(AFS_DARWIN80_ENV)
+extern int _darwin_swap_long_bytes_bit_number(afs_uint32 x);
+extern char *_darwin_whichstr[];
+extern int _darwin_which;
+#endif /* !KERNEL && AFS_DARWIN80_ENV */
index 80789ae6bf24a6426bcd38bcb4e54bf3c75cb3f6..7c9b32d5e323a62aed2dd9b2798db177b74c6854 100644 (file)
@@ -27,6 +27,11 @@ void
 gen(FILE * stream)
 {
     register int i;
+#ifdef AFS_DARWIN80_ENV
+    int j;
+
+#define swap_long_bytes_bit_number _darwin_swap_long_bytes_bit_number
+#endif /* AFS_DARWIN80_ENV */
 
     /* clear the output */
     fprintf(stream, "    L2 = 0; R2 = 0;\n");
@@ -41,6 +46,12 @@ gen(FILE * stream)
 #define SWAP(i,j) \
     swap_long_bytes_bit_number(swap_bit_pos_0_to_ansi((unsigned)i)-j)
 
+#ifdef AFS_DARWIN80_ENV
+  for(j = 0;; j++) {
+    fprintf(stream, _darwin_whichstr[j]);
+    if (j == 2)
+       break;
+#endif /* AFS_DARWIN80_ENV */
     /* first setup FP */
     fprintf(stream, "/* FP operations */\n/* first left to left */\n");
 
@@ -67,4 +78,8 @@ gen(FILE * stream)
     for (i = 32; i <= 63; i++)
        if (FP[i] >= 32)
            test_set(stream, "R1", FP[i] - 32, "R2", SWAP(i, 32));
+#ifdef AFS_DARWIN80_ENV
+    _darwin_which = !_darwin_which;
+  }
+#endif /* AFS_DARWIN80_ENV */
 }
index 69b4be8c15632f1a91937f561c4cdcc00146fdee..3b9624c1568335054fc1b9114bb2d7e22885af88 100644 (file)
@@ -31,10 +31,21 @@ void
 gen(FILE * stream)
 {
     register int i;
+#ifdef AFS_DARWIN80_ENV
+    int j;
+
+#define swap_long_bytes_bit_number _darwin_swap_long_bytes_bit_number
+#endif /* AFS_DARWIN80_ENV */
 
     /* clear the output */
     fprintf(stream, "    L2 = 0; R2 = 0;\n");
 
+#ifdef AFS_DARWIN80_ENV
+  for(j = 0;; j++) {
+    fprintf(stream, _darwin_whichstr[j]);
+    if (j == 2)
+       break;
+#endif /* AFS_DARWIN80_ENV */
     /* first setup IP */
     fprintf(stream, "/* IP operations */\n/* first left to left */\n");
 
@@ -60,5 +71,9 @@ gen(FILE * stream)
     for (i = 32; i <= 63; i++)
        if (IP[i] >= 32)
            test_set(stream, "R1", SWAP(IP[i] - 32), "R2", i - 32);
+#ifdef AFS_DARWIN80_ENV
+    _darwin_which = !_darwin_which;
+  }
+#endif /* AFS_DARWIN80_ENV */
     exit(0);
 }
index e9c22f47dbac7d082bb660cd51df5012f22cc2c0..97645717856dc4c19f9ccd020033dee3168a4e8a 100644 (file)
@@ -39,6 +39,19 @@ gen(FILE * stream)
     fprintf(stream, "    P_temp = R1;\n");
     fprintf(stream, "    P_temp_p = (unsigned char *) &P_temp;\n");
 
+#ifdef AFS_DARWIN80_ENV
+    fprintf(stream, "#if defined(__i386__)\n");
+    fprintf(stream, "    R2 = P_prime[0][*P_temp_p++];\n");
+    fprintf(stream, "    R2 |= P_prime[1][*P_temp_p++];\n");
+    fprintf(stream, "    R2 |= P_prime[2][*P_temp_p++];\n");
+    fprintf(stream, "    R2 |= P_prime[3][*P_temp_p];\n");
+    fprintf(stream, "#elif defined(__ppc__)\n");
+    fprintf(stream, "    R2 = P_prime[3][*P_temp_p++];\n");
+    fprintf(stream, "    R2 |= P_prime[2][*P_temp_p++];\n");
+    fprintf(stream, "    R2 |= P_prime[1][*P_temp_p++];\n");
+    fprintf(stream, "    R2 |= P_prime[0][*P_temp_p];\n");
+    fprintf(stream, "#else\n#error Unsupported architecture\n#endif\n");
+#else /* !AFS_DARWIN80_ENV */
 #ifdef LSBFIRST
     fprintf(stream, "    R2 = P_prime[0][*P_temp_p++];\n");
     fprintf(stream, "    R2 |= P_prime[1][*P_temp_p++];\n");
@@ -50,5 +63,6 @@ gen(FILE * stream)
     fprintf(stream, "    R2 |= P_prime[1][*P_temp_p++];\n");
     fprintf(stream, "    R2 |= P_prime[0][*P_temp_p];\n");
 #endif /* MSBFIRST */
+#endif /* !AFS_DARWIN80_ENV */
 #endif /* BIG */
 }
index 79cff6db02cd46b5e408545a947a08a373b8644d..26ccab686d42ac139e90007095f82f14ce605a51 100644 (file)
@@ -270,6 +270,35 @@ swap_long_bytes_bit_number(afs_uint32 x)
 #endif /* MSBFIRST */
 }
 
+#if !defined(KERNEL) && defined(AFS_DARWIN80_ENV)
+char *_darwin_whichstr[] = {
+    "#if defined(__ppc__)\n",
+    "#elif defined(__i386__)\n",
+    "#else\n#error architecture unsupported\n#endif\n"
+};
+int _darwin_which = 1;
+
+int
+_darwin_swap_long_bytes_bit_number(afs_uint32 x)
+{
+    /*
+     * given a bit number (0-31) from a vax, swap the byte part of the
+     * bit number to change the byte ordering to mSBFIRST type
+     */
+
+    afs_uint32 y, z;
+
+    if (!_darwin_which)
+       return x;
+
+    y = x / 8;                 /* initial byte component */
+    z = x % 8;                 /* bit within byte */
+
+    x = (3 - y) * 8 + z;
+    return x;
+}
+#endif /* !KERNEL && AFS_DARWIN80_ENV */
+
 void
 test_set(FILE * stream, const char *src, int testbit, const char *dest,
         int setbit)
index ca9996ad559f4821cb825390a5198f22fa6eff85..a2b9caad2aadfae0931a14797d49d489bf6fd84e 100644 (file)
@@ -1,7 +1,7 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
-CFLAGS=-g -I. -I${srcdir} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
+CFLAGS=-g -I. -I${srcdir} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
 
 #  Test programs
 PROGS = \
@@ -9,7 +9,7 @@ PROGS = \
        testit \
        verify
 
-LDFLAGS = ${XLDFLAGS}
+LDFLAGS = ${XLDFLAGS} ${ARCHFLAGS}
 
 LIBS=\
        ${TOP_LIBDIR}/libdes.a \
index 6ff6c09cd052033b9ea8d79c52421189a31e720d..98b1d200eeb273db4248d9f477c5ecfcdd63b808 100644 (file)
@@ -9,7 +9,7 @@ srcdir=../../..
 include @TOP_OBJDIR@/src/config/Makefile.config
 
 LIBS = ${srcdir}/lib/libdir.a ${srcdir}/lib/util.a  ${srcdir}/lib/liblwp.a
-CFLAGS=${OPTMZ} -I${TOP_INCDIR} -I${srcdir} -I${TOP_OBJDIR}/src/config ${XCFLAGS}
+CFLAGS=${OPTMZ} -I${TOP_INCDIR} -I${srcdir} -I${TOP_OBJDIR}/src/config ${XCFLAGS} ${ARCHFLAGS}
 
 OBJS=test-salvage.o physio.o dtest.o
 
index b2db51f6c98688e293b760e30e250eb2ffa29ab2..bff804d79c854cff46c071c49e88e2ab46f74bdf 100644 (file)
@@ -171,7 +171,11 @@ main(argc, argv)
     /*
      * Fill in the socket array for bigbird, vice1, and vice2.
      */
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+    FSSktArray[0].sin_family = AF_INET;                /*Internet family */
+#else
     FSSktArray[0].sin_family = htons(AF_INET); /*Internet family */
+#endif
     FSSktArray[0].sin_port = htons(7000);      /*FileServer port */
     he = hostutil_GetHostByName("servername1");
     if (he == NULL) {
@@ -180,7 +184,11 @@ main(argc, argv)
     }
     memcpy(&(FSSktArray[0].sin_addr.s_addr), he->h_addr, 4);
 
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+    FSSktArray[1].sin_family = AF_INET;                /*Internet address family */
+#else
     FSSktArray[1].sin_family = htons(AF_INET); /*Internet address family */
+#endif
     FSSktArray[1].sin_port = htons(7000);      /*FileServer port */
     he = hostutil_GetHostByName("servername2");
     if (he == NULL) {
@@ -189,7 +197,11 @@ main(argc, argv)
     }
     memcpy(&(FSSktArray[1].sin_addr.s_addr), he->h_addr, 4);
 
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+    FSSktArray[2].sin_family = AF_INET;                /*Internet address family */
+#else
     FSSktArray[2].sin_family = htons(AF_INET); /*Internet address family */
+#endif
     FSSktArray[2].sin_port = htons(7000);      /*FileServer port */
     he = hostutil_GetHostByName("servername3");
     if (he == NULL) {
index 3cb6ac037f2b253c9dd6feed9332a39009d98cbc..e48c58bee256eec908b1f2c78c86b298d29d94a5 100644 (file)
@@ -12,7 +12,7 @@ INCDIRS= -I${DESTDIR}/include -I..
 LDIRS= -L${DESTDIR}/lib -L${DESTDIR}/lib/afs -L..
 LIBS= -llwp -ldes -lrxkad -lauth -lcmd -lubik -lprot -lsys -lrx -lcom_err -lkauth
 
-CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${LIBS} ${XCFLAGS}
+CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${LIBS} ${XCFLAGS} ${ARCHFLAGS}
 
 
 # the only tests _known_ to work are multiklog and the tcl scripts.
index 1c08fb308c2c3480bea3f2cefe06e4560de4851c..44a233892f045a35ea9c3ce1ca9bdcfb445033c5 100644 (file)
@@ -12,7 +12,7 @@ INCDIRS=-I${TOP_INCDIR} -I..
 LDIRS=-L${TOP_LIBDIR} -L${DESTDIR}/lib/afs -L..
 LIBS= -lacl -lprot -lubik -lrx -llwp -lauth -lrxkad -lsys ${XLIBS}
 
-CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${LIBS} ${XCFLAGS}
+CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${LIBS} ${XCFLAGS} ${ARCHFLAGS}
 
 all: acltest
 
index c9e5dff153002a1bbe645b27fc234e0bf1015f02..25606cf161b0e2113152df87146cb0f3e91ef523 100644 (file)
@@ -47,9 +47,9 @@ COMMON_INCLUDE = -I. -I.. -I../nfs \
        $(CC) $(COMMON_INCLUDE) $(CFLAGS) -P -c $<
 
 .c.o:
-       $(CC) $(COMMON_INCLUDE) $(CFLAGS) $(KERN_DBG) -c $<
-CRULE_NOOPT=   $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(CFLAGS) -c $?
-CRULE_OPT=     $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(KERN_OPTMZ) $(CFLAGS) -c $?
+       $(CC) $(COMMON_INCLUDE) $(CFLAGS) $(CFLAGS-$@) $(KERN_DBG) -c $<
+CRULE_NOOPT=   $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(CFLAGS) $(CFLAGS-$@) -o $@ -c $?
+CRULE_OPT=     $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(KERN_OPTMZ) $(CFLAGS) $(CFLAGS-$@) -o $@ -c $?
 
 system:        all
 
@@ -254,7 +254,7 @@ afs_volume.o: $(TOP_SRC_AFS)/afs_volume.c
 rx_rdwr.o: $(TOP_SRC_RX)/rx_rdwr.c
        $(CRULE_OPT)
 afs_uuid.o: $(TOP_SRCDIR)/util/uuid.c
-       $(CRULE_OPT) -o afs_uuid.o
+       $(CRULE_OPT)
 xdr_afsuuid.o: $(TOP_SRCDIR)/rx/xdr_afsuuid.c
        $(CRULE_OPT)
 
@@ -268,7 +268,7 @@ afs_chunk.o: $(TOP_SRC_AFS)/afs_chunk.c
 afs_daemons.o: $(TOP_SRC_AFS)/afs_daemons.c
        $(CRULE_NOOPT)
 afs_dir.o:     $(TOP_SRCDIR)/dir/dir.c
-       $(CRULE_NOOPT) -o afs_dir.o
+       $(CRULE_NOOPT)
 AFS_component_version_number.o: AFS_component_version_number.c
        $(CRULE_NOOPT)
 afs_lock.o: $(TOP_SRC_AFS)/afs_lock.c
@@ -337,8 +337,9 @@ xdr.o: $(TOP_SRC_RX)/xdr.c
        $(CRULE_NOOPT)
 Kvldbint.cs.o: ${TOP_OBJ_VLSERVER}/Kvldbint.cs.c
        $(CRULE_NOOPT)
+CFLAGS-Kvldbint.xdr.o= -DAFS_UUID_XG
 Kvldbint.xdr.o: ${TOP_OBJ_VLSERVER}/Kvldbint.xdr.c
-       $(CRULE_NOOPT) -DAFS_UUID_XG
+       $(CRULE_NOOPT)
 rx_kmutex.o: $(TOP_SRC_RX)/${MKAFS_OSTYPE}/rx_kmutex.c
        $(CRULE_NOOPT)
 rx_knet.o: $(TOP_SRC_RX)/${MKAFS_OSTYPE}/rx_knet.c
@@ -347,16 +348,18 @@ rx_kcommon.o: $(TOP_SRC_RX)/rx_kcommon.c
        $(CRULE_NOOPT)
 
 # Files which do not contain NFS translator code.
+CFLAGS-afs_call.o= -DAFS_NONFSTRANS
 afs_call.o: $(TOP_SRC_AFS)/afs_call.c
-       $(CRULE_NOOPT) -DAFS_NONFSTRANS
+       $(CRULE_NOOPT)
+CFLAGS-afs_pioctl.o= -DAFS_NONFSTRANS
 afs_pioctl.o: $(TOP_SRC_AFS)/afs_pioctl.c
-       $(CRULE_NOOPT) -DAFS_NONFSTRANS
+       $(CRULE_NOOPT)
 
 # NFS Translator versions of the above code.
 afs_call_nfs.o:        $(TOP_SRC_AFS)/afs_call.c
-       $(CRULE_NOOPT) -o afs_call_nfs.o
+       $(CRULE_NOOPT)
 afs_pioctl_nfs.o:      $(TOP_SRC_AFS)/afs_pioctl.c
-       $(CRULE_NOOPT) -o afs_pioctl_nfs.o
+       $(CRULE_NOOPT)
 
 # Files which are specific to particular architectures/targets
 # but have common build rules. Place here instead of duplicating
@@ -371,14 +374,12 @@ osi_sleep.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_sleep.c
        $(CRULE_NOOPT)
 osi_misc.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_misc.c
        $(CRULE_NOOPT)
+CFLAGS-osi_vfsops_nfs.o= -DAFS_WRAPPER=${LIBAFS}_wrapper -DAFS_CONF_DATA=${LIBAFS}_conf_data
 osi_vfsops_nfs.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_vfsops.c
-       $(CRULE_NOOPT) -o osi_vfsops_nfs.o \
-       -DAFS_WRAPPER=${LIBAFS}_wrapper \
-       -DAFS_CONF_DATA=${LIBAFS}_conf_data
+       $(CRULE_NOOPT)
+CFLAGS-osi_vfsops.o= -DAFS_NONFSTRANS -DAFS_WRAPPER=${LIBAFSNONFS}_wrapper -DAFS_CONF_DATA=${LIBAFSNONFS}_conf_data
 osi_vfsops.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_vfsops.c
-       $(CRULE_NOOPT) -DAFS_NONFSTRANS \
-       -DAFS_WRAPPER=${LIBAFSNONFS}_wrapper \
-       -DAFS_CONF_DATA=${LIBAFSNONFS}_conf_data
+       $(CRULE_NOOPT)
 osi_vm.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_vm.c
        $(CRULE_NOOPT)
 osi_vnodeops.o: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/osi_vnodeops.c
index 456f4e202655ca760a048d606104269a30e752ec..41a4c641fccee97ccb22e4bf7b9c59d65fcb8e50 100644 (file)
@@ -33,14 +33,35 @@ AFS_OS_NONFSOBJS = osi_vfsops.o
 KDEFS=
 DBUG = 
 DEFINES= -D_KERNEL -DKERNEL -DKERNEL_PRIVATE -DDIAGNOSTIC -DUSE_SELECT -DMACH_USER_API -DMACH_KERNEL
-<x86_darwin_80>
-KOPTS=-static -g -nostdinc -nostdlib -no-cpp-precomp -fno-builtin -finline -fno-keep-inline-functions -msoft-float -mlong-branch -fsigned-bitfields -arch i386 -Di386 -DI386 -D__I386__ -DPAGE_SIZE_FIXED -march=i686 -mpreferred-stack-boundary=2 -falign-functions=4
-MODLD=$(CC) $(KOPTS)
-<ppc_darwin_80>
-KOPTS=-static -g -nostdinc -nostdlib -no-cpp-precomp -fno-builtin -finline -fno-keep-inline-functions -msoft-float -mlong-branch -fsigned-bitfields -arch ppc -Dppc -DPPC -D__PPC__ -DPAGE_SIZE_FIXED -O2 -mcpu=750 -mmultiple -fschedule-insns
-MODLD=$(CC) $(KOPTS)
-<all -ppc_darwin_80 -x86_darwin_80>
+<ppc_darwin_80 x86_darwin_80 ppc_darwin_90 x86_darwin_90>
+KOPTS_ppc=-static -g -nostdinc -nostdlib -fno-builtin -finline -fno-keep-inline-functions -msoft-float -mlong-branch -fsigned-bitfields -arch ppc -Dppc -DPPC -D__PPC__ -DPAGE_SIZE_FIXED -mcpu=750 -mmultiple -fschedule-insns
+KOPTS_x86=-static -g -nostdinc -nostdlib -fno-builtin -finline -fno-keep-inline-functions -msoft-float -mlong-branch -fsigned-bitfields -arch i386 -Di386 -DI386 -D__I386__ -DPAGE_SIZE_FIXED -march=i686 -mpreferred-stack-boundary=2 -falign-functions=4
+ARCH_ppc=$(shell echo "${ARCHFLAGS}" | grep -q -w ppc && echo yes)
+ARCH_x86=$(shell echo "${ARCHFLAGS}" | grep -q -w i386 && echo yes)
+ifeq ($(ARCH_ppc),yes)
+ifeq ($(ARCH_x86),yes)
+MODLD=$(CC) -static -g -nostdlib -arch ppc -arch i386
+CFLAGS_ppc=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS_ppc)
+CFLAGS_x86=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS_x86)
+else
+MODLD=$(CC) -static -g -nostdlib -arch ppc
+KOPTS=$(KOPTS_ppc)
+CFLAGS=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS)
+endif
+else
+ifeq ($(ARCH_x86),yes)
+MODLD=$(CC) -static -g -nostdlib -arch i386
+KOPTS=$(KOPTS_x86)
+else
+_ARCH=$(shell arch)
+MODLD=$(CC) -static -g -nostdlib -arch $(_ARCH)
+KOPTS=$(KOPTS_$(shell echo $(_ARCH) | sed 's/i386/x86/'))
+endif
+CFLAGS=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS)
+endif
+<all -ppc_darwin_80 -x86_darwin_80 -ppc_darwin_90 -x86_darwin_90>
 MODLD=$(LD)
+CFLAGS=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS)
 <ppc_darwin_70>
 KOPTS=-static -fno-common -finline -fno-keep-inline-functions -force_cpusubtype_ALL -msoft-float -mlong-branch 
 <ppc_darwin_60>
@@ -48,7 +69,6 @@ KOPTS=-no-cpp-precomp -static -fno-common -finline -fno-keep-inline-functions -f
 <ppc_darwin_14 ppc_darwin_13 ppc_darwin_12>
 KOPTS=-no-precomp -static -fno-common -finline -fno-keep-inline-functions -force_cpusubtype_ALL -msoft-float -mlong-branch 
 <all>
-CFLAGS=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG} ${OPTMZ}
 KINCLUDES=-I${KROOT}/System/Library/Frameworks/Kernel.framework/Headers
 
 
@@ -62,6 +82,26 @@ DESTDIRS = single_destdir
 
 include Makefile.common
 
+<ppc_darwin_80 x86_darwin_80 ppc_darwin_90 x86_darwin_90>
+ifeq ($(ARCH_ppc),yes)
+ifeq ($(ARCH_x86),yes)
+# override suffix rule; unfortunately, this causes a warning message
+.c.o:
+       $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(CFLAGS_ppc) $(CFLAGS-$@) -o $(patsubst %.o,%.ppc.o,$@) -c $<
+       $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(CFLAGS_x86) $(CFLAGS-$@) -o $(patsubst %.o,%.x86.o,$@) -c $<
+       lipo -create $(patsubst %.o,%.ppc.o,$@) $(patsubst %.o,%.x86.o,$@) -output $@
+CRULE_NOOPT= \
+       $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(CFLAGS_ppc) $(CFLAGS-$@) -o $(patsubst %.o,%.ppc.o,$@) -c $? && \
+       $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(CFLAGS_x86) $(CFLAGS-$@) -o $(patsubst %.o,%.x86.o,$@) -c $? && \
+       lipo -create $(patsubst %.o,%.ppc.o,$@) $(patsubst %.o,%.x86.o,$@) -output $@
+CRULE_OPT= \
+       $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(KERN_OPTMZ) $(CFLAGS_ppc) $(CFLAGS-$@) -o $(patsubst %.o,%.ppc.o,$@) -c $? && \
+       $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(KERN_OPTMZ) $(CFLAGS_x86) $(CFLAGS-$@) -o $(patsubst %.o,%.x86.o,$@) -c $? && \
+       lipo -create $(patsubst %.o,%.ppc.o,$@) $(patsubst %.o,%.x86.o,$@) -output $@
+endif
+endif
+<all>
+
 setup:
        -mkdir $(KOBJ)
        -$(RM) $(KOBJ)/Makefile $(KOBJ)/Makefile.common $(KOBJ)/config
diff --git a/src/libafs/afs.ppc_darwin_90.plist.in b/src/libafs/afs.ppc_darwin_90.plist.in
new file mode 100644 (file)
index 0000000..12797cd
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>English</string>
+       <key>CFBundleExecutable</key>
+       <string>afs</string>
+       <key>CFBundleIdentifier</key>
+       <string>org.openafs.filesystems.afs</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>8.0</string>
+       <key>CFBundleName</key>
+       <string>afs</string>
+       <key>CFBundlePackageType</key>
+       <string>KEXT</string>
+       <key>CFBundleShortVersionString</key>
+       <string>1.4.0</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>1.4.0</string>
+       <key>OSBundleLibraries</key>
+       <dict>
+               <key>com.apple.kpi.bsd</key>
+               <string>8.0.0</string>
+               <key>com.apple.kpi.mach</key>
+               <string>8.0.0</string>
+               <key>com.apple.kpi.libkern</key>
+               <string>8.0</string>
+       </dict>
+</dict>
+</plist>
diff --git a/src/libafs/afs.x86_darwin_90.plist.in b/src/libafs/afs.x86_darwin_90.plist.in
new file mode 100644 (file)
index 0000000..0893858
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
+<plist version="0.9">
+<dict>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>English</string>
+       <key>CFBundleExecutable</key>
+       <string>afs</string>
+       <key>CFBundleIdentifier</key>
+       <string>org.openafs.filesystems.afs</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>8.0</string>
+       <key>CFBundleName</key>
+       <string>afs</string>
+       <key>CFBundlePackageType</key>
+       <string>KEXT</string>
+       <key>CFBundleShortVersionString</key>
+       <string>1.3.82</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>1.3.82</string>
+       <key>OSBundleLibraries</key>
+       <dict>
+               <key>com.apple.kpi.bsd</key>
+               <string>8.0.0</string>
+               <key>com.apple.kpi.mach</key>
+               <string>8.0.0</string>
+               <key>com.apple.kpi.libkern</key>
+               <string>8.0</string>
+       </dict>
+</dict>
+</plist>
index 5f79c1fb60d0229f4d12e46a9e03203119bb3a69..769dffae9b5e0e1f6af4ab9a816e4a365f6273ac 100644 (file)
@@ -13,12 +13,12 @@ include @TOP_OBJDIR@/src/config/Makefile.config
 CC = cc
 DEFINES= -D_REENTRANT -DKERNEL -DUKERNEL
 KOPTS=
-CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KOPTS) ${DBG} $(XCFLAGS)
-OPTF=-O
+CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KOPTS) ${DBG} $(XCFLAGS) $(ARCHFLAGS)
+OPTF=-Os
 # WEBOPTS = -I../nsapi -DNETSCAPE_NSAPI -DNET_SSL -DXP_UNIX -DMCC_HTTPD
 
-TEST_CFLAGS=-D_REENTRANT -DAFS_PTHREAD_ENV
-TEST_LDFLAGS=
+TEST_CFLAGS=-D_REENTRANT -DAFS_PTHREAD_ENV $(XCFLAGS) $(ARCHFLAGS)
+TEST_LDFLAGS=$(XLDFLAGS) $(ARCHFLAGS)
 TEST_LIBS=
 
 LIBUAFS = libuafs.a
index b2c85d0edd2229a5c8284f58f19886bfcd2835e5..6587175498b2a2e3c045358f0c27067363df8242 100644 (file)
@@ -14,7 +14,7 @@ INCDIRS=-I${TOP_INCDIR} -I.. -I${TOP_INCDIR}/afs
 LDIRS=-L${TOP_LIBDIR} -L${DESTDIR}/lib/afs -L..
 LIBS= -lauth -lrxkad -ldes -lsys -lrx -llwp -lcmd -lafsutil ${XLIBS}
 
-CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${LIBS} ${XCFLAGS}
+CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${LIBS} ${XCFLAGS} ${ARCHFLAGS}
 
 all: testlog gettoktest
 
index 4dfd8284de7643f5e2452a67b9932236328d192b..b70a67823488537c135a5badd2bd7790f4f406a8 100644 (file)
@@ -10,7 +10,7 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
-CFLAGS=${LWP_DBG} ${LWP_OPTMZ} ${XCFLAGS} ${COMMON_INCL}
+CFLAGS=${LWP_DBG} ${LWP_OPTMZ} ${XCFLAGS} ${ARCHFLAGS} ${COMMON_INCL}
 
 LIBOBJS=lwp.o process.o lock.o iomgr.o timer.o fasttime.o preempt.o \
        waitkey.o threadname.o AFS_component_version_number.o
@@ -29,11 +29,11 @@ liblwp.a: ${LIBOBJS}
 
 # This is required so sgi_64+ does not try to build this file.
 process.s:
-       echo Nothing to be done for process.s
+       @echo Nothing to be done for process.s
 
 # Making process.o for $(SYS_NAME)
 process.o      : process.s process.i386.s process.c
-       @case "$(SYS_NAME)" in \
+       @set -x; case "$(SYS_NAME)" in \
        pmax_he1) \
                $(CCOBJ) ${LWP_DBG} ${LWP_OPTMZ} -c -I${TOP_INCDIR} process.s;; \
        sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53  | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5* ) \
@@ -43,7 +43,7 @@ process.o     : process.s process.i386.s process.c
        sgi_5* ) \
                $(CCOBJ) ${LWP_DBG} ${LWP_OPTMZ} -c -I${TOP_INCDIR} -KPIC -G0  ${srcdir}/process.s;; \
        sgi_61 | sgi_62 | sgi_63 ) \
-               $(CCOBJ) ${LWP_DBG} ${LWP_OPTMZ} -c ${XCFLAGS} -I${TOP_INCDIR} -KPIC -G0  ${srcdir}/process.s;; \
+               $(CCOBJ) ${LWP_DBG} ${LWP_OPTMZ} -c ${XCFLAGS} ${ARCHFLAGS} -I${TOP_INCDIR} -KPIC -G0  ${srcdir}/process.s;; \
        s390_*) \
                /lib/cpp -P -I${TOP_INCDIR} ${srcdir}/process.s390.s >process.ss; \
                ${AS} -ahlns process.ss -o process.o >process.lst; \
@@ -52,12 +52,31 @@ process.o   : process.s process.i386.s process.c
                /lib/cpp -P -I${TOP_INCDIR} ${srcdir}/process.s390x.s >process.ss; \
                ${AS} -ahlns process.ss -o process.o >process.lst; \
                $(RM) process.ss ;; \
-       ppc_darwin* ) \
-               $(CC) ${LWP_DBG} ${LWP_OPTMZ} -c ${XCFLAGS} -I${TOP_INCDIR} ${srcdir}/process.s;; \
-       x86_darwin*) \
-               /usr/bin/cpp -P -I${TOP_INCDIR} -I${srcdir} ${srcdir}/process.i386.s process.ss; \
-               ${AS} process.ss -o process.o; \
-               $(RM) process.ss ;; \
+       *_darwin* ) \
+               ppc=`echo "${ARCHFLAGS}" | grep -q -w ppc && echo yes` ; \
+               i386=`echo "${ARCHFLAGS}" | grep -q -w i386 && echo yes` ; \
+               if [ -z "$${ppc}" -a -z "$${i386}" ] ; then \
+                       if [ `arch` = ppc ] ; then \
+                               ppc=yes ; \
+                       else \
+                               i386=yes ; \
+                       fi ; \
+               fi ; \
+               if [ -n "$${ppc}" ] ; then \
+                       $(CC) ${LWP_DBG} ${LWP_OPTMZ} -c -arch ppc -I${TOP_INCDIR} ${srcdir}/process.s -o process.ppc.o ; \
+                       if [ -z "$${i386}" ] ; then \
+                               ${MV} process.ppc.o process.o ; \
+                       fi ; \
+               fi ; \
+               if [ -n "$${i386}" ] ; then \
+                       $(CC) -x assembler-with-cpp -c -arch i386 -I${TOP_INCDIR} -I${srcdir} ${srcdir}/process.i386.s -o process.i386.o ; \
+                       if [ -z "$${ppc}" ] ; then \
+                               ${MV} process.i386.o process.o ; \
+                       fi ; \
+               fi ; \
+               if [ -n "$${ppc}" -a -n "$${i386}" ] ; then \
+                       lipo -create process.ppc.o process.i386.o -output process.o ;\
+               fi ;; \
        i386_*bsd*) \
                cp ${srcdir}/process.i386.s process.S ; \
                ${CCOBJ} -DIGNORE_STDS_H -E -I${srcdir} -I${TOP_INCDIR} process.S > process.ss ; \
index 59b87bc61598bc57190ca604458181aaf7ff0977..de776806ff8377fb486240482fd44550c8f9376f 100644 (file)
@@ -80,6 +80,8 @@ extern char PRE_Block;                /* from preempt.c */
 #ifdef __s390__
 #define MINFRAME    96
 #define STACK_ALIGN 8
+#elif defined(AFS_DARWIN_ENV)
+#define STACK_ALIGN 16
 #else
 #define STACK_ALIGN 4
 #endif
@@ -297,7 +299,11 @@ LWP_CreateProcess(int (*ep) (), int stacksize, int priority, void *parm,
            return LWP_ENOMEM;
        }
        if (stacksize < MINSTACK)
+#ifdef AFS_DARWIN_ENV
+           stacksize = 1008;
+#else /* !AFS_DARWIN_ENV */
            stacksize = 1000;
+#endif /* !AFS_DARWIN_ENV */
        else
            stacksize =
                STACK_ALIGN * ((stacksize + STACK_ALIGN - 1) / STACK_ALIGN);
@@ -342,12 +348,21 @@ LWP_CreateProcess(int (*ep) (), int stacksize, int priority, void *parm,
        stackptr -= stacksize;
        stackmemory = stackptr;
 #else
-       if ((stackmemory = (char *)malloc(stacksize + 7)) == NULL) {
+#ifdef AFS_DARWIN_ENV
+       if ((stackmemory = (char *)malloc(stacksize + STACK_ALIGN - 1)) == NULL)
+#else /* !AFS_DARWIN_ENV */
+       if ((stackmemory = (char *)malloc(stacksize + 7)) == NULL)
+#endif /* !AFS_DARWIN_ENV */
+       {
            Set_LWP_RC();
            return LWP_ENOMEM;
        }
        /* Round stack pointer to byte boundary */
+#ifdef AFS_DARWIN_ENV
+       stackptr = (char *)(STACK_ALIGN * (((long)stackmemory + STACK_ALIGN - 1) / STACK_ALIGN));
+#else /* !AFS_DARWIN_ENV */
        stackptr = (char *)(8 * (((long)stackmemory + 7) / 8));
+#endif /* !AFS_DARWIN_ENV */
 #endif
        if (priority < 0 || priority >= MAX_PRIORITIES) {
            Set_LWP_RC();
@@ -372,8 +387,12 @@ LWP_CreateProcess(int (*ep) (), int stacksize, int priority, void *parm,
                    stackptr + MINFRAME);
 #else
 #if defined(AFS_SGI62_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#ifdef sys_x86_darwin_80
+       savecontext(Create_Process_Part2, &temp2->context, stackptr + stacksize - 16 - sizeof(void *)); /* 16 = 2 * jmp_buf_type */
+#else /* !sys_x86_darwin_80 */
        /* Need to have the sp on an 8-byte boundary for storing doubles. */
        savecontext(Create_Process_Part2, &temp2->context, stackptr + stacksize - 16);  /* 16 = 2 * jmp_buf_type */
+#endif /* !sys_x86_darwin_80 */
 #else
 #if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_SPARC_LINUX20_ENV)
        savecontext(Create_Process_Part2, &temp2->context, stackptr + stacksize - 0x40);        /* lomgjmp does something
index ac17da9a1f2af376a79b79cc29fc08951fc58993..2a474d960e1495900a06547a401e595efa5dc9be 100644 (file)
@@ -11,7 +11,7 @@ include @TOP_OBJDIR@/src/config/Makefile.config
 INCDIRS= -I.. -I${DESTDIR}/include 
 LIBS= ../liblwp.a
 
-CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${XCFLAGS}
+CFLAGS = ${OPTIMIZE} ${INCDIRS} ${LDIRS} ${XCFLAGS} ${ARCHFLAGS}
 
 system noversion: test
 
index 42cf315404c5e4a30f7b70db5fe9d28640722f7e..e4e3a0dcc0a6672c6e3b68e9b44afc2234f54e45 100644 (file)
 # 
 # @APPLE_LICENSE_HEADER_END@
 
-AFSINCLUDE = /Library/OpenAFS/Tools/include
-CFLAGS = -O -I$(AFSINCLUDE)
+# We assume the either we are in src/packaging/MacOS (so ../.. should work
+# with #include <afs/sysctl.h>, or we are in a directory where configure
+# was run, so the afs/sysctl.h should be in the include subdirectory
+AFSINCLUDE = -I../.. -Iinclude
+CFLAGS = -Os $(AFSINCLUDE) $(ARCHFLAGS)
 LIBS = -framework Foundation
 ALL = afssettings
+DIR = $(shell dirname $(MAKEFILE_LIST))
 
 all: $(ALL)
 
-afssettings : afssettings.m
+afssettings : $(DIR)/afssettings.m
        cc $(CFLAGS) -o $@ $^ $(LIBS)
 
 clean:
-       @rm -f *.o $(ALL)
+       @rm -f $(ALL)
index 820f3342db6e75756f7b1f3b5f86ebf5741b1cf2..a7c42f900d8fdc0fd426066abdd01e63edbbe95e 100644 (file)
@@ -73,7 +73,9 @@ if [ -z "$done" ]; then
     # this is a new install, or an upgrade from pre-1.2.7
     echo "Installing new CellServDB"
     cp CellServDB.master CellServDB.master.last
-    cp CellServDB.master CellServDB
+    if [ ! -e CellServDB ]; then
+       cp CellServDB.master CellServDB
+    fi
   fi
 fi
 
index c1e647a9a80f8ce54524abf7045525e561e1cec9..f6f10886df9c7f1f3adfd10bce63f089c2e976e9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2003, 2006 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -52,6 +52,8 @@ Setting s_darwin[] = {
     {@"Darwin14", AFS_SC_DARWIN_14, TypeNode, NULL},
     {@"Darwin60", AFS_SC_DARWIN_60, TypeNode, NULL},
     {@"Darwin70", AFS_SC_DARWIN_70, TypeNode, NULL},
+    {@"Darwin80", AFS_SC_DARWIN_80, TypeNode, NULL},
+    {@"Darwin90", AFS_SC_DARWIN_90, TypeNode, NULL},
     {NULL, 0, 0, NULL}
 };
 Setting s_first[] = {
@@ -79,12 +81,12 @@ init(void)
     int i;
 
     len = sizeof(max);
-    if(sysctl(oidmax, 3, &max, &len, NULL, NULL) < 0)
+    if(sysctl(oidmax, 3, &max, &len, NULL, 0) < 0)
        err(1, "sysctl VFS_MAXTYPENUM");
     for(i = max; --i >= 0; ) {
        oidvfs[3] = i;
        len = sizeof(conf);
-       if(sysctl(oidvfs, 4, &conf, &len, NULL, NULL) < 0)
+       if(sysctl(oidvfs, 4, &conf, &len, NULL, 0) < 0)
            continue;
        if(strcmp("afs", conf.vfc_name) == 0) {
            s_top.selector = conf.vfc_typenum;
index 40aed38697c6983e784221bfbfc894d20b395436..788229e7f6b831c22cc67dea180696a918214a0a 100644 (file)
@@ -1,13 +1,33 @@
 #!/bin/sh
-# Portions Copyright (c) 2003 Apple Computer, Inc.  All rights reserved.
+# Portions Copyright (c) 2003, 2006 Apple Computer, Inc.  All rights reserved.
 
 if [ -z "$1" ]; then
-   echo Usage: buildpkg binary-dir
-  exit 1
+    echo Usage: buildpkg binary-dir
+    echo '  or'
+    echo 'Usage: buildpkg [-firstpass] binary-dir'
+    echo '            (customize pkgroot)'
+    echo '       buildpkg [-secondpass]'
+    exit 1
 fi
-BINDEST=$1
-RESSRC=`pwd`
+
+firstpass=yes
+secondpass=yes
+if [ "$1" = "-firstpass" ]; then
+    secondpass=no
+    shift
+elif [ "$1" = "-secondpass" ]; then
+    firstpass=no
+    shift
+fi
+
+BINDEST=`cd $1 && pwd`
+CURDIR=`pwd`
+RESSRC=`dirname $0`
+RESSRC=`cd $RESSRC && pwd`
 majorvers=`uname -r | sed 's/\..*//'`
+
+PKGROOT=$CURDIR/pkgroot
+PKGRES=$CURDIR/pkgres
 if [ $majorvers -ge 7 ]; then
     SEP=:
     package=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
@@ -31,152 +51,159 @@ else
     fi
 fi
 
-if [ -x /usr/bin/curl ]; then
+if [ $firstpass = yes ]; then
+    if [ -x /usr/bin/curl ]; then
 #    /usr/bin/curl -f -O http://www.central.org/dl/cellservdb/CellServDB
-    /usr/bin/curl -f -O http://dl.central.org/dl/cellservdb/CellServDB
-fi
+       /usr/bin/curl -f -O http://dl.central.org/dl/cellservdb/CellServDB
+    fi
 
-if [ ! -f CellServDB ]; then
-   echo "A CellServDB file must be placed in the working directory"
-   die=1
-fi
-FILES="ReadMe.rtf License.rtf CellServDB.list OpenAFS.info OpenAFS.post_install OpenAFS.pre_upgrade csrvdbmerge.pl 2.0.txt"
-for f in $FILES; do
-   if [ ! -f $f ]; then
-     echo "file missing: " $f
-     die=1
-   fi
-done
-if [ "$die" ]; then
-  echo "Correct above errors; then retry"
-  exit 1
-fi
-if [ ! -f $BINDEST/bin/translate_et ]; then
-  die=1
-fi
-if [ ! -f $BINDEST/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs ]; then
-  die=1
-fi
-if [ "$die" ]; then
-   echo $BINDEST " is not a valid binary dir. it should be the result of"
-   echo "make dest"
-   exit 1
-fi
+    if [ ! -f CellServDB ]; then
+       echo "A CellServDB file must be placed in the working directory"
+       die=1
+    fi
+    FILES="ReadMe.rtf License.rtf CellServDB.list OpenAFS.info OpenAFS.post_install OpenAFS.pre_upgrade csrvdbmerge.pl 2.0.txt"
+    for f in $FILES; do
+       if [ ! -f $RESSRC/$f ]; then
+        echo "file missing: " $RESSRC/$f
+        die=1
+       fi
+    done
+    if [ "$die" ]; then
+      echo "Correct above errors; then retry"
+      exit 1
+    fi
+    if [ ! -f $BINDEST/bin/translate_et ]; then
+      die=1
+    fi
+    if [ ! -f $BINDEST/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs ]; then
+      die=1
+    fi
+    if [ "$die" ]; then
+       echo $BINDEST " is not a valid binary dir. it should be the result of"
+       echo "make dest"
+       exit 1
+    fi
 
-PKGROOT=$RESSRC/pkgroot
-PKGRES=$RESSRC/pkgres
-rm -rf pkgroot pkgres
-mkdir -p $PKGROOT $PKGRES
-
-mkdir $PKGROOT/Library
-chown -R root${SEP}admin $PKGROOT
-chmod -R 775 $PKGROOT
-mkdir $PKGROOT/Library/OpenAFS $PKGROOT/Library/OpenAFS/Tools
-cd $BINDEST
-pax -rw * $PKGROOT/Library/OpenAFS/Tools
-cd $RESSRC
-mkdir $PKGROOT/Library/StartupItems 
-mkdir $PKGROOT/Library/StartupItems/OpenAFS
-cp $BINDEST/root.client/usr/vice/etc/afs.rc  $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS
-chmod a+x $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS
-cp $BINDEST/root.client/usr/vice/etc/StartupParameters.plist  $PKGROOT/Library/StartupItems/OpenAFS/StartupParameters.plist
-chown -R root${SEP}admin $PKGROOT/Library
-chmod -R o-w $PKGROOT/Library
-chmod -R g+w $PKGROOT/Library
-chown -R root${SEP}wheel $PKGROOT/Library/StartupItems
-chmod -R og-w $PKGROOT/Library/StartupItems
-chown -R root${SEP}wheel $PKGROOT/Library/OpenAFS/Tools
-chmod -R og-w $PKGROOT/Library/OpenAFS/Tools
-
-mkdir $PKGROOT/private $PKGROOT/private/var $PKGROOT/private/var/db
-mkdir $PKGROOT/private/var/db/openafs $PKGROOT/private/var/db/openafs/cache
-mkdir $PKGROOT/private/var/db/openafs/etc $PKGROOT/private/var/db/openafs/etc/config
-cp $RESSRC/CellServDB $PKGROOT/private/var/db/openafs/etc/CellServDB.master
-echo openafs.org > $PKGROOT/private/var/db/openafs/etc/ThisCell.sample
-if [ $majorvers -ge 7 ]; then
-    echo /afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
-    make AFSINCLUDE=$BINDEST/include
-    cp afssettings $PKGROOT/private/var/db/openafs/etc/config
-    cp settings.plist $PKGROOT/private/var/db/openafs/etc/config/settings.plist.orig
-    make clean
-else
-    echo /Network/afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
-fi
-echo '-afsdb -stat 2000 -dcache 800 -daemons 3 -volumes 70 -dynroot -fakestat-all' > $PKGROOT/private/var/db/openafs/etc/config/afsd.options.sample
+    rm -rf $PKGROOT
+    mkdir $PKGROOT
+
+    mkdir -p $PKGROOT/Library
+    chown root${SEP}admin $PKGROOT
+    chmod 775 $PKGROOT $PKGROOT/Library
+    mkdir -p $PKGROOT/Library/OpenAFS/Tools
+    (cd $BINDEST && pax -rw * $PKGROOT/Library/OpenAFS/Tools)
+    cd $RESSRC
+    mkdir -p $PKGROOT/Library/StartupItems/OpenAFS
+    cp $BINDEST/root.client/usr/vice/etc/afs.rc  $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS
+    chmod a+x $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS
+    cp $BINDEST/root.client/usr/vice/etc/StartupParameters.plist  $PKGROOT/Library/StartupItems/OpenAFS/StartupParameters.plist
+    chown -R root${SEP}admin $PKGROOT/Library
+    chmod -R o-w $PKGROOT/Library
+    chmod -R g+w $PKGROOT/Library
+    chown -R root${SEP}wheel $PKGROOT/Library/StartupItems
+    chmod -R og-w $PKGROOT/Library/StartupItems
+    chown -R root${SEP}wheel $PKGROOT/Library/OpenAFS/Tools
+    chmod -R og-w $PKGROOT/Library/OpenAFS/Tools
+
+    mkdir -p $PKGROOT/private/var/db/openafs/cache
+    mkdir -p $PKGROOT/private/var/db/openafs/etc/config
+    cp $CURDIR/CellServDB $PKGROOT/private/var/db/openafs/etc/CellServDB.master
+    echo openafs.org > $PKGROOT/private/var/db/openafs/etc/ThisCell.sample
+    if [ $majorvers -ge 7 ]; then
+       echo /afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
+       (cd $CURDIR && \
+       make -f $RESSRC/Makefile AFSINCLUDE="-I$BINDEST/include" && \
+       cp afssettings $PKGROOT/private/var/db/openafs/etc/config && \
+       make -f $RESSRC/Makefile clean)
+       cp settings.plist $PKGROOT/private/var/db/openafs/etc/config/settings.plist.orig
+    else
+       echo /Network/afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample
+    fi
+    echo '-afsdb -stat 2000 -dcache 800 -daemons 3 -volumes 70 -dynroot -fakestat-all' > $PKGROOT/private/var/db/openafs/etc/config/afsd.options.sample
 
-strip -X -S $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs
+    strip -X -S $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs
 
-cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext $PKGROOT/private/var/db/openafs/etc
-cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/C $PKGROOT/private/var/db/openafs/etc
+    cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext $PKGROOT/private/var/db/openafs/etc
+    cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/C $PKGROOT/private/var/db/openafs/etc
 
-chown -R root${SEP}wheel $PKGROOT/private
-chmod -R og-w $PKGROOT/private
-chmod  og-rx $PKGROOT/private/var/db/openafs/cache
+    chown -R root${SEP}wheel $PKGROOT/private
+    chmod -R og-w $PKGROOT/private
+    chmod  og-rx $PKGROOT/private/var/db/openafs/cache
 
-mkdir $PKGROOT/usr $PKGROOT/usr/bin $PKGROOT/usr/sbin
+    mkdir -p $PKGROOT/usr/bin $PKGROOT/usr/sbin
 
-BINLIST="fs klog klog.krb pagsh pagsh.krb pts sys tokens tokens.krb unlog unlog.krb aklog"
+    BINLIST="fs klog klog.krb pagsh pagsh.krb pts sys tokens tokens.krb unlog unlog.krb aklog"
 
 # Should these be linked into /usr too?
-OTHER_BINLIST="bos cmdebug rxgen translate_et udebug xstat_cm_test xstat_fs_test"
-OTHER_ETCLIST="vos rxdebug"
+    OTHER_BINLIST="bos cmdebug rxgen translate_et udebug xstat_cm_test xstat_fs_test"
+    OTHER_ETCLIST="vos rxdebug"
 
-for f in $BINLIST; do
-   ln -s ../../Library/OpenAFS/Tools/bin/$f $PKGROOT/usr/bin/$f
-done
-ln -s ../../Library/OpenAFS/Tools/bin/kpasswd $PKGROOT/usr/bin/kpasswd.afs
+    for f in $BINLIST; do
+       ln -s ../../Library/OpenAFS/Tools/bin/$f $PKGROOT/usr/bin/$f
+    done
+    ln -s ../../Library/OpenAFS/Tools/bin/kpasswd $PKGROOT/usr/bin/kpasswd.afs
 
-ln -s ../../Library/OpenAFS/Tools/root.client/usr/vice/etc/afsd $PKGROOT/usr/sbin/afsd
+    ln -s ../../Library/OpenAFS/Tools/root.client/usr/vice/etc/afsd $PKGROOT/usr/sbin/afsd
 
-chown -R root${SEP}wheel $PKGROOT/usr
-chmod -R og-w $PKGROOT/usr
+    chown -R root${SEP}wheel $PKGROOT/usr
+    chmod -R og-w $PKGROOT/usr
+fi
 
-if [ $majorvers -ge 7 ]; then
-    cp OpenAFS.post_install $PKGRES/postinstall
-    cp OpenAFS.pre_upgrade $PKGRES/preupgrade
-    cp OpenAFS.post_install $PKGRES/postupgrade
-    if [ $majorvers -ge 8 ]; then
-        cp InstallationCheck $PKGRES
-        mkdir $PKGRES/English.lproj
-        cp InstallationCheck $PKGRES/English.lproj
-        chmod a+x $PKGRES/InstallationCheck
+if [ $secondpass = yes ]; then
+    rm -rf $PKGRES
+    mkdir $PKGRES
+
+    cd $RESSRC
+    if [ $majorvers -ge 7 ]; then
+       cp OpenAFS.post_install $PKGRES/postinstall
+       cp OpenAFS.pre_upgrade $PKGRES/preupgrade
+       cp OpenAFS.post_install $PKGRES/postupgrade
+       if [ $majorvers -ge 8 ]; then
+           cp InstallationCheck $PKGRES
+           mkdir -p $PKGRES/English.lproj
+           cp InstallationCheck $PKGRES/English.lproj
+           chmod a+x $PKGRES/InstallationCheck
+       fi
+       chmod a+x $PKGRES/postinstall $PKGRES/postupgrade $PKGRES/preupgrade
+    else
+       cp OpenAFS.post_install OpenAFS.pre_upgrade $PKGRES
+       cp OpenAFS.post_install $PKGRES/OpenAFS.post_upgrade
+       chmod a+x $PKGRES/OpenAFS.post_install $PKGRES/OpenAFS.post_upgrade $PKGRES/OpenAFS.pre_upgrade
     fi
-    chmod a+x $PKGRES/postinstall $PKGRES/postupgrade $PKGRES/preupgrade
-else
-    cp OpenAFS.post_install OpenAFS.pre_upgrade $PKGRES
-    cp OpenAFS.post_install $PKGRES/OpenAFS.post_upgrade
-    chmod a+x $PKGRES/OpenAFS.post_install $PKGRES/OpenAFS.post_upgrade $PKGRES/OpenAFS.pre_upgrade
-fi
-cp License.rtf ReadMe.rtf $PKGRES
-cp csrvdbmerge.pl $PKGRES
-chmod a+x $PKGRES/csrvdbmerge.pl
-cp CellServDB.list $PKGRES
-chown -R root${SEP}wheel $PKGRES
-rm -rf OpenAFS.pkg
-if [ $majorvers -ge 7 ]; then
-    echo $package -build -p $RESSRC/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
-       -i OpenAFS.Info.plist -d OpenAFS.Description.plist
-    $package -build -p $RESSRC/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
-       -i OpenAFS.Info.plist -d OpenAFS.Description.plist
-else
-    echo $package $PKGROOT OpenAFS.info -r $PKGRES
-    $package $PKGROOT OpenAFS.info -r $PKGRES
-    #old versions of package didn't handle this properly
-    if [ ! -r OpenAFS.pkg/Contents ]; then
-           mkdir OpenAFS.pkg/Contents OpenAFS.pkg/Contents/Resources
-           mv OpenAFS.pkg/OpenAFS.* OpenAFS.pkg/Contents/Resources
-           mv OpenAFS.pkg/*.rtf OpenAFS.pkg/Contents/Resources
-           mv OpenAFS.pkg/csrvdbmerge.pl OpenAFS.pkg/Contents/Resources
-           mv OpenAFS.pkg/CellServDB* OpenAFS.pkg/Contents/Resources
+    cp License.rtf ReadMe.rtf $PKGRES
+    cp csrvdbmerge.pl $PKGRES
+    chmod a+x $PKGRES/csrvdbmerge.pl
+    cp CellServDB.list $PKGRES
+    chown -R root${SEP}wheel $PKGRES
+    rm -rf $CURDIR/OpenAFS.pkg
+    if [ $majorvers -ge 7 ]; then
+       echo $package -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
+           -i OpenAFS.Info.plist -d OpenAFS.Description.plist
+       $package -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \
+           -i OpenAFS.Info.plist -d OpenAFS.Description.plist
+    else
+       echo $package $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES
+       (cd $CURDIR && $package $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES)
+       #old versions of package didn't handle this properly
+       if [ ! -r $CURDIR/OpenAFS.pkg/Contents ]; then
+               mkdir -p $CURDIR/OpenAFS.pkg/Contents/Resources
+               mv $CURDIR/OpenAFS.pkg/OpenAFS.* $CURDIR/OpenAFS.pkg/Contents/Resources
+               mv $CURDIR/OpenAFS.pkg/*.rtf $CURDIR/OpenAFS.pkg/Contents/Resources
+               mv $CURDIR/OpenAFS.pkg/csrvdbmerge.pl $CURDIR/OpenAFS.pkg/Contents/Resources
+               mv $CURDIR/OpenAFS.pkg/CellServDB* $CURDIR/OpenAFS.pkg/Contents/Resources
+       fi
     fi
-fi
 
-rm -rf pkgroot pkgres
-mkdir dmg
-mv OpenAFS.pkg dmg
-rm -rf OpenAFS.dmg
-hdiutil create -srcfolder dmg -volname OpenAFS -anyowners OpenAFS.dmg
-rm -rf dmg
-# Unfortunately, sudo sets $USER to root, so I can't chown the 
-#.pkg dir back to myself
-#chown -R $USER OpenAFS.pkg
+    rm -rf $PKGROOT $PKGRES
+    mkdir $CURDIR/dmg
+    mv $CURDIR/OpenAFS.pkg $CURDIR/dmg
+    rm -rf $CURDIR/OpenAFS.dmg
+    hdiutil create -srcfolder $CURDIR/dmg -volname OpenAFS -anyowners $CURDIR/OpenAFS.dmg
+    rm -rf $CURDIR/dmg
+    # Unfortunately, sudo sets $USER to root, so I can't chown the 
+    #.pkg dir back to myself
+    #chown -R $USER $CURDIR/OpenAFS.pkg
+else
+    echo "First pass completed.  Customize pkgroot and then run:"
+    echo "    $0 -secondpass"
+fi
index 3597164a8507b44a3a1ae6b406226664a8ec34f2..99295eaad44f5a0e10d48aade27ca3cf6651dd6d 100644 (file)
@@ -9,7 +9,7 @@ srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
 
-CFLAGS = $(DBUG) -I${SRCDIR}/include ${XCFLAGS}
+CFLAGS = $(DBUG) -I${SRCDIR}/include ${XCFLAGS} ${ARCHFLAGS}
 
 ########################################################################
 # build tests
index 0706b8f75c60efb815b245a4bbda04800c14847a..1739c94f3d29f730184056d7059ad50ec36fc7f5 100644 (file)
@@ -46,7 +46,7 @@ ubik_BeginTrans(register struct ubik_dbase *dbase, afs_int32 transMode,
        thdr.version.epoch = htonl(2);
        thdr.version.counter = htonl(0);
        thdr.magic = htonl(UBIK_MAGIC);
-       thdr.size = htonl(HDRSIZE);
+       thdr.size = htons(HDRSIZE);
        lseek(dbase_fd, 0, 0);
        write(dbase_fd, &thdr, sizeof(thdr));
        fsync(dbase_fd);
index e1988fd34d6d85a72cbaccd34132598063bea0fb..9b67145c4c2555df035b589da537303926270fb6 100644 (file)
@@ -8,7 +8,7 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
-CFLAGS=${COMMON_CFLAGS} ${XCFLAGS} -DRXDEBUG
+CFLAGS=${COMMON_CFLAGS} ${XCFLAGS} ${ARCHFLAGS} -DRXDEBUG
 
 #
 # Generic xdr objects (or, at least, xdr stuff that's not newly defined for rx).
index 6f093b2fcc6da5a6a5799472c099715dadcdd774..5b02f08e5bac6ee4c9a673c04e778300f0356800 100644 (file)
@@ -13,7 +13,7 @@ SRCDIR=@srcdir@
 LIBRX=@TOP_OBJDIR@/lib/librx.a
 DESTDIR=@srcdir@
 LIBS=${LIBRX} ${TOP_OBJDIR}/lib/liblwp.a ${TOP_OBJDIR}/lib/libafsutil.a
-CFLAGS=-g ${COMMON_INCL} -DDEBUG ${XCFLAGS}
+CFLAGS=-g ${COMMON_INCL} -DDEBUG ${XCFLAGS} ${ARCHFLAGS}
 
 all: bulk_client bulk_server
 
index d4f8988bf31f8e76e13de14556f4508b56da1bf6..0f82595486bd5a026c612e873be85094880fadb8 100644 (file)
@@ -14,7 +14,7 @@ LIBRX=${SRCDIR}/lib/librx.a
 DESTDIR=/usr/andy/
 INSTALL=${SRCDIR}/bin/install
 LIBS=${LIBRX} ${SRCDIR}/lib/liblwp.a
-CFLAGS=${DBG} -I.. -I. -I${SRCDIR}/include -DDEBUG ${XCFLAGS}
+CFLAGS=${DBG} -I.. -I. -I${SRCDIR}/include -DDEBUG ${XCFLAGS} ${ARCHFLAGS}
 
 all: bulk_client bulk_server
 
index cb6eef53f0931b9bf884a493d32e74fadc5cfd5a..638f8582d3fc792fb3a8b8156ca6854ad3a5cfb1 100644 (file)
@@ -14,7 +14,7 @@ LIBRX=${SRCDIR}/lib/librx.a
 DESTDIR=/usr/andy/
 INSTALL=${SRCDIR}/bin/install
 LIBS=${LIBRX} ${SRCDIR}/lib/liblwp.a
-CFLAGS=${DBG} -I.. -I. -I${SRCDIR}/include -DDEBUG ${XCFLAGS}
+CFLAGS=${DBG} -I.. -I. -I${SRCDIR}/include -DDEBUG ${XCFLAGS} ${ARCHFLAGS}
 
 all: sample_client sample_server
 
index d974c0da80a2ccfde2596f4904e1b8e7484e2c7d..f641cf8408045f996c9ed5de22fcda14a7754668 100644 (file)
@@ -14,7 +14,7 @@ LIBRX=${SRCDIR}/lib/librx.a
 DESTDIR=/usr/andy/
 INSTALL=${SRCDIR}/bin/install
 LIBS=${LIBRX} ${SRCDIR}/lib/liblwp.a
-CFLAGS=${DBG} -I. -I${SRCDIR}/include -DDEBUG ${XCFLAGS}
+CFLAGS=${DBG} -I. -I${SRCDIR}/include -DDEBUG ${XCFLAGS} ${ARCHFLAGS}
 
 all: sample_client sample_server
 
index 98c31de9e003a070df590640daa596264e2f207b..46903501153d9131378881dc09ee169020855526 100644 (file)
@@ -15,7 +15,7 @@ LDIRS= -L.. -L${TOP_LIBDIR}
 LIBS= ${TOP_LIBDIR}/libcmd.a  ../librx.a ${TOP_LIBDIR}/liblwp.a \
         ${TOP_LIBDIR}/util.a ${TOP_LIBDIR}/libsys.a ${XLIBS}
 
-CFLAGS = ${OPTIMIZE} ${INCDIRS} -DRXDEBUG ${LDIRS} ${XCFLAGS}
+CFLAGS = ${OPTIMIZE} ${INCDIRS} -DRXDEBUG ${LDIRS} ${XCFLAGS} ${ARCHFLAGS}
 
 RXTESTOBJS = testclient.o testserver.o kstest.o kctest.o
 
index f9b7ac2c763cd7ba4a64dcdb37ba387136ebd6cf..e41a267cd31296547217b15cd50f7bc97decdd26 100644 (file)
@@ -63,7 +63,7 @@
 #define mem_free(ptr, bsize)   free(ptr)
 #endif
 
-#if defined(AFS_AMD64_LINUX24_ENV) || (defined(KERNEL) && !defined(UKERNEL))
+#if defined(AFS_AMD64_LINUX24_ENV) || defined(AFS_DARWIN_ENV) || (defined(KERNEL) && !defined(UKERNEL))
 #define xdr_void afs_xdr_void
 #define xdr_int afs_xdr_int
 #define xdr_u_int afs_xdr_u_int
@@ -88,6 +88,7 @@
 #define xdr_vector afs_xdr_vector
 #define xdr_int64 afs_xdr_int64
 #define xdr_uint64 afs_xdr_uint64
+#define xdr_pointer afs_xdr_pointer
 #endif
 
 #ifdef KERNEL
index d7391bd8c435fdfd66723437369c62bf64247931..0a768566aa243a858a01f7a3d6320b8608a58a87 100644 (file)
@@ -8,7 +8,7 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
-CFLAGS=${COMMON_CFLAGS} ${XCFLAGS} -DRXDEBUG
+CFLAGS=${COMMON_CFLAGS} ${XCFLAGS} ${ARCHFLAGS} -DRXDEBUG
 
 LIBS=${TOP_LIBDIR}/librx.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/libcmd.a \
               ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libafsutil.a
index 34e8290af0b7b57301a7684c19b0139bc2c57cf0..a0b338d8eee065bf25071f8fe4b92fd3034926b0 100644 (file)
@@ -9,7 +9,7 @@ srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
 
-CFLAGS=-g -I. -I${srcdir} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
+CFLAGS=-g -I. -I${srcdir} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
 
 HEADERS = ../rxkad.h stress.h stress_internal.h stress_errs.h
 
index e3e675d90b2985e27c5c8006ef8eb5f2c8a1fb9c..7b5995d97cc230c55c9f457c575a544b5290acf5 100644 (file)
@@ -1765,7 +1765,11 @@ execute_scout(a_numservers, a_srvname, a_pkg)
            return (-1);
        }
        memcpy(&(curr_skt->sin_addr.s_addr), he->h_addr, 4);
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+       curr_skt->sin_family = AF_INET;         /*Internet family */
+#else
        curr_skt->sin_family = htons(AF_INET);  /*Internet family */
+#endif
        curr_skt->sin_port = htons(7000);       /*FileServer port */
 
        /*
index 2f96069facf6616f3e7fbd7b19093634946dd00b..b09d2842cccfb6cf0fcb2dbe12ea4d032c89f69e 100644 (file)
@@ -15,8 +15,8 @@ include @TOP_OBJDIR@/src/config/Makefile.config
 # Note that if afskauthlib.so gets installed on a client
 # machine then that will be used ..
 #
-CFLAGS=${OPTIMIZE} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
-LDFLAGS = ${OPTIMIZE} ${XLDFLAGS}
+CFLAGS=${OPTIMIZE} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
+LDFLAGS = ${OPTIMIZE} ${XLDFLAGS} ${ARCHFLAGS}
 LIBDIR=${TOP_LIBDIR}/
 AFSLIBS=${TOP_LIBDIR}/libkauth.a ${TOP_LIBDIR}/libprot.a ${LIBDIR}/libubik.a \
          ${TOP_LIBDIR}/libauth.a ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libsys.a \
index d0b4c722083244e765e1e2310fd8b0e0f21bde30..1d7bcfc892001ab3774d947074f457983306137c 100644 (file)
@@ -23,7 +23,7 @@ all: ${TOP_LIBDIR}/libafssiad.so ${TOP_LIBDIR}/libafssiad.krb.so
 clean:
        $(RM) -f test-reauth libafssiad.so libafssiad.krb.so *.s *.o *.b core *~ *.com *.ld AFS_component_version_number.c
 
-CFLAGS=${DBG} ${OPTMZ} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
+CFLAGS=${DBG} ${OPTMZ} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
 
 ${DEST}/lib/afs/libafssiad.so: libafssiad.so
        ${INSTALL} $? $@
index cbfc54ae637489f38725b563e86f2a52cf7f63c0..81d7af3ee83cc2b0df6818ae6a8f23864eb4b46b 100644 (file)
@@ -15,7 +15,7 @@ LIBAFSSETPAGMINOR=0
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
-CFLAGS=-I. -I${srcdir} ${DBUG} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR}  ${XCFLAGS}
+CFLAGS=-I. -I${srcdir} ${DBUG} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR}  ${XCFLAGS} ${ARCHFLAGS}
 SFLAGS=-I${TOP_INCDIR}
 LIBS=libsys.a ${TOP_LIBDIR}/librx.a libsys.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a ${XLIBS}
 
@@ -24,34 +24,40 @@ SHLIBOBJS = picobj/setpag.o picobj/glue.o syscall.o
 RMTOBJS=rmtsysnet.o rmtsysc.o rmtsys.cs.o rmtsys.xdr.o rmtsys.ss.o rmtsyss.o 
 
 LIBAFSSETPAG = libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}
+LIBAFSSETPAG_DARWIN = libafssetpag.${LIBAFSSETPAGMAJOR}.${SHLIB_SUFFIX}
 
 all: \
-       rmtsysd \
-       pagsh \
-       pagsh.krb \
-       ${TOP_INCDIR}/afs/afssyscalls.h \
-       ${TOP_INCDIR}/afs/afs.exp \
-       ${TOP_INCDIR}/afs/xfsattrs.h \
-       ${TOP_LIBDIR}/afs.exp \
-       ${TOP_LIBDIR}/libsys.a \
-       ${TOP_LIBDIR}/${LIBAFSSETPAG} \
-       ${KERNELDIR}/afs \
-       ${KERNELDIR}/afs/xfsattrs.h \
-       ${UKERNELDIR}/afs \
-       ${UKERNELDIR}/afs/afsl.exp
+    rmtsysd \
+    pagsh \
+    pagsh.krb \
+    ${TOP_INCDIR}/afs/afssyscalls.h \
+    ${TOP_INCDIR}/afs/afs.exp \
+    ${TOP_INCDIR}/afs/xfsattrs.h \
+    ${TOP_LIBDIR}/afs.exp \
+    ${TOP_LIBDIR}/libsys.a \
+    ${KERNELDIR}/afs \
+    ${KERNELDIR}/afs/xfsattrs.h \
+    ${UKERNELDIR}/afs \
+    ${UKERNELDIR}/afs/afsl.exp
+       @set -x; case ${SYS_NAME} in \
+       *_darwin_*) \
+           ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}';; \
+       *) \
+           ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG}';; \
+       esac
 
 libsys.a: ${OBJECTS} ${RMTOBJS} afsl.exp AFS_component_version_number.o
        -$(RM) -f $@
        $(AR) crv $@ ${OBJECTS} ${RMTOBJS} \
                AFS_component_version_number.o ${LIBSYS_AIX_EXP}
        $(RANLIB) $@
-       case "${SYS_NAME}" in                           \
+       @set -x; case "${SYS_NAME}" in                          \
                rs_aix*)                                \
                        $(AR) crv $@ afsl.exp;;         \
        esac
 
 ${LIBAFSSETPAG}: ${SHLIBOBJS}
-       case ${SYS_NAME} in \
+       @set -x; case ${SYS_NAME} in \
        *_linux*) \
            ${SHLIB_LINKER} -Wl,-h,libafssetpag.so.${LIBAFSSETPAGMAJOR} \
                -o ${LIBAFSSETPAG} -Wl,--version-script=${srcdir}/mapfile \
@@ -66,10 +72,13 @@ ${LIBAFSSETPAG}: ${SHLIBOBJS}
            ${SHLIB_LINKER} -o ${LIBAFSSETPAG} ${SHLIBOBJS};; \
        esac
 
+${LIBAFSSETPAG_DARWIN}: ${SHLIBOBJS}
+       ${SHLIB_LINKER} -o ${LIBAFSSETPAG_DARWIN} ${ARCHFLAGS} -install_name ${libdir}/${LIBAFSSETPAG_DARWIN} -compatibility_version ${LIBAFSSETPAGMAJOR} -current_version ${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR} ${SHLIBOBJS}
+
 tests: pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
 
 syscall.o: syscall.s
-       case "$(SYS_NAME)" in \
+       @set -x; case "$(SYS_NAME)" in \
         sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53  | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sun4x_5?? | sunx86_5? | sunx86_5?? ) \
                /usr/ccs/lib/cpp -P ${SFLAGS} ${srcdir}/syscall.s syscall.ss; \
                as -o syscall.o syscall.ss;             \
@@ -171,7 +180,7 @@ fixit:      fixit.c AFS_component_version_number.c
 
 
 xfsinode: xfsinode.c  AFS_component_version_number.c
-       case "${SYS_NAME}" in \
+       @set -x; case "${SYS_NAME}" in \
                sgi_62 | sgi_64 ) \
                $(CC) -o xfsinode ${CFLAGS} ${srcdir}/xfsinode.c ${LIBS}
        esac
@@ -180,10 +189,15 @@ ${TOP_LIBDIR}/${LIBAFSSETPAG}: ${LIBAFSSETPAG}
        ${INSTALL} ${LIBAFSSETPAG} ${TOP_LIBDIR}/${LIBAFSSETPAG}
        -ln -f -s ${LIBAFSSETPAG} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}
        -ln -f -s ${LIBAFSSETPAG} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}
+
+${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}: ${LIBAFSSETPAG_DARWIN}
+       ${INSTALL} ${LIBAFSSETPAG_DARWIN} ${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}
+       -ln -f -s ${LIBAFSSETPAG_DARWIN} ${TOP_LIBDIR}/libafssetpag.${SHLIB_SUFFIX}
+       -ln -f -s ${LIBAFSSETPAG_DARWIN} ${TOP_LIBDIR}/libafssetpag.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}.${SHLIB_SUFFIX}
  
 
 afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
-       case ${SYS_NAME} in \
+       @set -x; case ${SYS_NAME} in \
                rs_aix5* ) \
                        cp -p ${srcdir}/afs5.exp afs.exp ;; \
                rs_aix* ) \
@@ -193,7 +207,7 @@ afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
        esac
 
 afsl.exp: ${srcdir}/afsl4.exp ${srcdir}/afsl5.exp
-       case ${SYS_NAME} in \
+       @set -x; case ${SYS_NAME} in \
                rs_aix5* ) \
                        cp -p ${srcdir}/afsl5.exp afsl.exp ;; \
                rs_aix* ) \
@@ -210,13 +224,13 @@ ${TOP_INCDIR}/afs/afssyscalls.h: afssyscalls.h
        ${INSTALL} $? $@
 
 ${TOP_INCDIR}/afs/afs.exp: afs.exp
-       case ${SYS_NAME} in \
+       @set -x; case ${SYS_NAME} in \
                rs_aix* ) \
                        ${INSTALL} $? $@ ;; \
        esac
 
 ${TOP_LIBDIR}/afs.exp: afs.exp
-       case ${SYS_NAME} in \
+       @set -x; case ${SYS_NAME} in \
                rs_aix* ) \
                        ${INSTALL} $? $@ ;; \
        esac
@@ -231,7 +245,7 @@ ${UKERNELDIR}/afs:
        mkdir -p $@
 
 ${UKERNELDIR}/afs/afsl.exp: afsl.exp
-       case ${SYS_NAME} in \
+       @set -x; case ${SYS_NAME} in \
                rs_aix* ) \
                        ${INSTALL} $? $@ ;; \
        esac
@@ -250,14 +264,19 @@ depinstall: \
        ${UKERNELDIR}/afs/afsl.exp
 
 install: \
-       ${DESTDIR}${libdir}/afs/libsys.a \
-       ${DESTDIR}${libdir}/${LIBAFSSETPAG} \
-       ${DESTDIR}${sbindir}/rmtsysd \
-       ${DESTDIR}${includedir}/afs/afssyscalls.h \
-       ${DESTDIR}${bindir}/pagsh \
-       ${DESTDIR}${bindir}/pagsh.krb \
-       ${DESTDIR}${includedir}/afs/afs.exp \
-       ${DESTDIR}${includedir}/afs/xfsattrs.h
+    ${DESTDIR}${libdir}/afs/libsys.a \
+    ${DESTDIR}${sbindir}/rmtsysd \
+    ${DESTDIR}${includedir}/afs/afssyscalls.h \
+    ${DESTDIR}${bindir}/pagsh \
+    ${DESTDIR}${bindir}/pagsh.krb \
+    ${DESTDIR}${includedir}/afs/afs.exp \
+    ${DESTDIR}${includedir}/afs/xfsattrs.h
+       @set -x; case ${SYS_NAME} in \
+       *_darwin_*) \
+           ${MAKE} '${DESTDIR}${libdir}/${LIBAFSSETPAG_DARWIN}';; \
+       *) \
+           ${MAKE} '${DESTDIR}${libdir}/${LIBAFSSETPAG}';; \
+       esac
 
 ${DESTDIR}${libdir}/afs/libsys.a: libsys.a
        ${INSTALL} $? $@
@@ -269,6 +288,13 @@ ${DESTDIR}${libdir}/${LIBAFSSETPAG}: ${LIBAFSSETPAG}
        -ln -f -s ${LIBAFSSETPAG} \
            ${DESTDIR}${libdir}/libafssetpag.${SHLIB_SUFFIX}.${LIBAFSSETPAGMAJOR}
 
+${DESTDIR}${libdir}/${LIBAFSSETPAG_DARWIN}: ${LIBAFSSETPAG_DARWIN}
+       ${INSTALL} ${LIBAFSSETPAG_DARWIN} ${DESTDIR}${libdir}/${LIBAFSSETPAG_DARWIN}
+       -ln -f -s ${LIBAFSSETPAG_DARWIN} \
+               ${DESTDIR}${libdir}/libafssetpag.${SHLIB_SUFFIX} ; \
+       -ln -f -s ${LIBAFSSETPAG_DARWIN} \
+               ${DESTDIR}${libdir}/libafssetpag.${LIBAFSSETPAGMAJOR}.${LIBAFSSETPAGMINOR}.${SHLIB_SUFFIX} ;; \
+
 ${DESTDIR}${sbindir}/rmtsysd: rmtsysd
        ${INSTALL} -s $? $@
 
@@ -282,7 +308,7 @@ ${DESTDIR}${bindir}/pagsh.krb: pagsh.krb
        ${INSTALL} -s $? $@
 
 ${DESTDIR}${includedir}/afs/afs.exp: afs.exp
-       case ${SYS_NAME} in \
+       @set -x; case ${SYS_NAME} in \
                rs_aix* ) \
                        ${INSTALL} $? $@ ;; \
        esac
@@ -291,20 +317,25 @@ ${DESTDIR}${includedir}/afs/xfsattrs.h: xfsattrs.h
        ${INSTALL} $? $@
 
 dest: \
-       ${DEST}/lib/afs/libsys.a \
-       ${TOP_LIBDIR}/${LIBAFSSETPAG} \
-       ${DEST}/etc/rmtsysd \
-       ${DEST}/bin/pagsh \
-       ${DEST}/bin/pagsh.krb \
-       ${DEST}/include/afs/afssyscalls.h \
-       ${DEST}/include/afs/afs.exp \
-       ${DEST}/include/afs/xfsattrs.h
+    ${DEST}/lib/afs/libsys.a \
+    ${DEST}/etc/rmtsysd \
+    ${DEST}/bin/pagsh \
+    ${DEST}/bin/pagsh.krb \
+    ${DEST}/include/afs/afssyscalls.h \
+    ${DEST}/include/afs/afs.exp \
+    ${DEST}/include/afs/xfsattrs.h
+       @set -x; case ${SYS_NAME} in \
+       *_darwin_*) \
+           ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG_DARWIN}';; \
+       *) \
+           ${MAKE} '${TOP_LIBDIR}/${LIBAFSSETPAG}';; \
+       esac
 
 ${DEST}/lib/afs/libsys.a: libsys.a
        ${INSTALL} $? $@
 
 ${DEST}/include/afs/afs.exp: afs.exp
-       case ${SYS_NAME} in \
+       @set -x; case ${SYS_NAME} in \
                rs_aix* ) \
                        ${INSTALL} $? $@ ;; \
        esac
index 0154064dfe3139569cae2b318d3d6763098882ab..590413b8a23d059c617c1c5612e2c6d5d3cb5b36 100644 (file)
@@ -3,8 +3,8 @@ include @TOP_OBJDIR@/src/config/Makefile.config
 
 SHELL          = /bin/sh
 
-CFLAGS         = ${DBG} ${OPTMZ} -I. -I${srcdir} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
-LDFLAGS=${XLDFLAGS}
+CFLAGS         = ${DBG} ${OPTMZ} -I. -I${srcdir} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
+LDFLAGS=${XLDFLAGS} ${ARCHFLAGS}
 
 INCDIRS=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR}/afs -I${TOP_INCDIR}
 INCLIBS=-L${SRCDIR}/lib/afs -L${TOP_LIBDIR}
index 18cdd22ecd3a220d70e20dc7f570924fb50bfc88..dc55844ec0e71cb98ab6faebbf47b5edc5bc2429 100644 (file)
@@ -9,7 +9,7 @@ srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
 
-CFLAGS=${OPTIMIZE} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
+CFLAGS=${OPTIMIZE} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
 AFSLIBS =  ${TOP_LIBDIR}/libkauth.a ${TOP_LIBDIR}/libprot.a \
           ${TOP_LIBDIR}/libubik.a ${TOP_LIBDIR}/libauth.a \
           ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libsys.a \
index f667e4ae73e9225fcddd8e76b89e51a1ca664787..caf84aa4917d0575992cedebb11e969b440a97b4 100644 (file)
@@ -276,7 +276,7 @@ uphys_setlabel(register struct ubik_dbase *adbase, afs_int32 afile,
     thdr.version.epoch = htonl(aversion->epoch);
     thdr.version.counter = htonl(aversion->counter);
     thdr.magic = htonl(UBIK_MAGIC);
-    thdr.size = htonl(HDRSIZE);
+    thdr.size = htons(HDRSIZE);
     code = write(fd, &thdr, sizeof(thdr));
     fsync(fd);                 /* preserve over crash */
     uphys_close(fd);
index f9852fed88642ef953c7e8ac453ee7aa92b8787a..97a176c6b1997b8dece065f287e3d55c7530392f 100644 (file)
@@ -10,7 +10,7 @@ include @TOP_OBJDIR@/src/config/Makefile.config
 
 
 
-CFLAGS=-I. -I${srcdir} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
+CFLAGS=-I. -I${srcdir} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS}
 
 all: ${TOP_LIBDIR}/libusd.a ${TOP_INCDIR}/afs/usd.h
 
index 65bba7eed93e4c7b17be1fc751d9fdec3f3ad6b1..b58cadc18324f7cb4f657fea2e2806f67ffb102e 100644 (file)
@@ -10,7 +10,7 @@ include @TOP_OBJDIR@/src/config/Makefile.config
 
 
 INCDIRS= -I${DESTDIR}/include  -I..
-CFLAGS = $(DBUG) -I${SRCDIR}/include ${INCDIRS} ${XCFLAGS}
+CFLAGS = $(DBUG) -I${SRCDIR}/include ${INCDIRS} ${XCFLAGS} ${ARCHFLAGS}
 LIBUSD=DEST/lib/afs/libusd.a
 
 #####################################################################
index ad48e0895e120207285efbbaf552c4070833e30b..ab2c10e6fd1f62c95c6132130eff9672a15cbc6d 100644 (file)
@@ -13,7 +13,7 @@ include @TOP_OBJDIR@/src/config/Makefile.config
 all: uss
 
 CFLAGS=-I. -I${srcdir} ${DBUG} -I${TOP_OBJDIR}/src/config \
-       -I${TOP_INCDIR} -I. ${XCFLAGS}
+       -I${TOP_INCDIR} -I. ${XCFLAGS} ${ARCHFLAGS}
 
 #
 # Build targets
index aeb1d61d83d71e7fd7037d0ba5daf7182370feab..167db1ee7383959d4bc1545b1c108c59d6ea91c6 100644 (file)
@@ -27,5 +27,6 @@ libutil_a_SOURCES =   \
        flipbase64.c    \
        afs_atomlist.c  \
        afs_lhash.c     \
-       snprintf.c
+       snprintf.c      \
+       fstab.c
 
index 22c6228e2cde25bcf5e7cdb9a292470582490c21..7b8c36e3ea9f7e6bee6a12d09981fcc5fd5a5e95 100644 (file)
@@ -12,7 +12,7 @@ HELPER_SPLINT=@HELPER_SPLINT@
 
 objects = assert.o base64.o casestrcpy.o ktime.o volparse.o hostparse.o \
         hputil.o kreltime.o isathing.o get_krbrlm.o uuid.o serverLog.o \
-        dirpath.o fileutil.o netutils.o flipbase64.o \
+        dirpath.o fileutil.o netutils.o flipbase64.o fstab.o \
         afs_atomlist.o afs_lhash.o snprintf.o strlcat.o strlcpy.o \
         daemon.o rxkstats.o ${REGEX_OBJ}
 
@@ -80,6 +80,9 @@ volparse.o: ${srcdir}/volparse.c ${includes}
 snprintf.o: ${srcdir}/snprintf.c ${includes}
        ${CCOBJ} ${CFLAGS} -c ${srcdir}/snprintf.c
 
+fstab.o: ${srcdir}/fstab.c ${includes}
+       ${CCOBJ} ${CFLAGS} -c ${srcdir}/fstab.c
+
 base64.o: ${srcdir}/base64.c ${includes}
        ${CCOBJ} ${CFLAGS} -c ${srcdir}/base64.c
 
@@ -389,4 +392,4 @@ check-splint:
            assert.c base64.c casestrcpy.c ktime.c volparse.c hostparse.c \
            hputil.c kreltime.c isathing.c get_krbrlm.c uuid.c serverLog.c \
            dirpath.c fileutil.c netutils.c flipbase64.c \
-           afs_atomlist.c afs_lhash.c snprintf.c
+           afs_atomlist.c afs_lhash.c snprintf.c fstab.c
diff --git a/src/util/fstab.c b/src/util/fstab.c
new file mode 100644 (file)
index 0000000..6b6a67c
--- /dev/null
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ * 
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
+ * 
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
+ * 
+ * @APPLE_LICENSE_HEADER_END@
+ */
+/*
+ * Copyright (c) 1980, 1988, 1993
+ *     The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <afs/param.h>
+
+#if defined(AFS_DARWIN_ENV)
+/*-----------------------------------------------------------------------
+ * This version of fstab.c is intended to be used on Darwin systems to
+ * replace getfsent() and family.  It has been modified so that rather
+ * than read /etc/fstab, it calls getfsstat() to get the real list of
+ * mounted volumes.
+ *-----------------------------------------------------------------------*/
+
+#include <errno.h>
+#include <fstab.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sys/param.h>
+#include <sys/ucred.h>
+#include <sys/mount.h>
+
+#define        STDERR_FILENO   2
+
+static struct fstab _fs_fstab;
+static struct statfs *_fs_buf;
+static struct statfs *_fs_ptr;
+static int _fs_count;
+
+static error __P((int));
+static fstabscan __P((void));
+
+static
+fstabscan()
+{
+    if (_fs_count <= 0)
+       return (0);
+    _fs_fstab.fs_spec = _fs_ptr->f_mntfromname;
+    _fs_fstab.fs_file = _fs_ptr->f_mntonname;
+    _fs_fstab.fs_vfstype = _fs_ptr->f_fstypename;
+    _fs_fstab.fs_mntops = _fs_ptr->f_fstypename;       // no mount options given
+    _fs_fstab.fs_type = (_fs_ptr->f_flags & MNT_RDONLY) ? FSTAB_RO : FSTAB_RW;
+    _fs_fstab.fs_freq = 0;
+    _fs_fstab.fs_passno = 0;
+
+    _fs_ptr++;
+    _fs_count--;
+    return (1);
+}
+
+struct fstab *
+getfsent()
+{
+    if (!_fs_buf && !setfsent() || !fstabscan())
+       return ((struct fstab *)NULL);
+    return (&_fs_fstab);
+}
+
+struct fstab *
+getfsspec(name)
+     register const char *name;
+{
+    if (setfsent())
+       while (fstabscan())
+           if (!strcmp(_fs_fstab.fs_spec, name))
+               return (&_fs_fstab);
+    return ((struct fstab *)NULL);
+}
+
+struct fstab *
+getfsfile(name)
+     register const char *name;
+{
+    if (setfsent())
+       while (fstabscan())
+           if (!strcmp(_fs_fstab.fs_file, name))
+               return (&_fs_fstab);
+    return ((struct fstab *)NULL);
+}
+
+setfsent()
+{
+    long bufsize;
+
+    if (_fs_buf) {
+       free(_fs_buf);
+       _fs_buf = NULL;
+    }
+    if ((_fs_count = getfsstat(NULL, 0, MNT_WAIT)) < 0) {
+       error(errno);
+       return (0);
+    }
+    bufsize = (long)_fs_count *sizeof(struct statfs);
+    if ((_fs_buf = malloc(bufsize)) == NULL) {
+       error(errno);
+       return (0);
+    }
+    if (getfsstat(_fs_buf, bufsize, MNT_WAIT) < 0) {
+       error(errno);
+       return (0);
+    }
+    _fs_ptr = _fs_buf;
+    return (1);
+}
+
+void
+endfsent()
+{
+    if (_fs_buf) {
+       free(_fs_buf);
+       _fs_buf = NULL;
+    }
+    _fs_count = 0;
+}
+
+static
+error(err)
+     int err;
+{
+    char *p;
+
+    (void)write(STDERR_FILENO, "fstab: ", 7);
+    (void)write(STDERR_FILENO, _PATH_FSTAB, sizeof(_PATH_FSTAB) - 1);
+    (void)write(STDERR_FILENO, ": ", 1);
+    p = strerror(err);
+    (void)write(STDERR_FILENO, p, strlen(p));
+    (void)write(STDERR_FILENO, "\n", 1);
+}
+#endif /* defined(AFS_DARWIN_ENV) */
index f99bfd508b3c618ca1ecfc761f03db7e3f2f57fb..f8232d0543e9eadb84856e34c4e591fc1bcdac17 100644 (file)
@@ -9,7 +9,7 @@ srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
 
-CFLAGS = -I. -I.. -I${SRCDIR}/include ${XCFLAGS} ${DBG}
+CFLAGS = -I. -I.. -I${SRCDIR}/include ${XCFLAGS} ${ARCHFLAGS} ${DBG}
 
 tests: test_ktime ktest dirpath_test
 
index d2ad64b4e893190e8aea13066068ee12c28a3624..fb61ccfd223fb04b3d66c9030ad95d16c7ec08fe 100644 (file)
@@ -166,7 +166,7 @@ kdump: kdump.o
                                        -o kdump.$$IP kdump.$$IP.o \
                                        ${TOP_LIBDIR}/libcmd64.a -lelf \
                                ;; \
-                       *)      ${CC} ${XCFLAGS} \
+                       *)      ${CC} ${XCFLAGS} ${ARCHFLAGS} \
                                        $$CPU_KDEFS \
                                        -o kdump.$$IP kdump.$$IP.o \
                                        ${TOP_LIBDIR}/libcmd.a -lelf \
@@ -220,7 +220,7 @@ kdump.o: kdump.c ${INCLS} AFS_component_version_number.c
                                                ${KERN_DBG} ${KERN_OPTMZ} -I${TOP_INCDIR} \
                                                -I${TOP_OBJDIR}/src/config \
                                                $$CPU_KDEFS \
-                                               ${XCFLAGS} -DAFS_32BIT_KERNEL_ENV \
+                                               ${XCFLAGS} ${ARCHFLAGS} -DAFS_32BIT_KERNEL_ENV \
                                                -c ${srcdir}/kdump.c -o kdump.$$IP.o \
                                        ;; \
                                esac || exit $$?; \
@@ -230,7 +230,7 @@ kdump.o: kdump.c ${INCLS} AFS_component_version_number.c
                        touch kdump.o ;; \
                *) \
                        ${CC} ${KERN_DBG} ${KERN_OPTMZ} -I${TOP_SRCDIR} -I${TOP_INCDIR}/afs \
-                       -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src -I${TOP_INCDIR} ${XCFLAGS} \
+                       -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS} \
                        -o kdump.o -c ${srcdir}/kdump.c ;; \
        esac ;
 
@@ -250,7 +250,7 @@ kdump-linux-@LINUX_VERSION@.o: kdump.c ${INCLS} AFS_component_version_number.c
                -I${TOP_OBJDIR}/src/afs/${MKAFS_OSTYPE} \
                -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src/libafs/afs \
                -I${TOP_SRCDIR} -I${TOP_SRCDIR}/afs/${MKAFS_OSTYPE} \
-               -I${TOP_INCDIR} ${XCFLAGS} -o kdump-linux-${LINUX_VERSION}.o \
+               -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS} -o kdump-linux-${LINUX_VERSION}.o \
                -c ${srcdir}/kdump.c
 
 kdump-linux-@LINUX_VERSION@: kdump-linux-@LINUX_VERSION@.o
@@ -264,7 +264,7 @@ kdump-alpha_linux-@LINUX_VERSION@.o: kdump.c ${INCLS} AFS_component_version_numb
                -I${TOP_OBJDIR}/src/afs/${MKAFS_OSTYPE} \
                -I${TOP_OBJDIR}/src/config -I${TOP_OBJDIR}/src/libafs/afs \
                -I${TOP_SRCDIR} -I${TOP_SRCDIR}/afs/${MKAFS_OSTYPE} \
-               -I${TOP_INCDIR} ${XCFLAGS} -mno-fp-regs -ffixed-8 \
+               -I${TOP_INCDIR} ${XCFLAGS} ${ARCHFLAGS} -mno-fp-regs -ffixed-8 \
                -o kdump-alpha_linux-${LINUX_VERSION}.o -c ${srcdir}/kdump.c ;; \
 
 kdump-alpha_linux-@LINUX_VERSION@: kdump-alpha_linux-@LINUX_VERSION@.o
index d1c2c044c9ab14a695a33057973ac9e6621227fd..3ab82d37472adbfa47072b450e48133befb6fdd9 100644 (file)
@@ -13,7 +13,7 @@ INCDIRS= -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} -I..
 LDIRS= -L${TOP_LIBDIR} -L..
 LIBS= -lsys -lubik -lvldb -lauth -lrxkad -ldes -lcom_err -lcmd -lrx -llwp -lafsutil
 
-CFLAGS = ${OPTIMIZE} ${INCDIRS} ${XCFLAGS}
+CFLAGS = ${OPTIMIZE} ${INCDIRS} ${XCFLAGS} ${ARCHFLAGS}
 
 all test:  fulltest owntest idtest getinitparams
 
index 0dc51cb968c6890af41651bd3bfdbb6b0b34c544..0adcf62052e65d0848a77abd7c75314adca4a75a 100644 (file)
@@ -19,7 +19,7 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
-CFLAGS=${COMMON_CFLAGS} ${XCFLAGS} ${VFSCK_CFLAGS}
+CFLAGS=${COMMON_CFLAGS} ${XCFLAGS} ${ARCHFLAGS} ${VFSCK_CFLAGS}
 
 SRCS= dir.c inode.c main.c pass1.c pass1b.c pass2.c pass3.c \
        pass4.c pass5.c setup.c utilities.c ufs_subr.c \
index e37ac713539bef141c768aefb6963af6f3801903..1b7d23f597ead4cdce4c4cccdaa780df6d58ba7b 100644 (file)
@@ -14,9 +14,9 @@ HELPER_SPLINT=@HELPER_SPLINT@
 
 CFLAGS=${DBG} ${OPTMZ} -I${TOP_OBJDIR}/src/config -I. -I${TOP_INCDIR} \
        -I${TOP_INCDIR}/afs -I${TOP_OBJDIR} -I${TOP_OBJDIR}/fsint\
-        ${XCFLAGS} -DRXDEBUG -DNINTERFACE
+        ${XCFLAGS} ${ARCHFLAGS} -DRXDEBUG -DNINTERFACE
 
-LDFLAGS = ${DBUG} ${XLDFLAGS}
+LDFLAGS = ${DBUG} ${XLDFLAGS} ${ARCHFLAGS}
 
 LIBS=${TOP_LIBDIR}/libacl.a    \
        ${TOP_LIBDIR}/libvldb.a \
index c774d758ef4353badfdeba8b05046d3cf4f8ab0d..114a3049971b6fda9258448b985054756af2a9ea 100644 (file)
@@ -16,14 +16,14 @@ LIBS=${TOP_LIBDIR}/libcmd.a vlib.a ${TOP_LIBDIR}/util.a \
        ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libdir.a \
        ${TOP_LIBDIR}/liblwp.a  ${TOP_LIBDIR}/libacl.a
 
-CFLAGS = ${COMMON_CFLAGS} -D${SYS_NAME} ${FSINCLUDES} ${XCFLAGS}
+CFLAGS = ${COMMON_CFLAGS} -D${SYS_NAME} ${FSINCLUDES} ${XCFLAGS} ${ARCHFLAGS}
 
 PUBLICHEADERS=nfs.h vnode.h viceinode.h volume.h voldefs.h partition.h\
        fssync.h ihandle.h namei_ops.h
 
 VLIBOBJS=vnode.o volume.o vutil.o partition.o fssync.o purge.o \
         clone.o nuke.o devname.o listinodes.o common.o ihandle.o \
-        namei_ops.o fstab.o
+        namei_ops.o
 
 OBJECTS=${VLIBOBJS} physio.o vol-salvage.o vol-info.o vol-dump.o vol-bless.o
 
@@ -163,9 +163,9 @@ gi: ${TOP_LIBDIR}/libsys.a
                        ${CC} ${LDFLAGS} -o gi gi.o ${TOP_LIBDIR}/libsys.a;; \
         esac
 
-volinfo: vol-info.o physio.o ihandle.o fstab.o ${LIBS}
+volinfo: vol-info.o physio.o ihandle.o ${LIBS}
        ${CC} ${CFLAGS} -o volinfo vol-info.o physio.o \
-               ihandle.o fstab.o ${LIBS} ${XLIBS}
+               ihandle.o ${LIBS} ${XLIBS}
 
 vol-bless: vol-bless.o physio.o ihandle.o ${LIBS}
        ${CC} ${CFLAGS} -o vol-bless vol-bless.o physio.o ${LIBS} ${XLIBS}
diff --git a/src/vol/fstab.c b/src/vol/fstab.c
deleted file mode 100644 (file)
index 6b6a67c..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
-/*
- * Copyright (c) 1980, 1988, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <afs/param.h>
-
-#if defined(AFS_DARWIN_ENV)
-/*-----------------------------------------------------------------------
- * This version of fstab.c is intended to be used on Darwin systems to
- * replace getfsent() and family.  It has been modified so that rather
- * than read /etc/fstab, it calls getfsstat() to get the real list of
- * mounted volumes.
- *-----------------------------------------------------------------------*/
-
-#include <errno.h>
-#include <fstab.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/param.h>
-#include <sys/ucred.h>
-#include <sys/mount.h>
-
-#define        STDERR_FILENO   2
-
-static struct fstab _fs_fstab;
-static struct statfs *_fs_buf;
-static struct statfs *_fs_ptr;
-static int _fs_count;
-
-static error __P((int));
-static fstabscan __P((void));
-
-static
-fstabscan()
-{
-    if (_fs_count <= 0)
-       return (0);
-    _fs_fstab.fs_spec = _fs_ptr->f_mntfromname;
-    _fs_fstab.fs_file = _fs_ptr->f_mntonname;
-    _fs_fstab.fs_vfstype = _fs_ptr->f_fstypename;
-    _fs_fstab.fs_mntops = _fs_ptr->f_fstypename;       // no mount options given
-    _fs_fstab.fs_type = (_fs_ptr->f_flags & MNT_RDONLY) ? FSTAB_RO : FSTAB_RW;
-    _fs_fstab.fs_freq = 0;
-    _fs_fstab.fs_passno = 0;
-
-    _fs_ptr++;
-    _fs_count--;
-    return (1);
-}
-
-struct fstab *
-getfsent()
-{
-    if (!_fs_buf && !setfsent() || !fstabscan())
-       return ((struct fstab *)NULL);
-    return (&_fs_fstab);
-}
-
-struct fstab *
-getfsspec(name)
-     register const char *name;
-{
-    if (setfsent())
-       while (fstabscan())
-           if (!strcmp(_fs_fstab.fs_spec, name))
-               return (&_fs_fstab);
-    return ((struct fstab *)NULL);
-}
-
-struct fstab *
-getfsfile(name)
-     register const char *name;
-{
-    if (setfsent())
-       while (fstabscan())
-           if (!strcmp(_fs_fstab.fs_file, name))
-               return (&_fs_fstab);
-    return ((struct fstab *)NULL);
-}
-
-setfsent()
-{
-    long bufsize;
-
-    if (_fs_buf) {
-       free(_fs_buf);
-       _fs_buf = NULL;
-    }
-    if ((_fs_count = getfsstat(NULL, 0, MNT_WAIT)) < 0) {
-       error(errno);
-       return (0);
-    }
-    bufsize = (long)_fs_count *sizeof(struct statfs);
-    if ((_fs_buf = malloc(bufsize)) == NULL) {
-       error(errno);
-       return (0);
-    }
-    if (getfsstat(_fs_buf, bufsize, MNT_WAIT) < 0) {
-       error(errno);
-       return (0);
-    }
-    _fs_ptr = _fs_buf;
-    return (1);
-}
-
-void
-endfsent()
-{
-    if (_fs_buf) {
-       free(_fs_buf);
-       _fs_buf = NULL;
-    }
-    _fs_count = 0;
-}
-
-static
-error(err)
-     int err;
-{
-    char *p;
-
-    (void)write(STDERR_FILENO, "fstab: ", 7);
-    (void)write(STDERR_FILENO, _PATH_FSTAB, sizeof(_PATH_FSTAB) - 1);
-    (void)write(STDERR_FILENO, ": ", 1);
-    p = strerror(err);
-    (void)write(STDERR_FILENO, p, strlen(p));
-    (void)write(STDERR_FILENO, "\n", 1);
-}
-#endif /* defined(AFS_DARWIN_ENV) */
index 9a0156bbe39519b8b7fe79e04736e75670d41fe7..37f8f157de6e7f0da7f2506429f23bc7e7470928 100644 (file)
@@ -11,7 +11,7 @@ include @TOP_OBJDIR@/src/config/Makefile.config
 
 INCDIRS=-I. -I.. -I${TOP_INCDIR} ${FSINCLUDES}
 INSTALL = ${SRCDIR}/bin/install
-LDFLAGS = ${OPTMZ} ${PROF} ${LDIRS} ${XLDFLAGS}
+LDFLAGS = ${OPTMZ} ${PROF} ${LDIRS} ${XLDFLAGS} ${ARCHFLAGS}
 
 LIBS=${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/vlib.a \
        ${TOP_LIBDIR}/util.a \
@@ -20,7 +20,7 @@ LIBS=${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/vlib.a \
 
 NAMEI_LIBS=../vlib.a ${TOP_LIBDIR}/util.a ${TOP_LIBDIR}/liblwp.a
 
-CFLAGS = -D${SYS_NAME} ${OPTMZ} ${INCDIRS} ${XCFLAGS} -g
+CFLAGS = -D${SYS_NAME} ${OPTMZ} ${INCDIRS} ${XCFLAGS} ${ARCHFLAGS} -g
 
 PROGS = listVicepx
 
index 55cc3ccfb8f0ae98a319bdaac84305568736b96e..7164906dcf9daf93a8a5eb1e2e47cbc584ceee9c 100644 (file)
@@ -1308,7 +1308,11 @@ RunTheTest(a_s)
      */
     curr_item = a_s->parms[P_CM_NAMES].items;
     for (currCM = 0; currCM < numCMs; currCM++) {
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+       CMSktArray[currCM].sin_family = AF_INET;        /*Internet family */
+#else
        CMSktArray[currCM].sin_family = htons(AF_INET); /*Internet family */
+#endif
        CMSktArray[currCM].sin_port = htons(7001);      /*Cache Manager port */
        he = hostutil_GetHostByName(curr_item->data);
        if (he == NULL) {
index 2bfac03e0812be210a38b92e3cee0b1847c2b4a5..e3e00d151d1c046156e31e9f753bfbfdb040ce50 100644 (file)
@@ -688,7 +688,11 @@ RunTheTest(struct cmd_syndesc *a_s)
      */
     curr_item = a_s->parms[P_FS_NAMES].items;
     for (currFS = 0; currFS < numFSs; currFS++) {
+#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+       FSSktArray[currFS].sin_family = AF_INET;        /*Internet family */
+#else
        FSSktArray[currFS].sin_family = htons(AF_INET); /*Internet family */
+#endif
        FSSktArray[currFS].sin_port = htons(7000);      /*FileServer port */
        he = hostutil_GetHostByName(curr_item->data);
        if (he == NULL) {