From 9f94892f8d996a522e7801ef6088a13769bee7c2 Mon Sep 17 00:00:00 2001 From: Ed Moy Date: Thu, 9 Mar 2006 06:35:14 +0000 Subject: [PATCH] darwin-x86-and-leopard-20060309 updates for darwin x86, and pre-leopard --- acinclude.m4 | 6 + src/afs/afs_util.c | 4 +- src/afs/sysctl.h | 8 + src/afsd/Makefile.in | 2 +- src/afsmonitor/afsmonitor.c | 8 + src/audit/Makefile.in | 2 +- src/auth/test/Makefile.in | 2 +- src/bozo/test/Makefile.in | 2 +- src/cf/osconf.m4 | 30 ++- src/cmd/test/Makefile.in | 2 +- src/comerr/test/Makefile.in | 2 +- src/config/Makefile.config.in | 4 +- src/config/Makefile.i386_djgpp | 2 +- src/config/Makefile.in | 2 +- src/config/afs_sysnames.h | 2 + src/config/param.ppc_darwin_80.h | 84 ++++++--- src/config/param.ppc_darwin_90.h | 184 +++++++++++++++++++ src/config/param.x86_darwin_80.h | 79 ++++++-- src/config/param.x86_darwin_90.h | 184 +++++++++++++++++++ src/des/andrew-conf.h | 2 +- src/des/conf-darwin.h | 5 + src/des/make_fp.c | 15 ++ src/des/make_ip.c | 15 ++ src/des/make_p.c | 14 ++ src/des/misc.c | 29 +++ src/des/test/Makefile.in | 4 +- src/dir/test/Makefile.in | 2 +- src/fsprobe/fsprobe_test.c | 12 ++ src/kauth/test/Makefile.in | 2 +- src/libacl/test/Makefile.in | 2 +- src/libafs/Makefile.common.in | 33 ++-- src/libafs/MakefileProto.DARWIN.in | 56 +++++- src/libafs/afs.ppc_darwin_90.plist.in | 33 ++++ src/libafs/afs.x86_darwin_90.plist.in | 33 ++++ src/libuafs/MakefileProto.DARWIN.in | 8 +- src/log/test/Makefile.in | 2 +- src/lwp/Makefile.in | 39 +++- src/lwp/lwp.c | 21 ++- src/lwp/test/Makefile.in | 2 +- src/packaging/MacOS/Makefile | 12 +- src/packaging/MacOS/OpenAFS.post_install | 4 +- src/packaging/MacOS/afssettings.m | 8 +- src/packaging/MacOS/buildpkg.sh | 301 +++++++++++++++++-------------- src/procmgmt/test/Makefile.in | 2 +- src/ptserver/ubik.c | 2 +- src/rx/Makefile.in | 2 +- src/rx/bulk.example/Makefile.in | 2 +- src/rx/bulktest/Makefile.in | 2 +- src/rx/multi.example/Makefile.in | 2 +- src/rx/simple.example/Makefile.in | 2 +- src/rx/test/Makefile.in | 2 +- src/rx/xdr.h | 3 +- src/rxdebug/Makefile.in | 2 +- src/rxkad/test/Makefile.in | 2 +- src/scout/scout.c | 4 + src/sgistuff/Makefile.in | 4 +- src/sia/Makefile.in | 2 +- src/sys/Makefile.in | 113 +++++++----- src/tests/Makefile.in | 4 +- src/tsm41/Makefile.in | 2 +- src/ubik/phys.c | 2 +- src/usd/Makefile.in | 2 +- src/usd/test/Makefile.in | 2 +- src/uss/Makefile.in | 2 +- src/util/Makefile.am | 3 +- src/util/Makefile.in | 7 +- src/util/fstab.c | 181 +++++++++++++++++++ src/util/test/Makefile.in | 2 +- src/venus/Makefile.in | 10 +- src/venus/test/Makefile.in | 2 +- src/vfsck/Makefile.in | 2 +- src/viced/Makefile.in | 4 +- src/vol/Makefile.in | 8 +- src/vol/fstab.c | 181 ------------------- src/vol/test/Makefile.in | 4 +- src/xstat/xstat_cm_test.c | 4 + src/xstat/xstat_fs_test.c | 4 + 77 files changed, 1325 insertions(+), 510 deletions(-) create mode 100644 src/config/param.ppc_darwin_90.h create mode 100644 src/config/param.x86_darwin_90.h create mode 100644 src/libafs/afs.ppc_darwin_90.plist.in create mode 100644 src/libafs/afs.x86_darwin_90.plist.in create mode 100644 src/util/fstab.c delete mode 100644 src/vol/fstab.c diff --git a/acinclude.m4 b/acinclude.m4 index 07a832c..830145f 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -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" diff --git a/src/afs/afs_util.c b/src/afs/afs_util.c index de42fbd..f0d3492 100644 --- a/src/afs/afs_util.c +++ b/src/afs/afs_util.c @@ -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); diff --git a/src/afs/sysctl.h b/src/afs/sysctl.h index 5af1e2f..720b608 100644 --- a/src/afs/sysctl.h +++ b/src/afs/sysctl.h @@ -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 @@ -57,4 +59,10 @@ /* 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 */ diff --git a/src/afsd/Makefile.in b/src/afsd/Makefile.in index 3d0c6db..2e782f2 100644 --- a/src/afsd/Makefile.in +++ b/src/afsd/Makefile.in @@ -9,7 +9,7 @@ srcdir=@srcdir@ include @TOP_OBJDIR@/src/config/Makefile.config -LDFLAGS = ${XLDFLAGS} +LDFLAGS = ${XLDFLAGS} ${ARCHFLAGS} # # What to make diff --git a/src/afsmonitor/afsmonitor.c b/src/afsmonitor/afsmonitor.c index 93f13b5..002905e 100644 --- a/src/afsmonitor/afsmonitor.c +++ b/src/afsmonitor/afsmonitor.c @@ -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); diff --git a/src/audit/Makefile.in b/src/audit/Makefile.in index 64aebe1..a435392 100644 --- a/src/audit/Makefile.in +++ b/src/audit/Makefile.in @@ -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 diff --git a/src/auth/test/Makefile.in b/src/auth/test/Makefile.in index 6214dff..6062d41 100644 --- a/src/auth/test/Makefile.in +++ b/src/auth/test/Makefile.in @@ -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 diff --git a/src/bozo/test/Makefile.in b/src/bozo/test/Makefile.in index 512e25b..1df4162 100644 --- a/src/bozo/test/Makefile.in +++ b/src/bozo/test/Makefile.in @@ -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 diff --git a/src/cf/osconf.m4 b/src/cf/osconf.m4 index 6e2a18c..9fe6161 100644 --- a/src/cf/osconf.m4 +++ b/src/cf/osconf.m4 @@ -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*) diff --git a/src/cmd/test/Makefile.in b/src/cmd/test/Makefile.in index 60b59e3..390e1ae 100644 --- a/src/cmd/test/Makefile.in +++ b/src/cmd/test/Makefile.in @@ -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 diff --git a/src/comerr/test/Makefile.in b/src/comerr/test/Makefile.in index 98a875f..ed1c18f 100644 --- a/src/comerr/test/Makefile.in +++ b/src/comerr/test/Makefile.in @@ -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 diff --git a/src/config/Makefile.config.in b/src/config/Makefile.config.in index 9c3161a..13d6e98 100644 --- a/src/config/Makefile.config.in +++ b/src/config/Makefile.config.in @@ -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 $< diff --git a/src/config/Makefile.i386_djgpp b/src/config/Makefile.i386_djgpp index c89cd0c..01e2a63 100644 --- a/src/config/Makefile.i386_djgpp +++ b/src/config/Makefile.i386_djgpp @@ -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 diff --git a/src/config/Makefile.in b/src/config/Makefile.in index d973646..aea7555 100644 --- a/src/config/Makefile.in +++ b/src/config/Makefile.in @@ -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) $? $@ diff --git a/src/config/afs_sysnames.h b/src/config/afs_sysnames.h index a899ce5..afb6f15 100644 --- a/src/config/afs_sysnames.h +++ b/src/config/afs_sysnames.h @@ -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 diff --git a/src/config/param.ppc_darwin_80.h b/src/config/param.ppc_darwin_80.h index b08ddd9..4475082 100644 --- a/src/config/param.ppc_darwin_80.h +++ b/src/config/param.ppc_darwin_80.h @@ -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 @@ -29,15 +35,29 @@ #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 @@ -83,7 +103,13 @@ #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 #define AFS_USERSPACE_ENV @@ -101,15 +127,29 @@ #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 index 0000000..ac74560 --- /dev/null +++ b/src/config/param.ppc_darwin_90.h @@ -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 + +#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 +#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 +#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) */ diff --git a/src/config/param.x86_darwin_80.h b/src/config/param.x86_darwin_80.h index e969781..f099a51 100644 --- a/src/config/param.x86_darwin_80.h +++ b/src/config/param.x86_darwin_80.h @@ -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 @@ -27,15 +34,29 @@ #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 @@ -81,7 +102,13 @@ #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 #define AFS_USERSPACE_ENV @@ -99,15 +126,29 @@ #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 index 0000000..ac74560 --- /dev/null +++ b/src/config/param.x86_darwin_90.h @@ -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 + +#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 +#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 +#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) */ diff --git a/src/des/andrew-conf.h b/src/des/andrew-conf.h index cad29fd..f9e5bfd 100644 --- a/src/des/andrew-conf.h +++ b/src/des/andrew-conf.h @@ -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 diff --git a/src/des/conf-darwin.h b/src/des/conf-darwin.h index 592e6b0..2bf8e1f 100644 --- a/src/des/conf-darwin.h +++ b/src/des/conf-darwin.h @@ -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 */ diff --git a/src/des/make_fp.c b/src/des/make_fp.c index 80789ae..7c9b32d 100644 --- a/src/des/make_fp.c +++ b/src/des/make_fp.c @@ -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 */ } diff --git a/src/des/make_ip.c b/src/des/make_ip.c index 69b4be8..3b9624c 100644 --- a/src/des/make_ip.c +++ b/src/des/make_ip.c @@ -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); } diff --git a/src/des/make_p.c b/src/des/make_p.c index e9c22f4..9764571 100644 --- a/src/des/make_p.c +++ b/src/des/make_p.c @@ -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 */ } diff --git a/src/des/misc.c b/src/des/misc.c index 79cff6d..26ccab6 100644 --- a/src/des/misc.c +++ b/src/des/misc.c @@ -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) diff --git a/src/des/test/Makefile.in b/src/des/test/Makefile.in index ca9996a..a2b9caa 100644 --- a/src/des/test/Makefile.in +++ b/src/des/test/Makefile.in @@ -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 \ diff --git a/src/dir/test/Makefile.in b/src/dir/test/Makefile.in index 6ff6c09..98b1d20 100644 --- a/src/dir/test/Makefile.in +++ b/src/dir/test/Makefile.in @@ -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 diff --git a/src/fsprobe/fsprobe_test.c b/src/fsprobe/fsprobe_test.c index b2db51f..bff804d 100644 --- a/src/fsprobe/fsprobe_test.c +++ b/src/fsprobe/fsprobe_test.c @@ -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) { diff --git a/src/kauth/test/Makefile.in b/src/kauth/test/Makefile.in index 3cb6ac0..e48c58b 100644 --- a/src/kauth/test/Makefile.in +++ b/src/kauth/test/Makefile.in @@ -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. diff --git a/src/libacl/test/Makefile.in b/src/libacl/test/Makefile.in index 1c08fb3..44a2338 100644 --- a/src/libacl/test/Makefile.in +++ b/src/libacl/test/Makefile.in @@ -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 diff --git a/src/libafs/Makefile.common.in b/src/libafs/Makefile.common.in index c9e5dff..25606cf 100644 --- a/src/libafs/Makefile.common.in +++ b/src/libafs/Makefile.common.in @@ -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 diff --git a/src/libafs/MakefileProto.DARWIN.in b/src/libafs/MakefileProto.DARWIN.in index 456f4e2..41a4c64 100644 --- a/src/libafs/MakefileProto.DARWIN.in +++ b/src/libafs/MakefileProto.DARWIN.in @@ -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 - -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) - -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) - + +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 + MODLD=$(LD) +CFLAGS=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS) KOPTS=-static -fno-common -finline -fno-keep-inline-functions -force_cpusubtype_ALL -msoft-float -mlong-branch @@ -48,7 +69,6 @@ KOPTS=-no-cpp-precomp -static -fno-common -finline -fno-keep-inline-functions -f KOPTS=-no-precomp -static -fno-common -finline -fno-keep-inline-functions -force_cpusubtype_ALL -msoft-float -mlong-branch -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 + +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 + + 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 index 0000000..12797cd --- /dev/null +++ b/src/libafs/afs.ppc_darwin_90.plist.in @@ -0,0 +1,33 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + afs + CFBundleIdentifier + org.openafs.filesystems.afs + CFBundleInfoDictionaryVersion + 8.0 + CFBundleName + afs + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.4.0 + CFBundleSignature + ???? + CFBundleVersion + 1.4.0 + OSBundleLibraries + + com.apple.kpi.bsd + 8.0.0 + com.apple.kpi.mach + 8.0.0 + com.apple.kpi.libkern + 8.0 + + + diff --git a/src/libafs/afs.x86_darwin_90.plist.in b/src/libafs/afs.x86_darwin_90.plist.in new file mode 100644 index 0000000..0893858 --- /dev/null +++ b/src/libafs/afs.x86_darwin_90.plist.in @@ -0,0 +1,33 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + afs + CFBundleIdentifier + org.openafs.filesystems.afs + CFBundleInfoDictionaryVersion + 8.0 + CFBundleName + afs + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.3.82 + CFBundleSignature + ???? + CFBundleVersion + 1.3.82 + OSBundleLibraries + + com.apple.kpi.bsd + 8.0.0 + com.apple.kpi.mach + 8.0.0 + com.apple.kpi.libkern + 8.0 + + + diff --git a/src/libuafs/MakefileProto.DARWIN.in b/src/libuafs/MakefileProto.DARWIN.in index 5f79c1f..769dffa 100644 --- a/src/libuafs/MakefileProto.DARWIN.in +++ b/src/libuafs/MakefileProto.DARWIN.in @@ -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 diff --git a/src/log/test/Makefile.in b/src/log/test/Makefile.in index b2c85d0..6587175 100644 --- a/src/log/test/Makefile.in +++ b/src/log/test/Makefile.in @@ -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 diff --git a/src/lwp/Makefile.in b/src/lwp/Makefile.in index 4dfd828..b70a678 100644 --- a/src/lwp/Makefile.in +++ b/src/lwp/Makefile.in @@ -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 ; \ diff --git a/src/lwp/lwp.c b/src/lwp/lwp.c index 59b87bc..de77680 100644 --- a/src/lwp/lwp.c +++ b/src/lwp/lwp.c @@ -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 diff --git a/src/lwp/test/Makefile.in b/src/lwp/test/Makefile.in index ac17da9..2a474d9 100644 --- a/src/lwp/test/Makefile.in +++ b/src/lwp/test/Makefile.in @@ -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 diff --git a/src/packaging/MacOS/Makefile b/src/packaging/MacOS/Makefile index 42cf315..e4e3a0d 100644 --- a/src/packaging/MacOS/Makefile +++ b/src/packaging/MacOS/Makefile @@ -19,15 +19,19 @@ # # @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 , 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) diff --git a/src/packaging/MacOS/OpenAFS.post_install b/src/packaging/MacOS/OpenAFS.post_install index 820f334..a7c42f9 100644 --- a/src/packaging/MacOS/OpenAFS.post_install +++ b/src/packaging/MacOS/OpenAFS.post_install @@ -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 diff --git a/src/packaging/MacOS/afssettings.m b/src/packaging/MacOS/afssettings.m index c1e647a..f6f1088 100644 --- a/src/packaging/MacOS/afssettings.m +++ b/src/packaging/MacOS/afssettings.m @@ -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; diff --git a/src/packaging/MacOS/buildpkg.sh b/src/packaging/MacOS/buildpkg.sh index 40aed38..788229e 100644 --- a/src/packaging/MacOS/buildpkg.sh +++ b/src/packaging/MacOS/buildpkg.sh @@ -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 diff --git a/src/procmgmt/test/Makefile.in b/src/procmgmt/test/Makefile.in index 3597164..99295ea 100644 --- a/src/procmgmt/test/Makefile.in +++ b/src/procmgmt/test/Makefile.in @@ -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 diff --git a/src/ptserver/ubik.c b/src/ptserver/ubik.c index 0706b8f..1739c94 100644 --- a/src/ptserver/ubik.c +++ b/src/ptserver/ubik.c @@ -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); diff --git a/src/rx/Makefile.in b/src/rx/Makefile.in index e1988fd..9b67145 100644 --- a/src/rx/Makefile.in +++ b/src/rx/Makefile.in @@ -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). diff --git a/src/rx/bulk.example/Makefile.in b/src/rx/bulk.example/Makefile.in index 6f093b2..5b02f08 100644 --- a/src/rx/bulk.example/Makefile.in +++ b/src/rx/bulk.example/Makefile.in @@ -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 diff --git a/src/rx/bulktest/Makefile.in b/src/rx/bulktest/Makefile.in index d4f8988..0f82595 100644 --- a/src/rx/bulktest/Makefile.in +++ b/src/rx/bulktest/Makefile.in @@ -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 diff --git a/src/rx/multi.example/Makefile.in b/src/rx/multi.example/Makefile.in index cb6eef5..638f858 100644 --- a/src/rx/multi.example/Makefile.in +++ b/src/rx/multi.example/Makefile.in @@ -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 diff --git a/src/rx/simple.example/Makefile.in b/src/rx/simple.example/Makefile.in index d974c0d..f641cf8 100644 --- a/src/rx/simple.example/Makefile.in +++ b/src/rx/simple.example/Makefile.in @@ -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 diff --git a/src/rx/test/Makefile.in b/src/rx/test/Makefile.in index 98c31de..4690350 100644 --- a/src/rx/test/Makefile.in +++ b/src/rx/test/Makefile.in @@ -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 diff --git a/src/rx/xdr.h b/src/rx/xdr.h index f9b7ac2..e41a267 100644 --- a/src/rx/xdr.h +++ b/src/rx/xdr.h @@ -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 diff --git a/src/rxdebug/Makefile.in b/src/rxdebug/Makefile.in index d7391bd..0a76856 100644 --- a/src/rxdebug/Makefile.in +++ b/src/rxdebug/Makefile.in @@ -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 diff --git a/src/rxkad/test/Makefile.in b/src/rxkad/test/Makefile.in index 34e8290..a0b338d 100644 --- a/src/rxkad/test/Makefile.in +++ b/src/rxkad/test/Makefile.in @@ -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 diff --git a/src/scout/scout.c b/src/scout/scout.c index e3e675d..7b5995d 100644 --- a/src/scout/scout.c +++ b/src/scout/scout.c @@ -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 */ /* diff --git a/src/sgistuff/Makefile.in b/src/sgistuff/Makefile.in index 2f96069..b09d284 100644 --- a/src/sgistuff/Makefile.in +++ b/src/sgistuff/Makefile.in @@ -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 \ diff --git a/src/sia/Makefile.in b/src/sia/Makefile.in index d0b4c72..1d7bcfc 100644 --- a/src/sia/Makefile.in +++ b/src/sia/Makefile.in @@ -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} $? $@ diff --git a/src/sys/Makefile.in b/src/sys/Makefile.in index cbfc54a..81d7af3 100644 --- a/src/sys/Makefile.in +++ b/src/sys/Makefile.in @@ -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 diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in index 0154064..590413b 100644 --- a/src/tests/Makefile.in +++ b/src/tests/Makefile.in @@ -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} diff --git a/src/tsm41/Makefile.in b/src/tsm41/Makefile.in index 18cdd22..dc55844 100644 --- a/src/tsm41/Makefile.in +++ b/src/tsm41/Makefile.in @@ -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 \ diff --git a/src/ubik/phys.c b/src/ubik/phys.c index f667e4a..caf84aa 100644 --- a/src/ubik/phys.c +++ b/src/ubik/phys.c @@ -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); diff --git a/src/usd/Makefile.in b/src/usd/Makefile.in index f9852fe..97a176c 100644 --- a/src/usd/Makefile.in +++ b/src/usd/Makefile.in @@ -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 diff --git a/src/usd/test/Makefile.in b/src/usd/test/Makefile.in index 65bba7e..b58cadc 100644 --- a/src/usd/test/Makefile.in +++ b/src/usd/test/Makefile.in @@ -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 ##################################################################### diff --git a/src/uss/Makefile.in b/src/uss/Makefile.in index ad48e08..ab2c10e 100644 --- a/src/uss/Makefile.in +++ b/src/uss/Makefile.in @@ -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 diff --git a/src/util/Makefile.am b/src/util/Makefile.am index aeb1d61..167db1e 100644 --- a/src/util/Makefile.am +++ b/src/util/Makefile.am @@ -27,5 +27,6 @@ libutil_a_SOURCES = \ flipbase64.c \ afs_atomlist.c \ afs_lhash.c \ - snprintf.c + snprintf.c \ + fstab.c diff --git a/src/util/Makefile.in b/src/util/Makefile.in index 22c6228..7b8c36e 100644 --- a/src/util/Makefile.in +++ b/src/util/Makefile.in @@ -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 index 0000000..6b6a67c --- /dev/null +++ b/src/util/fstab.c @@ -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 + +#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 +#include +#include +#include +#include +#include +#include +#include + +#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) */ diff --git a/src/util/test/Makefile.in b/src/util/test/Makefile.in index f99bfd5..f8232d0 100644 --- a/src/util/test/Makefile.in +++ b/src/util/test/Makefile.in @@ -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 diff --git a/src/venus/Makefile.in b/src/venus/Makefile.in index d2ad64b..fb61ccf 100644 --- a/src/venus/Makefile.in +++ b/src/venus/Makefile.in @@ -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 diff --git a/src/venus/test/Makefile.in b/src/venus/test/Makefile.in index d1c2c04..3ab82d3 100644 --- a/src/venus/test/Makefile.in +++ b/src/venus/test/Makefile.in @@ -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 diff --git a/src/vfsck/Makefile.in b/src/vfsck/Makefile.in index 0dc51cb..0adcf62 100644 --- a/src/vfsck/Makefile.in +++ b/src/vfsck/Makefile.in @@ -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 \ diff --git a/src/viced/Makefile.in b/src/viced/Makefile.in index e37ac71..1b7d23f 100644 --- a/src/viced/Makefile.in +++ b/src/viced/Makefile.in @@ -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 \ diff --git a/src/vol/Makefile.in b/src/vol/Makefile.in index c774d75..114a304 100644 --- a/src/vol/Makefile.in +++ b/src/vol/Makefile.in @@ -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 index 6b6a67c..0000000 --- a/src/vol/fstab.c +++ /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 - -#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 -#include -#include -#include -#include -#include -#include -#include - -#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) */ diff --git a/src/vol/test/Makefile.in b/src/vol/test/Makefile.in index 9a0156b..37f8f15 100644 --- a/src/vol/test/Makefile.in +++ b/src/vol/test/Makefile.in @@ -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 diff --git a/src/xstat/xstat_cm_test.c b/src/xstat/xstat_cm_test.c index 55cc3cc..7164906 100644 --- a/src/xstat/xstat_cm_test.c +++ b/src/xstat/xstat_cm_test.c @@ -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) { diff --git a/src/xstat/xstat_fs_test.c b/src/xstat/xstat_fs_test.c index 2bfac03..e3e00d1 100644 --- a/src/xstat/xstat_fs_test.c +++ b/src/xstat/xstat_fs_test.c @@ -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) { -- 1.9.4