diff --git a/config/CONFIG.Host.LynxOS b/config/CONFIG.Host.LynxOS new file mode 100644 index 000000000..a13c54c65 --- /dev/null +++ b/config/CONFIG.Host.LynxOS @@ -0,0 +1,58 @@ +# CONFIG.Host.LynxOS +# +# This file is maintained by the EPICS community. +# Sites may override these definitions in CONFIG_SITE.Host.LynxOS + +ARCH_CLASS = LynxOS + +# Include definitions common to all Unix archs +include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon + +AR = ar -rc +ARCMD = $(AR) $@ +RANLIB = ranlib -t + + + +# Configure OS vendor C compiler +ACC_ANSI = $(ACC) -ansi -mposix -D_X86_ +ACC_STRICT = $(ACC) -ansi -mposix -D_X86_ -pedantic +ACC_TRAD = $(ACC) +ACC_WARN_YES = -Wall +ACC_WARN_NO = -w +ACC_OPT_YES = -O +ACC_OPT_NO = -g +ACC_SFLAGS_YES = -Bstatic +ACC_SFLAGS_NO= +ACC_SLIBS_YES = +ACC_SLIBS_NO= +ACC_SHRLIB_CFLAGS_YES = +ACC_SHRLIB_LDFLAGS_YES = + + + +# Configure OS vendor C++ compiler +CCC_NORMAL = $(CCC) +CCC_STRICT = $(CCC) +CCC_TEMPL_INST_FLAG = -pedantic -mposix -D_X86_ -DEXPL_TEMP +CCC_WARN_YES = -Wall +CCC_WARN_NO = -w +CCC_OPT_YES = -O +CCC_OPT_NO = -g +CCC_SFLAGS_YES = -Bstatic +CCC_SFLAGS_NO= +CCC_SLIBS_YES = +CCC_SLIBS_NO= +CCC_DEPENDS_FLAG = -pedantic -mposix -D_X86_ + + +# added smh 6/5/98 : when building fdmgr - seems to use this not ACC +# in effect this overides orig def in CONFIG_COMMON : +# which is GCC_STRICT = $(GCC) -ansi -pedantic +GCC_STRICT = $(GCC) +G++_STRICT = $(G++) -Wtraditional -mposix -D_X86_ -DEXPL_TEMP + + + +ARCH_DEP_CFLAGS = -DLynxOS -mposix -D_X86_ +ARCH_DEP_LDFLAGS = -lc -lbsd -lnsl -lm -lposix4d9 -llynx diff --git a/config/CONFIG.LynxOS b/config/CONFIG.LynxOS new file mode 100644 index 000000000..f18c11ae6 --- /dev/null +++ b/config/CONFIG.LynxOS @@ -0,0 +1,136 @@ +# $Id$ +# +# This file contains definitions for Vx builds + +#-------------------------------------------------- +# operating system class (include/os/) +OS_CLASS = LynxOS + +lynx_pc486 =YES + +CC = gcc +CXX = g++ + +#-------------------------------------------------- +# vxWorks directory definitions + +# The definitions VX_DIR, VX_GNU, GNU_DIR and GNU_LIB +# can be overridden for specific host architectures +# by creating a CONFIG_SITE.Vx. file with +# the override definitions. + +# Tornado directory definitions +VX_CONFIG_DIR_YES = +VX_INCLUDE_YES = +VX_GNU_YES = +VX_GNU_BIN_YES = +VX_GNU_LIB_YES = + + +# pre Torando directory definitions +VX_CONFIG_DIR_NO = +VX_INCLUDE_NO = +VX_GNU_NO = +VX_GNU_BIN_NO = + +# directory definitions +VX_DIR = +VX_CONFIG_DIR = +VX_INCLUDE = +VX_GNU = + +GNU_BIN = /usr/local/bin +GNU_LIB = /usr/local/lib + +#-------------------------------------------------- +# VxWorks command definitions + +#GCC = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc +#AR = $(GNU_BIN)/ar$(CMPLR_SUFFIX) +#CPP = $(GNU_BIN)/cpp$(CMPLR_SUFFIX) -nostdinc +#RANLIB = $(GNU_BIN)/ranlib$(CMPLR_SUFFIX) +#LD = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r + +AR = ar -rc +ARCMD = $(AR) $@ +RANLIB = ranlib -t +GCC = gcc +CPP = cpp +LD = ld -r + + +#-------------------------------------------------- +# Tornado C++ crosscompiler definitions + +#CPLUSPLUS_YES = G++ +#G++ = $(GNU_BIN)/cc$(CMPLR_SUFFIX) -B$(GNU_LIB)/gcc-lib/ -nostdinc +#LD_G++ = $(GNU_BIN)/ld$(CMPLR_SUFFIX) -r +#NM = $(GNU_BIN)/nm$(CMPLR_SUFFIX) +#MUNCH = $(GNU_BIN)/munch + +CPLUSPLUS_YES = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP +G++ = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP +LD_G++ = ld -r +NM = nm + +#-------------------------------------------------- +# Pre Tornado C++ crosscompiler definitions +# These are pre tornado definitions for Hideos builds (defined for 68k only) + +#CPLUSPLUS_NO = CCC +#CCC = $(GNU_DIR)/bin/sun3-g++ -B$(GNU_DIR)/lib/gcc-lib/ -nostdinc -DEXPL_TEMPL +#LD_CCC = $(GNU_DIR)/bin/sun3-ld $(OLD_ARCH_DEP_LDFLAGS) -r + +CPLUSPLUS_NO = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP +CCC = g++ -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ -DEXPL_TEMP +LD_CCC = ld -r + +CCC_NORMAL = $(CCC) $(OLD_ARCH_DEP_CFLAGS) +CCC_STRICT = $(CCC) -ansi -pedantic -Wall -traditional $(OLD_ARCH_DEP_CFLAGS) +CCC_TRAD = $(CCC) -traditional $(OLD_ARCH_DEP_CFLAGS) +CCC_TEMPL_INST_FLAG = -DEXPL_TEMP +CCC_WARN_YES = -Wall +CCC_WARN_NO = -w +CCC_OPT_YES = -O +CCC_OPT_NO = -g +CCC_DEPENDS_FLAG = -pedantic -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ +CPU = i486 +OS = lynxos +OLD_ARCH_DEP_CFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ +# --no-builtin -Wa,"-m68040" -DOS_EQ_$(OS) \ +# -DBOARD_EQ_$(BOARD) -DCPU_EQ_$(CPU) -DBOARD=$(BOARD) +OLD_ARCH_DEP_LDFLAGS = -mposix -lc -lbsd -lnsl -lm -lposix4d9 -llynx +# -Ur -N -T$(EPICS_BASE_BIN)/vxldscript.MRI + +#-------------------------------------------------- +# C compiler definitions +ANSI = gcc -ansi + +#-------------------------------------------------- +# Command definitions +CPLUSPLUS = g++ +# $(CPLUSPLUS_$(TORNADO)) +LD_CXX = ld -r +# $(LD_$(CPLUSPLUS)) + +#-------------------------------------------------- +# Operating system flags +OP_SYS_INCLUDES = +# -I$(VX_INCLUDE) +OP_SYS_CFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ +# -DvxWorks -DV5_vxWorks -fno-builtin +OP_SYS_LDFLAGS = -DLynxOS -DLynxOS_pc486 -mposix -D_X86_ +OP_SYS_LDLIBS = -lc -lbsd -lnsl -lm -lposix4d9 -llynx + +#-------------------------------------------------- +# Optimization flag overrides +GCC_OPT_YES = -O +# 2 -fstrength-reduce +G++_OPT_YES = -O +# 2 -fstrength-reduce + +#-------------------------------------------------- +# Link definitions +LINK.c = $(LD) $(LDFLAGS) -o +LINK.cc = $(LD_CXX) $(LDFLAGS) -o + diff --git a/config/CONFIG_HOST_ARCH.LynxOS b/config/CONFIG_HOST_ARCH.LynxOS new file mode 100644 index 000000000..4d9bd2216 --- /dev/null +++ b/config/CONFIG_HOST_ARCH.LynxOS @@ -0,0 +1,9 @@ +# CONFIG_HOST_ARCH.LynxOS +# +# Override values in CONFIG.LynxOS + +# Include definitions common to all Unix archs +include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.UnixCommon + +WIND_HOST_TYPE = LynxOS + diff --git a/config/CONFIG_SITE b/config/CONFIG_SITE index 02eba71b2..cc9f9bd39 100644 --- a/config/CONFIG_SITE +++ b/config/CONFIG_SITE @@ -20,6 +20,7 @@ # sgi # Linux # WIN32 +# LynxOS # # HOST_ARCH now an environment variable # HOST_ARCH=$(shell /usr/local/epics/startup/HostArch) diff --git a/config/CONFIG_SITE.Host.LynxOS b/config/CONFIG_SITE.Host.LynxOS new file mode 100644 index 000000000..6fe296b27 --- /dev/null +++ b/config/CONFIG_SITE.Host.LynxOS @@ -0,0 +1,15 @@ +# +# $Id$ +# +# Site Specific Configuration Information +# Only the local epics system manager should modify this file + +# APS overrides of definitions + +GCC = gcc +G++ = g++ +CC = gcc +CCC = g++ +ACC = gcc +PLUSPLUS = g++ +CXX = g++ diff --git a/src/gdd/aitTypes.h b/src/gdd/aitTypes.h index f66ecea73..8583a7248 100644 --- a/src/gdd/aitTypes.h +++ b/src/gdd/aitTypes.h @@ -8,6 +8,9 @@ * $Id$ * * $Log$ + * Revision 1.8 1998/06/16 03:10:51 jhill + * added sgi support + * * Revision 1.7 1998/04/16 21:16:35 jhill * removed redundant solaris test * @@ -88,7 +91,7 @@ typedef struct { #endif #ifndef vxWorks -#if (_POSIX_C_SOURCE < 3) && !defined(SOLARIS) && !defined(HP_UX) && !defined(linux) &&!defined(sgi) +#if (_POSIX_C_SOURCE < 3) && !defined(SOLARIS) && !defined(HP_UX) && !defined(linux) && !defined(sgi) && !defined(LynxOS) struct timespec { diff --git a/src/libCom/osi/os/LynxOS/osdSock.h b/src/libCom/osi/os/LynxOS/osdSock.h new file mode 100644 index 000000000..95be0483a --- /dev/null +++ b/src/libCom/osi/os/LynxOS/osdSock.h @@ -0,0 +1,73 @@ + +/* + * LynxOS specific socket include + */ + +#ifndef osiSockH +#define osiSockH + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include +#include /* for MAXHOSTNAMELEN */ +#include +#include +#include +#include +#include +#include +#include +#include +#include /* close() and others */ + +/* + * as far as I can tell there is no header file for these + */ +int gethostname(char *name, int namelen); +int sethostname(char *name, int namelen); + +#ifdef __cplusplus +} +#endif + +typedef int SOCKET; +#define INVALID_SOCKET (-1) +#define SOCKERRNO errno +#define SOCKERRSTR (strerror(errno)) +#define socket_close(S) close(S) + +#if 1 + /* + * only for LynxOS v2.4.0 + */ +# define socket_ioctl(A,B,C) ioctl(A,B,(char *)C) +#else +# define socket_ioctl(A,B,C) ioctl(A,B,C) +#endif + +typedef int osiSockIoctl_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 INADDR_LOOPBACK 0x7F000001 + +#endif /*osiSockH*/ +