summaryrefslogtreecommitdiff
path: root/os-patches/vxworks-5.1.txt
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-06-10 15:21:22 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-06-10 15:21:22 +0000
commitafa9e2467a74eb68a95671857451d09fd58ae121 (patch)
treea0411dec7dcc16350f5011f5dd1b66de5d67f5a7 /os-patches/vxworks-5.1.txt
parente47417af65cd323b6c1c80a30557840458f6f884 (diff)
downloadATCD-afa9e2467a74eb68a95671857451d09fd58ae121.tar.gz
added these notes for using ACE with VxWorks 5.1
Diffstat (limited to 'os-patches/vxworks-5.1.txt')
-rw-r--r--os-patches/vxworks-5.1.txt75
1 files changed, 75 insertions, 0 deletions
diff --git a/os-patches/vxworks-5.1.txt b/os-patches/vxworks-5.1.txt
new file mode 100644
index 00000000000..ed34cbdeb29
--- /dev/null
+++ b/os-patches/vxworks-5.1.txt
@@ -0,0 +1,75 @@
+An anonymous contributor provided the following notes for using ACE
+with VxWorks 5.1:
+
+Hope this helps someone else. Note that I didn't run the tests on ACE so
+I can't say that everything works. What I ended up doing was writing a
+few tests of my own to test out some of the features and get a feel for
+what ACE could do so beware that maybe these aren't the
+only things that one would have to change.
+
+ 1) Prerequisite -- make sure C++ run time support is working (like
+ global/static constructor/destructor invocation)
+
+ 2) Used "$ACE_ROOT/include/makeinclude/platform_macros.GNU" for a guide
+ to setup my environment variables.
+
+ - ACE_ROOT, WIND_BASE, WIND_HOST_TYPE, CPU, and TOOLENV
+
+ 3) copied $ACE_ROOT/ace/config-vxworks5.x.h to $ACE_ROOT/ace/config.h
+
+ 4) copied $ACE_ROOT/include/makeinclude/platform_vxworks5.x_g++.GNU
+ to $ACE_ROOT/include/makeinclude/platform_macros.GNU
+
+ 5) had to modify ${ACE_ROOT}/include/makeinclude/platform_macros.GNU
+ to add -DCPU=SPARClite, -msparclite to CCFLAGS and add
+ $(ACE_ROOT) and /usr/local/lib/g++-include to INCLDIRS
+
+ I think this was a "make" issue.
+
+ 6) had to modify $ACE_ROOT/ace/config.h
+ to set/reset the following ACE configuration parameters:
+
+ ACE_LACKS_POSIX_TIME, ACE_LACKS_SIGINFO_T, ACE_LACKS_IOSTREAM_TOTALLY,
+ ACE_NEEDS_FTRUNCATE, ACE_LACKS_ACE_IOSTREAM
+
+ 7) added the following to $ACE_ROOT/ace/config.h:
+
+#define ACE_SIZEOF_CHAR 1
+#define ACE_SIZEOF_SHORT 2
+#define ACE_SIZEOF_INT 4
+#define ACE_SIZEOF_LONG 4
+#define ACE_SIZEOF_LONG_LONG 8
+#define ACE_SIZEOF_FLOAT 4
+#define ACE_SIZEOF_DOUBLE 8
+#define ACE_SIZEOF_LONG_DOUBLE 16
+#define ACE_SIZEOF_VOID_P 4
+
+/*
+ * Since VxWorks does have clock_gettime() I really didn't want
+ * to set ACE_LACKS_CLOCK_GETTIME to get this define, so I made
+ * one of my own.
+ */
+typedef int clockid_t;
+
+/*
+ * Prototypes for VxWorks functions that ACE uses.
+ */
+extern "C" char *sysBspRev(void);
+extern "C" char *getcwd(char *, int);
+extern "C" int clock_gettime(clockid_t, struct timespec *);
+extern "C" int nanosleep(const struct timespec *, struct timespec *);
+
+/*
+ * These because of some quirks with ACE_LACKS_IOSTREAMS_TOTALLY
+ */
+#define ACE_DEFAULT_LOG_STREAM 0
+
+ 8) I changed the last call argument in Log_Msg.cpp line 1095 from:
+
+ this->msg_ostream ());
+
+ to this:
+
+ (FILE *) (this->msg_ostream ()));
+
+ 9) I used the 2.7.2.1 GNU compiler.