diff -urN base-3.14.6.org/config/CONFIG.Host.osf-alpha-gnu base-3.14.6/config/CONFIG.Host.osf-alpha-gnu
--- base-3.14.6.org/config/CONFIG.Host.osf-alpha-gnu 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/config/CONFIG.Host.osf-alpha-gnu 2004-08-28 20:57:47.000000000 +0900
@@ -0,0 +1,13 @@
+#*************************************************************************
+# Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+# National Laboratory.
+# Copyright (c) 2002 The Regents of the University of California, as
+# Operator of Los Alamos National Laboratory.
+# EPICS BASE Versions 3.13.7
+# and higher are distributed subject to a Software License Agreement found
+# in file LICENSE that is included with this distribution.
+#*************************************************************************
+# CONFIG.Host.osf-alpha,v 1.2 2002/07/12 21:32:21 jba Exp
+
+# osf-alpha is the new name for alpha
+-include $(EPICS_BASE)/config/CONFIG.Host.alpha
diff -urN base-3.14.6.org/configure/os/CONFIG.Common.osf-alpha base-3.14.6/configure/os/CONFIG.Common.osf-alpha
--- base-3.14.6.org/configure/os/CONFIG.Common.osf-alpha 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/configure/os/CONFIG.Common.osf-alpha 2004-08-28 20:57:47.000000000 +0900
@@ -0,0 +1,35 @@
+# CONFIG.Common.osf-alpha
+#
+# CONFIG.Common.osf-alpha,v 1.3 2003/03/18 22:44:43 jba Exp
+# This file is maintained by the build community.
+#
+# Definitions for osf-alpha target archs
+# Sites may override these definitions in CONFIG_SITE.Common.osf-alpha
+#-------------------------------------------------------
+
+# Include definitions common to all Unix targets
+include $(CONFIG)/os/CONFIG.Common.UnixCommon
+
+OS_CLASS = osf
+ARCH_CLASS = alpha
+
+CODE_CPPFLAGS =
+
+POSIX_CPPFLAGS_YES =
+POSIX_LDLIBS_YES +=
+POSIX_CPPFLAGS_NO =
+POSIX_LDLIBS_NO +=
+
+OP_SYS_CPPFLAGS = -D_OSF_SOURCE -DUNIX
+OP_SYS_LDLIBS += -lpthread -lrt
+USR_SYS_LIBS += m
+space:=$(empty) $(empty)
+colon := :
+RUNTIME_LDFLAGS = -rpath $(subst $(space),$(colon),$(SHRLIB_SEARCH_DIRS))
+
+ifdef CROSS
+ GNU_TARGET=alpha-osf
+ CMPLR_SUFFIX=
+ CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
+endif
+
diff -urN base-3.14.6.org/configure/os/CONFIG.Common.osf-alpha-gnu base-3.14.6/configure/os/CONFIG.Common.osf-alpha-gnu
--- base-3.14.6.org/configure/os/CONFIG.Common.osf-alpha-gnu 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/configure/os/CONFIG.Common.osf-alpha-gnu 2004-08-28 20:57:47.000000000 +0900
@@ -0,0 +1,35 @@
+# CONFIG.Common.osf-alpha
+#
+# CONFIG.Common.osf-alpha,v 1.3 2003/03/18 22:44:43 jba Exp
+# This file is maintained by the build community.
+#
+# Definitions for osf-alpha target archs
+# Sites may override these definitions in CONFIG_SITE.Common.osf-alpha
+#-------------------------------------------------------
+
+# Include definitions common to all Unix targets
+include $(CONFIG)/os/CONFIG.Common.UnixCommon
+
+OS_CLASS = osf
+ARCH_CLASS = alpha
+
+CODE_CPPFLAGS =
+
+POSIX_CPPFLAGS_YES =
+POSIX_LDLIBS_YES +=
+POSIX_CPPFLAGS_NO =
+POSIX_LDLIBS_NO +=
+
+OP_SYS_CPPFLAGS = -D_OSF_SOURCE -D_REENTRANT -DUNIX
+OP_SYS_LDLIBS += -lpthread -lrt
+
+space:=$(empty) $(empty)
+colon := :
+RUNTIME_LDFLAGS = -Wl,-rpath,$(subst $(space),$(colon),$(SHRLIB_SEARCH_DIRS))
+
+ifdef CROSS
+ GNU_TARGET=alpha-osf
+ CMPLR_SUFFIX=
+ CMPLR_PREFIX=$(addsuffix -,$(GNU_TARGET))
+endif
+
diff -urN base-3.14.6.org/configure/os/CONFIG.osf-alpha-gnu.Common base-3.14.6/configure/os/CONFIG.osf-alpha-gnu.Common
--- base-3.14.6.org/configure/os/CONFIG.osf-alpha-gnu.Common 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/configure/os/CONFIG.osf-alpha-gnu.Common 2004-08-28 20:57:47.000000000 +0900
@@ -0,0 +1,14 @@
+# CONFIG.osf-alpha.Common
+#
+# CONFIG.osf-alpha.Common,v 1.2 2001/01/12 23:19:19 jba Exp
+# This file is maintained by the build community.
+#
+# Definitions for osf-alpha host archs
+# Sites may override these definitions in CONFIG_SITE.osf-alpha.Common
+#-------------------------------------------------------
+
+#Include definitions common to unix hosts
+include $(CONFIG)/os/CONFIG.UnixCommon.Common
+
+WIND_HOST_TYPE = osf-alpha
+
diff -urN base-3.14.6.org/configure/os/CONFIG.osf-alpha-gnu.osf-alpha-gnu base-3.14.6/configure/os/CONFIG.osf-alpha-gnu.osf-alpha-gnu
--- base-3.14.6.org/configure/os/CONFIG.osf-alpha-gnu.osf-alpha-gnu 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/configure/os/CONFIG.osf-alpha-gnu.osf-alpha-gnu 2004-08-28 21:14:40.000000000 +0900
@@ -0,0 +1,51 @@
+# CONFIG.osf-alpha.osf-alpha
+#
+# CONFIG.osf-alpha.osf-alpha,v 1.11.2.1 2003/07/03 16:17:34 jba Exp
+# This file is maintained by the build community.
+#
+# Definitions for osf-alpha host archs
+# Sites may override these definitions in CONFIG_SITE.osf-alpha.osf-alpha
+#-------------------------------------------------------
+
+# CC = cc
+CC = gcc
+# CCC = cxx
+CCC = g++
+CPP = $(CC) -E
+RANLIB =
+AR = ar -r
+LD = -r
+
+# Configure OS vendor C compiler
+CONFORM_CFLAGS_ANSI =
+CONFORM_CFLAGS_STRICT =
+CONFORM_CFLAGS_TRAD =
+CODE_CFLAGS =
+WARN_CFLAGS_YES =
+WARN_CFLAGS_NO = -w
+OPT_CFLAGS_YES = -O
+OPT_CFLAGS_NO = -g
+
+# Configure OS vendor C++ compiler
+CONFORM_CXXFLAGS_NORMAL =
+CONFORM_CXXFLAGS_STRICT =
+PROF_CXXFLAGS_YES = +p
+PROF_CXXFLAGS_NO =
+CODE_CXXFLAGS =
+WARN_CXXFLAGS_YES =
+WARN_CXXFLAGS_NO =
+OPT_CXXFLAGS_YES = -O
+OPT_CXXFLAGS_NO = -g
+
+STATIC_LDFLAGS_YES= -Bstatic -lrt -lpthread
+STATIC_LDFLAGS_NO=
+STATIC_LDLIBS_YES= -Bdynamic
+STATIC_LDLIBS_NO=
+
+SHRLIB_LDFLAGS = -shared
+LOADABLE_SHRLIB_LDFLAGS = $(SHRLIB_LDFLAGS)
+
+############# ???????????
+#####ACC_SFLAGS_YES= -non_shared
+#####ACC_SFLAGS_NO= -call_shared
+
diff -urN base-3.14.6.org/configure/os/CONFIG.osf-alpha.Common base-3.14.6/configure/os/CONFIG.osf-alpha.Common
--- base-3.14.6.org/configure/os/CONFIG.osf-alpha.Common 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/configure/os/CONFIG.osf-alpha.Common 2004-08-28 20:57:47.000000000 +0900
@@ -0,0 +1,14 @@
+# CONFIG.osf-alpha.Common
+#
+# CONFIG.osf-alpha.Common,v 1.2 2001/01/12 23:19:19 jba Exp
+# This file is maintained by the build community.
+#
+# Definitions for osf-alpha host archs
+# Sites may override these definitions in CONFIG_SITE.osf-alpha.Common
+#-------------------------------------------------------
+
+#Include definitions common to unix hosts
+include $(CONFIG)/os/CONFIG.UnixCommon.Common
+
+WIND_HOST_TYPE = osf-alpha
+
diff -urN base-3.14.6.org/configure/os/CONFIG.osf-alpha.osf-alpha base-3.14.6/configure/os/CONFIG.osf-alpha.osf-alpha
--- base-3.14.6.org/configure/os/CONFIG.osf-alpha.osf-alpha 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/configure/os/CONFIG.osf-alpha.osf-alpha 2004-08-28 21:15:47.000000000 +0900
@@ -0,0 +1,49 @@
+# CONFIG.osf-alpha.osf-alpha
+#
+# CONFIG.osf-alpha.osf-alpha,v 1.11.2.1 2003/07/03 16:17:34 jba Exp
+# This file is maintained by the build community.
+#
+# Definitions for osf-alpha host archs
+# Sites may override these definitions in CONFIG_SITE.osf-alpha.osf-alpha
+#-------------------------------------------------------
+
+CC = cc
+CCC = cxx
+CPP = $(CC) -E
+RANLIB =
+AR = ar -r
+LD = -r
+
+# Configure OS vendor C compiler
+CONFORM_CFLAGS_ANSI = -std
+CONFORM_CFLAGS_STRICT = -std1 -pthread -ieee
+CONFORM_CFLAGS_TRAD = -std0
+CODE_CFLAGS =
+WARN_CFLAGS_YES =
+WARN_CFLAGS_NO = -w
+OPT_CFLAGS_YES = -O
+OPT_CFLAGS_NO = -g
+
+# Configure OS vendor C++ compiler
+CONFORM_CXXFLAGS_NORMAL =
+CONFORM_CXXFLAGS_STRICT = -std gnu -pthread -ieee
+PROF_CXXFLAGS_YES = +p
+PROF_CXXFLAGS_NO =
+CODE_CXXFLAGS =
+WARN_CXXFLAGS_YES =
+WARN_CXXFLAGS_NO =
+OPT_CXXFLAGS_YES = -O
+OPT_CXXFLAGS_NO = -g
+
+STATIC_LDFLAGS_YES= -Bstatic
+STATIC_LDFLAGS_NO=
+STATIC_LDLIBS_YES= -Bdynamic
+STATIC_LDLIBS_NO=
+
+SHRLIB_LDFLAGS = -shared
+LOADABLE_SHRLIB_LDFLAGS = $(SHRLIB_LDFLAGS)
+
+############# ???????????
+#####ACC_SFLAGS_YES= -non_shared
+#####ACC_SFLAGS_NO= -call_shared
+
diff -urN base-3.14.6.org/documentation/README.tru64unix base-3.14.6/documentation/README.tru64unix
--- base-3.14.6.org/documentation/README.tru64unix 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/documentation/README.tru64unix 2004-08-28 21:25:07.000000000 +0900
@@ -0,0 +1,76 @@
+Compiling EPICS and Building IOC Applications on Tru64Unix/Alpha
+ (former Digital-Unix, and even former OSF1)
+ for architectures "osf-alpha" and "osf-alpha-gnu"
+
+======================================================================
+
+Tools needed
+------------
+
+For C/C++ Compiler, you need one of these compiler set.
+
+ - DEC/Compaq/HP's ANSI C/C++ compilers for "osf-alpha"
+ I used
+ cc -V
+ Compaq C V6.5-011 on Compaq Tru64 UNIX V5.1B (Rev. 2650)
+ Compiler Driver V6.5-003 (sys) cc Driver
+ cxx -V
+ Compaq C++ V6.5-014 for Compaq Tru64 UNIX V5.1B (Rev. 2650)
+ Compiler Driver V6.5-014 (cxx) cxx Driver
+
+ - GNU gcc/g++ compiler for "osf-alpha-gnu"
+ I used
+ gcc --version
+ gcc (GCC) 3.4.1
+
+Environment
+-----------
+
+Before compiling, please set the environment variable EPICS_HOST_ARCH
+dependent on your compiler.
+
+ for cc/cxx
+ setenv EPICS_HOST_ARCH osf-alpha
+ export EPICS_HOST_ARCH=osf-alpha
+
+ for gcc/g++
+ setenv EPICS_HOST_ARCH osf-alpha-gnu
+ export EPICS_HOST_ARCH=osf-alpha-gnu
+
+Building
+--------
+
+Should be quite straightforward. Edit (if necessary) the CONFIG_SITE
+files and "make". (Be sure that GNU make is in your path or call it
+explicitly as the standard make on Tru64Unix is _not_ GNU.)
+
+For example (with csh):
+ setenv EPICS_HOST_ARCH osf-alpha
+ make |& tee ../make-base-osf.log
+ setenv EPICS_HOST_ARCH osf-alpha-gnu
+ make |& tee ../make-base-osfgnu.log
+ cd bin/osf-alpha
+ foreach f (*TestHost epics*Test)
+ time ./$f
+ end
+
+Some internals
+-----------------------
+
+__alpha is used to distinguish this architecture from others.
+__DECCXX is used to distinguish DEC/Compaq/HP C++ compiler from GNU's.
+There are several ways to specify compiler options for pthread.
+ Please consult the pthread(3) manual page.
+src/libCom/osi/os/osf is used for osi definitions,
+ src/libCom/osi/os/alpha is not used.
+About 230 warning messages with cc/cxx, and 6 with gcc. Sometimes
+ errors from cxx are intuitive.
+I just started to use IOC application for a gateway purpose. There
+ can be architecture-dependent problems, that I didn't find yet.
+
+Only several lines in configure and src files were modified from
+ base-3.14.4/5/6. Thanks for keeping the alpha-osf dependent part
+ in the distribution.
+
+
+Kazuro Furukawa
diff -urN base-3.14.6.org/src/ca/comBuf.h base-3.14.6/src/ca/comBuf.h
--- base-3.14.6.org/src/ca/comBuf.h 2004-01-15 10:42:39.000000000 +0900
+++ base-3.14.6/src/ca/comBuf.h 2004-08-28 20:57:47.000000000 +0900
@@ -91,6 +91,9 @@
bool push ( const epicsFloat32 & value );
bool push ( const epicsFloat64 & value );
bool push ( const epicsOldString & value );
+#ifdef __DECCXX /* cxx on osf-alpha */
+ bool push ( const char * value );
+#endif /* __DECCXX */
unsigned push ( const epicsInt8 * pValue, unsigned nElem );
unsigned push ( const epicsUInt8 * pValue, unsigned nElem );
unsigned push ( const epicsInt16 * pValue, unsigned nElem );
@@ -324,6 +327,20 @@
return true;
}
+#ifdef __DECCXX /* cxx on osf-alpha */
+inline bool comBuf::push ( const char * value )
+{
+ unsigned index = this->nextWriteIndex;
+ unsigned available = sizeof ( this->buf ) - index;
+ if ( sizeof ( value ) > available ) {
+ return false;
+ }
+ memcpy ( &this->buf[ index ], & value, sizeof ( value ) );
+ this->nextWriteIndex = index + sizeof ( value );
+ return true;
+}
+#endif /* __DECCXX */
+
inline unsigned comBuf::push ( const epicsInt8 *pValue, unsigned nElem )
{
return copyInBytes ( pValue, nElem );
diff -urN base-3.14.6.org/src/libCom/osi/os/osf/epicsMath.h base-3.14.6/src/libCom/osi/os/osf/epicsMath.h
--- base-3.14.6.org/src/libCom/osi/os/osf/epicsMath.h 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/src/libCom/osi/os/osf/epicsMath.h 2004-08-28 20:57:47.000000000 +0900
@@ -0,0 +1,16 @@
+/*************************************************************************\
+* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+* National Laboratory.
+* Copyright (c) 2002 The Regents of the University of California, as
+* Operator of Los Alamos National Laboratory.
+* EPICS BASE Versions 3.13.7
+* and higher are distributed subject to a Software License Agreement found
+* in file LICENSE that is included with this distribution.
+\*************************************************************************/
+#ifndef epicsMathh
+#define epicsMathh
+
+#include
+#define isinf(D) (!finite((D)) && !(isnan((D))))
+
+#endif /* epicsMathh */
diff -urN base-3.14.6.org/src/libCom/osi/os/osf/osdSock.h base-3.14.6/src/libCom/osi/os/osf/osdSock.h
--- base-3.14.6.org/src/libCom/osi/os/osf/osdSock.h 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/src/libCom/osi/os/osf/osdSock.h 2004-08-28 20:57:47.000000000 +0900
@@ -0,0 +1,73 @@
+/*************************************************************************\
+* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+* National Laboratory.
+* Copyright (c) 2002 The Regents of the University of California, as
+* Operator of Los Alamos National Laboratory.
+* EPICS BASE Versions 3.13.7
+* and higher are distributed subject to a Software License Agreement found
+* in file LICENSE that is included with this distribution.
+\*************************************************************************/
+
+/*
+ * alpha specific socket include
+ */
+
+#ifndef osdSockH
+#define osdSockH
+
+#ifdef __cplusplus
+extern "C" {
+struct ifafilt;
+#endif
+
+#include
+
+#include
+#include /* for MAXHOSTNAMELEN */
+#include
+#include
+#include
+/* #include */
+/* #include */
+#include
+#include
+#include
+#include
+#include
+#include /* close() and others */
+
+#ifdef __cplusplus
+}
+#endif
+
+typedef int SOCKET;
+#define INVALID_SOCKET (-1)
+#define SOCKERRNO errno
+#define socket_ioctl(A,B,C) ioctl(A,B,C)
+typedef int osiSockIoctl_t;
+typedef int osiSocklen_t;
+
+#define FD_IN_FDSET(FD) ((FD)=0)
+
+#define SOCK_EWOULDBLOCK EWOULDBLOCK
+#define SOCK_ENOBUFS ENOBUFS
+#define SOCK_ECONNRESET ECONNRESET
+#define SOCK_ETIMEDOUT ETIMEDOUT
+#define SOCK_EADDRINUSE EADDRINUSE
+#define SOCK_ECONNREFUSED ECONNREFUSED
+#define SOCK_ECONNABORTED ECONNABORTED
+#define SOCK_EINPROGRESS EINPROGRESS
+#define SOCK_EISCONN EISCONN
+#define SOCK_EALREADY EALREADY
+#define SOCK_EINVAL EINVAL
+#define SOCK_EINTR EINTR
+#define SOCK_EPIPE EPIPE
+#define SOCK_EMFILE EMFILE
+#define SOCK_SHUTDOWN ESHUTDOWN
+#define SOCK_ENOTSOCK ENOTSOCK
+#define SOCK_EBADF EBADF
+
+#define ifreq_size(pifreq) (sizeof(pifreq->ifr_name))
+
+#endif /*osdSockH*/
+
diff -urN base-3.14.6.org/src/libCom/osi/os/osf/osiFileName.h base-3.14.6/src/libCom/osi/os/osf/osiFileName.h
--- base-3.14.6.org/src/libCom/osi/os/osf/osiFileName.h 1970-01-01 09:00:00.000000000 +0900
+++ base-3.14.6/src/libCom/osi/os/osf/osiFileName.h 2004-08-28 20:57:47.000000000 +0900
@@ -0,0 +1,21 @@
+/*************************************************************************\
+* Copyright (c) 2002 The University of Chicago, as Operator of Argonne
+* National Laboratory.
+* Copyright (c) 2002 The Regents of the University of California, as
+* Operator of Los Alamos National Laboratory.
+* EPICS BASE Versions 3.13.7
+* and higher are distributed subject to a Software License Agreement found
+* in file LICENSE that is included with this distribution.
+\*************************************************************************/
+/*
+ * osiFileName.h
+ * Author: Jeff Hill
+ *
+ *
+ */
+#ifndef osiFileNameH
+#define osiFileNameH
+
+#include "unixFileName.h"
+
+#endif /* osiFileNameH */
diff -urN base-3.14.6.org/src/libCom/test/epicsListTest.cpp base-3.14.6/src/libCom/test/epicsListTest.cpp
--- base-3.14.6.org/src/libCom/test/epicsListTest.cpp 2002-07-13 06:35:09.000000000 +0900
+++ base-3.14.6/src/libCom/test/epicsListTest.cpp 2004-08-28 20:57:47.000000000 +0900
@@ -18,8 +18,10 @@
#include "epicsList.h"
+#ifndef __DECCXX /* cxx on osf-alpha */
using std::cout;
using std::endl;
+#endif /* not __DECCXX */
#ifdef vxWorks
#define MAIN epicsListTest
@@ -188,4 +190,4 @@
cout << tests << " tests completed, " << nak << " failed." << endl;
return 0;
-};
+}