From 7fd13204a3bfa037bf83389195f2d90906f458ad Mon Sep 17 00:00:00 2001 From: Nathan Neulinger Date: Wed, 4 Apr 2001 18:08:51 +0000 Subject: [PATCH] partial-hpux-10-support-20010404 similar to HPUX 11, just make what can be compiled now compile --- src/BUILDNOTES | 6 +++ src/Makefile | 20 +++++--- src/README | 1 + src/config/Makefile.hp_ux102 | 37 ++++++++++++++ src/config/param.hp_ux102.h | 87 +++++++++++++++++++++++++++++++++ src/config/param.hp_ux102_usr.h | 64 ++++++++++++++++++++++++ 6 files changed, 208 insertions(+), 7 deletions(-) create mode 100644 src/config/Makefile.hp_ux102 create mode 100644 src/config/param.hp_ux102.h create mode 100644 src/config/param.hp_ux102_usr.h diff --git a/src/BUILDNOTES b/src/BUILDNOTES index 8cf4bc2a2d..52d9beea47 100644 --- a/src/BUILDNOTES +++ b/src/BUILDNOTES @@ -19,3 +19,9 @@ HPUX 11.0 (hp_ux110): For future kernel development, the KernDevKit package from the CoreOS media is required. +HPUX 10.2 (hp_ux102): + Does not currently build libafs, which means no afs client support, + however, the client tools, and all of the server code does get built. + + Requires that the DCE-CoreTools and possible the KernDevKit package + from CoreOS media be installed. diff --git a/src/Makefile b/src/Makefile index 628966a73a..54e05b6151 100644 --- a/src/Makefile +++ b/src/Makefile @@ -181,7 +181,7 @@ viced: project vlserver audit tviced: project viced vlserver libafsrpc libafsauthent case ${SYS_NAME} in \ - alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux*) \ + alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \ ${COMPILE_PART1} tviced ${COMPILE_PART2} ;; \ *) \ echo Not building MT viced for ${SYS_NAME} ;; \ @@ -253,7 +253,7 @@ bozo: project ntp audit vfsck: minproject vol set -x; \ case ${SYS_NAME} in \ - sgi_* | *linux* | rs_aix42 | ppc_darwin* ) \ + sgi_* | *linux* | rs_aix42 | ppc_darwin* | hp_ux102 ) \ echo skip vfsck for ${SYS_NAME} ;; \ * ) \ ${COMPILE_PART1} vfsck ${COMPILE_PART2} ;; \ @@ -346,7 +346,13 @@ libafs: minproject libafs_setup ${KERNELDIR} ${COMPILE_PART1} libafs ${COMPILE_PART2} libuafs: minproject libuafs_setup ${UKERNELDIR} - ${COMPILE_PART1} libuafs ${COMPILE_PART2} + set -x; \ + case ${SYS_NAME} in \ + hp_ux102* ) \ + echo Skipping libuafs for ${SYS_NAME} ;; \ + * ) \ + ${COMPILE_PART1} libuafs ${COMPILE_PART2} ;; \ + esac afsweb: minproject kauth dauth ${COMPILE_PART1} afsweb ${COMPILE_PART2} @@ -374,7 +380,7 @@ butc: project bubasics butm budb bucoord cmd tbutc: project bubasics butm budb bucoord cmd butc case ${SYS_NAME} in \ - alpha_dux*|sgi_*|sun4x_*|rs_aix4*|*linux*|hp_ux*) \ + alpha_dux*|sgi_*|sun4x_*|rs_aix4*|*linux*|hp_ux110) \ ${COMPILE_PART1} tbutc ${COMPILE_PART2} ;; \ *) \ echo Not building MT butc for ${SYS_NAME} ;; \ @@ -413,7 +419,7 @@ tests: rxtests ubiktests # pthread based user space RX library libafsrpc: rx rxkad des case ${SYS_NAME} in \ - alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux*) \ + alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \ ${COMPILE_PART1} libafsrpc ${COMPILE_PART2} ;; \ *) \ echo Not building MT libafsrpc for ${SYS_NAME} ;; \ @@ -421,7 +427,7 @@ libafsrpc: rx rxkad des libafsauthent: ubik auth kauth libafsrpc case ${SYS_NAME} in \ - alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux*) \ + alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \ ${COMPILE_PART1} libafsauthent ${COMPILE_PART2} ;; \ *) \ echo Not building MT libafsrpc for ${SYS_NAME} ;; \ @@ -441,7 +447,7 @@ libadmin_real: libadmin: libafsauthent bozo case ${SYS_NAME} in \ - alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux*) \ + alpha_dux*|sgi_*|sun4x_*|rs_aix*|*linux*|hp_ux110) \ $(MAKE) libadmin_real SYS_NAME=$(SYS_NAME) \ WASHTOOL="$(WASHTOOL)" \ COMPILE_PART1="$(COMPILE_PART1)" \ diff --git a/src/README b/src/README index 2964c6a183..c3a40097f3 100644 --- a/src/README +++ b/src/README @@ -31,6 +31,7 @@ A. Creating the proper directory structure. alpha_linux_2216_22/ (DES does not work, will require one more change to compile) hp_ux110/ (No client support, but db servers and utilities work) + hp_ux102/ (No client support, but db servers and utilities work) Example: % mkdir i386_linux22 diff --git a/src/config/Makefile.hp_ux102 b/src/config/Makefile.hp_ux102 new file mode 100644 index 0000000000..583708719a --- /dev/null +++ b/src/config/Makefile.hp_ux102 @@ -0,0 +1,37 @@ +# Copyright 2000, International Business Machines Corporation and others. +# All Rights Reserved. +# +# This software has been released under the terms of the IBM Public +# License. For details, see the LICENSE file in the top-level source +# directory or online at http://www.openafs.org/dl/license10.html + +AFS_OSTYPE = HPUX +CC=/opt/ansic/bin/cc -Ae +MT_CC=/opt/ansic/bin/cc -Ae +XCFLAGS0=-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE +XCFLAGS=${XCFLAGS0} +DA1.0 +XCFLAGS64=${XCFLAGS0} +DA2.0W +MT_CFLAGS=-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS} +XLIBS= +XLIBELFA= +TXLIBS=/usr/lib/libHcurses.a +MTLIBS=-L/opt/dce/lib -ldce +SHLIB_SUFFIX=sl +LWP_OPTMZ=-O +OPTMZ=-O +DBG=-g +RANLIB=ranlib +WASHTOOL=${DESTDIR}bin/washtool +INSTALL=${DESTDIR}bin/install +RM=/bin/rm +CP=/bin/cp +AR=/bin/ar +AS=/usr/ccs/bin/as +MV=/bin/mv +LD=/bin/ld +LEX=/opt/langtools/bin/lex +DBM=/lib/libndbm.a +PAM_CFLAGS=+DA1.0 +z -Wl,+k +SHARE_LDFLAGS=-b -Bsymbolic +PAMLIBS=/usr/lib/libpam.1 +YACC=/opt/langtools/bin/yacc diff --git a/src/config/param.hp_ux102.h b/src/config/param.hp_ux102.h new file mode 100644 index 0000000000..ccf75c9903 --- /dev/null +++ b/src/config/param.hp_ux102.h @@ -0,0 +1,87 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +/* THIS FILE IS AUTOMATICALLY GENERATED; DO NOT EDIT */ + +#ifndef _PARAM_HP_UX10_2_H_ +#define _PARAM_HP_UX10_2_H_ + +#define AFS_HPUX_ENV 1 +#define AFS_HPUX90_ENV 1 +#define AFS_HPUX100_ENV 1 +#define AFS_HPUX101_ENV 1 +#define AFS_HPUX102_ENV 1 + +#include + +#define AFS_SYSCALL 48 /* slot reserved for AFS */ + +/* Machine / Operating system information */ +#define SYS_NAME "hp_ux102" +#define SYS_NAME_ID SYS_NAME_ID_hp_ux102 +#define AFSBIG_ENDIAN 1 +#define AFS_HAVE_FFS 1 +#define AFS_HAVE_STATVFS 1 /* System supports statvfs */ +#define AFS_GLOBAL_SUNLOCK 1 +#define RXK_LISTENER_ENV 1 +#define AFS_USERSPACE_IP_ADDR 1 +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ +/* + * #define AFS_VM_RDWR_ENV 1 + */ +#define AFS_TEXT_ENV 1 /* Older kernels use TEXT */ +#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */ +#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk*/ +#define nearInodeHash(volid, hval) { \ + unsigned char* ts = (unsigned char*)&(volid)+sizeof(volid)-1;\ + for ( (hval)=0; ts >= (unsigned char*)&(volid); ts--){\ + (hval) *= 173; \ + (hval) += *ts; \ + } \ + } + +/* Extra kernel definitions (from kdefs file) */ +#ifdef KERNEL +#define _KERNEL 1 +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_seg +#define afsio_resid uio_resid +#define AFS_UIOSYS UIOSEG_KERNEL +#define AFS_UIOUSER UIOSEG_USER +#define AFS_CLBYTES CLBYTES +#define AFS_MINCHANGE 2 +#define osi_GetTime(x) do { struct timeval osi_GetTimeVar; uniqtime(&osi_GetTimeVar); (x)->tv_sec = osi_GetTimeVar.tv_sec; (x)->tv_usec = osi_GetTimeVar.tv_usec; } while(0) +#define AFS_KALLOC kmem_alloc +#define AFS_KFREE kmem_free +#define VATTR_NULL vattr_null + +#if defined(__LP64__) +#define AFS_HPUX_64BIT_ENV 1 +#endif + +#ifndef UKERNEL +/* + * On HP-UX, sys/socket.h includes sys/uio.h, and sys/file.h and + * sys/uio.h #include each other, and there's no simple way to avoid a + * warning about the struct uio declaration not being visible outside + * of some prototype or other. So, we put in a tenative declaration to + * supress the warnings. + */ +struct uio; +#endif +#endif /* KERNEL */ +#define AFS_DIRENT +/* Non-standard definitions */ +#ifndef EDQUOT +#define EDQUOT 69 /* Disc quota exceeded */ +#endif + +#endif /* _PARAM_HP_UX10_2_H_ */ diff --git a/src/config/param.hp_ux102_usr.h b/src/config/param.hp_ux102_usr.h new file mode 100644 index 0000000000..525ab24159 --- /dev/null +++ b/src/config/param.hp_ux102_usr.h @@ -0,0 +1,64 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +#ifndef _PARAM_USR_HPUX102_H_ +#define _PARAM_USR_HPUX102_H_ + +#define AFS_VFS_ENV 1 +/* Used only in vfsck code; is it needed any more???? */ +#define RXK_LISTENER_ENV 1 +#define AFS_USERSPACE_IP_ADDR 1 +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ + +#define UKERNEL 1 /* user space kernel */ +#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */ +#define AFS_ENV 1 +#define AFS_USR_HPUX_ENV 1 + +#include + +/*#define AFS_GLOBAL_SUNLOCK 1*/ /* For global locking */ + +#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */ + +#define AFS_SYSCALL 48 /* slot reserved for AFS */ + +/* File system entry (used if mount.h doesn't define MOUNT_AFS */ +#define AFS_MOUNT_AFS 1 + +/* Machine / Operating system information */ +#define SYS_NAME "hp_ux102" +#define SYS_NAME_ID SYS_NAME_ID_hp_ux102 +#define AFSBIG_ENDIAN 1 +#define AFS_HAVE_FFS 1 /* Use system's ffs. */ +#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */ + +/* Extra kernel definitions (from kdefs file) */ +#ifdef KERNEL +#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */ +#define AFS_SYSVLOCK 1 /* sys v locking supported */ +/*#define AFS_USEBUFFERS 1*/ +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_segflg +#define afsio_fmode uio_fmode +#define afsio_resid uio_resid +#define AFS_UIOSYS 1 +#define AFS_UIOUSER UIO_USERSPACE +#define AFS_CLBYTES CLBYTES +#define AFS_MINCHANGE 2 +#define VATTR_NULL usr_vattr_null +#endif /* KERNEL */ +#define AFS_DIRENT +#ifndef CMSERVERPREF +#define CMSERVERPREF +#endif + +#endif /* _PARAM_USR_HPUX102_H_ */