Fix up Unix issues from previous commit.

Also removed win32-x86-cygwin architecture support files,
use the cygwin-x86 or win32-x86-mingw targets instead.
This commit is contained in:
Andrew Johnson
2012-07-27 18:27:15 -05:00
parent 97490f6977
commit 72ddb72ade
17 changed files with 87 additions and 450 deletions

View File

@@ -119,12 +119,15 @@ CONFIG_TARGETS += $(CHECK_RELEASE_$(CHECK_RELEASE))
#-------------------------------------------------------
# Prefix and suffix
DEP=.d
OBJ = .
CMPLR_SUFFIX=
CMPLR_PREFIX=
LIB_PREFIX=
SHRLIB_PREFIX= $(LIB_PREFIX)
DEP = .d
OBJ = .o
CMPLR_SUFFIX =
CMPLR_PREFIX =
LIB_PREFIX =
LIB_SUFFIX =
SHRLIB_PREFIX = $(LIB_PREFIX)
DLLSTUB_PREFIX = $(LIB_PREFIX)
DLLSTUB_SUFFIX = $(LIB_SUFFIX)
BUILDLIB_PREFIX_YES = $(DLLSTUB_PREFIX)
BUILDLIB_PREFIX_NO = $(LIB_PREFIX)

View File

@@ -35,7 +35,6 @@
# solaris-x86_64 (Sun compiler used for host builds)
# solaris-x86_64-gnu (GNU compiler used for host builds)
# win32-x86 (MS Visual C++ compiler used for host builds)
# win32-x86-cygwin (WIN32 API with cygwin GNU compiler used for host builds)
# win32-x86-mingw (MinGW compiler used for host builds)
# windows-x64 (MS Visual C++ compiler used for host builds)

View File

@@ -19,7 +19,7 @@ OS_CLASS = vxWorks
# Prefix and suffix definitions
EXE =
OBJ = .o
LIB_PREFIX =lib
LIB_PREFIX = lib
LIB_SUFFIX = .a
MUNCH_SUFFIX = .munch
@@ -57,24 +57,6 @@ CTDT_OBJS = $(PRODNAME:%$(EXE)=%_ctdt$(OBJ))
NMS = $(PRODNAME:%$(EXE)=%.nm)
MUNCH_DEPENDS = %_ctdt$(OBJ)
#-------------------------------------------------------
# R3.13 compatability object library definitions
# Does not allow $*_SRCS or $*_OBJS. Allows only OBJLIB_SRCS and OBJLIB_OBJS.
OBJLIB += $(OBJLIB_$(OS_CLASS))
OBJLIB_SUFFIX = Library.o
OBJLIBNAME = $(addsuffix $(OBJLIB_SUFFIX),$(basename $(OBJLIB)))
OBJLIB_LD_OBJS += $(addsuffix $(OBJ),$(basename $(OBJLIB_SRCS) $(OBJLIB_OBJS)))
PRODTARGETS += $(OBJLIBNAME)
INSTALL_PROD = $(OBJLIBNAME:%=$(INSTALL_BIN)/%)
OBJLIB_MUNCHNAME += $(OBJLIBNAME:%$(OBJ)=%$(MUNCH_SUFFIX))
INSTALL_MUNCHS += $(OBJLIB_MUNCHNAME:%=$(INSTALL_BIN)/%)
PRODTARGETS += $(OBJLIB_MUNCHNAME)
CTDT_SRCS += $(OBJLIBNAME:%$(OBJ)=%_ctdt.c)
CTDT_OBJS += $(OBJLIBNAME:%$(OBJ)=%_ctdt$(OBJ))
NMS += $(OBJLIBNAME:%$(OBJ)=%.nm)
OBJLIB_LINK.cpp = $(LD) -o $@ $(OBJLIB_LD_OBJS)
SRC_FILES += $(OBJLIB_SRCS)
#--------------------------------------------------
# vxWorks version numbers
@@ -188,6 +170,10 @@ CODE_CXXFLAGS = $(CODE_CXXFLAGS_$(VXWORKS_MAJOR_VERSION))
SHRLIB_CFLAGS =
SHRLIB_LDFLAGS =
#--------------------------------------------------
# Earlier versions of gcc don't understand -MF
HDEPENDS_COMPFLAGS = -MM > $@
#--------------------------------------------------
# osithead use default stack, YES or NO override
OSITHREAD_USE_DEFAULT_STACK = NO

View File

@@ -1,91 +0,0 @@
# CONFIG.Common.win32-x86-cygwin
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for cygwin-x86 target builds
# Sites may override these definitions in CONFIG_SITE.Common.cygwin-x86
#-------------------------------------------------------
# Include definitions common to all Unix targets
include $(CONFIG)/os/CONFIG.Common.UnixCommon
OS_CLASS = WIN32
ARCH_CLASS = x86
# Definitions used when COMMANDLINE_LIBRARY is READLINE
LDLIBS_READLINE = -lreadline -lcurses
POSIX_CPPFLAGS = -D_POSIX_THREADS -D_POSIX_TIMERS
POSIX_LDLIBS += -lpthread
ARCH_DEP_CFLAGS += -m32
ARCH_DEP_LDFLAGS += -m32
# With no-cygwin option:
# compiler defines _X86_ 1
# compiler defines __MSVCRT__ 1
# compiler defines __MINGW32__ 1
# compiler defines __WIN32 1
# compiler defines __WIN32__ 1
# compiler defines _WIN32 1
# compiler defines WIN32 1
# compiler defines WINNT 1
# compiler does not define __unix __unix__ unix
# compiler does not define __CYGWIN__ __CYGWIN32__
OP_SYS_CPPFLAGS = -mno-cygwin
OP_SYS_LDFLAGS += -mno-cygwin
OP_SYS_LDLIBS = -lws2_32 -ladvapi32 -luser32 -lkernel32 -lwinmm
EXE = .exe
# Use .o for static object files, .obj for shared library object files
OBJ_NO = .o
OBJ_YES = .obj
OBJ = $(OBJ_$(SHARED_LIBRARIES))
COMPILE.c += $(if $(filter %$(OBJ),$@),-o $@)
COMPILE.cpp += $(if $(filter %$(OBJ),$@),-o $@)
HDEPENDS_ARCHFLAGS = -MT $*$(OBJ)
DLL_CFLAGS_YES = -DEPICS_BUILD_DLL
DLL_CFLAGS_NO =
DLL_CFLAGS = $(DLL_CFLAGS_$(SHARED_LIBRARIES))
STATIC_CFLAGS_YES= $(DLL_CFLAGS)
STATIC_CFLAGS_NO= $(DLL_CFLAGS) -DEPICS_CALL_DLL
STATIC_CXXFLAGS_YES= $(DLL_CFLAGS)
STATIC_CXXFLAGS_NO= $(DLL_CFLAGS) -DEPICS_CALL_DLL
# Adjust names of libraries to build
#
SHRLIB_PREFIX =
SHRLIB_SUFFIX_BASE = .dll
SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE)
SHRLIBNAME_YES = $(BUILD_LIBRARY:%=%$(SHRLIB_SUFFIX))
TESTSHRLIBNAME_YES = $(TESTBUILD_LIBRARY:%=%$(SHRLIB_SUFFIX))
LOADABLE_SHRLIB_PREFIX =
LOADABLE_SHRLIB_SUFFIX = $(SHRLIB_SUFFIX_BASE)
LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=%$(LOADABLE_SHRLIB_SUFFIX))
#
# When SHARED_LIBRARIES is YES we are building a DLL link library
# When SHARED_LIBRARIES is NO we are building an object library
#
LIB_PREFIX_NO =
LIB_SUFFIX_NO = .lib
LIB_PREFIX_YES = lib
LIB_SUFFIX_YES = .dll.a
LIB_PREFIX = $(LIB_PREFIX_$(SHARED_LIBRARIES))
LIB_SUFFIX = $(LIB_SUFFIX_$(SHARED_LIBRARIES))
DLLSTUB_LIBNAME_YES = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
DLLSTUB_LIBNAME = $(DLLSTUB_LIBNAME_$(SHARED_LIBRARIES))
TESTDLLSTUB_LIBNAME_YES = $(TESTBUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
TESTDLLSTUB_LIBNAME = $(TESTDLLSTUB_LIBNAME_$(SHARED_LIBRARIES))
TESTLIBNAME_NO = $(TESTBUILD_LIBRARY:%=$(LIB_PREFIX)%$(LIB_SUFFIX))
TESTLIBNAME = $(TESTLIBNAME_$(SHARED_LIBRARIES))
# dll install location
INSTALL_SHRLIB = $(INSTALL_BIN)

View File

@@ -0,0 +1,25 @@
# CONFIG.linux-x86.win32-x86-mingw
#
# Definitions for linux-x86 host win32-x86-mingw target builds
# Override these definitions in CONFIG_SITE.linux-x86.win32-x86-mingw
#-------------------------------------------------------
# Include common gnu compiler definitions
include $(CONFIG)/CONFIG.gnuCommon
RES = .coff
RCCMD = $(GNU_BIN)/$(CMPLR_PREFIX)windres$(CMPLR_SUFFIX) $(INCLUDES) $< $@
# No -fPIC avoids "-fPIC ignored for target (all code is position independent)"
SHRLIB_CFLAGS =
SHRLIB_LDFLAGS = -shared \
-Wl,--out-implib,$(DLLSTUB_PREFIX)$*$(DLLSTUB_SUFFIX)
LOADABLE_SHRLIB_LDFLAGS = -shared \
-Wl,--out-implib,$(DLLSTUB_PREFIX)$*$(DLLSTUB_SUFFIX)
# Override linking with gcc library from CONFIG.gnuCommon
GNU_LDLIBS_YES =
# Link with winsock2
OP_SYS_LDLIBS = -lws2_32

View File

@@ -0,0 +1,9 @@
# CONFIG.linux-x86_64.win32-x86-mingw
#
# Definitions for linux-x86_64 host win32-x86-mingw target builds
# Override these definitions in CONFIG_SITE.linux-x86_64.win32-x86-mingw
#-------------------------------------------------------
# Settings as for the linux-x86 host architecture
include $(CONFIG)/os/CONFIG.linux-x86.win32-x86-mingw

View File

@@ -57,7 +57,7 @@ OP_SYS_LDFLAGS += -z ignore -z combreloc -z lazyload
# Header dependency file generation command
HDEPENDS_METHOD = COMP
HDEPENDS_COMPFLAGS = -xM1 -xMF $@
HDEPENDS_COMPFLAGS = -xM1 > $@
#--------------------------------------------------
# Allow site overrides

View File

@@ -1,22 +0,0 @@
# CONFIG.win32-x86-cygwin.Common
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for win32-x86-cygwin host archs
# Sites may override these definitions in CONFIG_SITE.win32-x86-cygwin.Common
#-------------------------------------------------------
#Include definitions common to unix hosts
include $(CONFIG)/os/CONFIG.UnixCommon.Common
HOSTEXE=.exe
WIND_HOST_TYPE = x86-win32
# osithead use default stack, YES or NO override
OSITHREAD_USE_DEFAULT_STACK = NO
# Needed to find dlls for base installed build tools (antelope,eflex,...)
PATH := $(EPICS_BASE_BIN):$(PATH)

View File

@@ -1,28 +0,0 @@
# CONFIG.win32-x86-cygwin.win32-x86-cygwin
#
# $Revision-Id$
#
# Definitions for win32-x86-cygwin host - win32-x86-cygwin target builds
# Sites may override these definitions in CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin
#-------------------------------------------------------
# Include common gnu compiler definitions
include $(CONFIG)/CONFIG.gnuCommon
# cygwin's gcc, g++, ar, ld, and ranlib must be in user's path
CC = gcc
CCC = g++
AR = ar -rc
LD = ld -r
RANLIB = ranlib
RES=.coff
RCCMD = windres $(INCLUDES) $< $@
# No -fPIC avoids "-fPIC ignored for target (all code is position independent)"
SHRLIB_CFLAGS =
SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX)
LOADABLE_SHRLIB_LDFLAGS = -shared -Wl,--out-implib,$(LIB_PREFIX)$*$(LIB_SUFFIX)
# Override linking with gcc library from CONFIG.gnuCommon
GNU_LDLIBS_YES =

View File

@@ -1,14 +0,0 @@
# CONFIG.win32-x86-cygwin.win32-x86-cygwin-debug
#
# $Revision-Id$
# This file is maintained by the build community.
#
# Definitions for win32-x86-cygwin compiler host - win32-x86-cygwin debug compiler target builds
# Sites may override these definitions in CONFIG_SITE.win32-x86-cygwin.win32-x86-cygwin-debug
#-------------------------------------------------------
include $(CONFIG)/os/CONFIG.Common.win32-x86-cygwin
include $(CONFIG)/os/CONFIG.win32-x86-cygwin.win32-x86-cygwin
BUILD_CLASS=HOST
HOST_OPT=NO

View File

@@ -1,7 +0,0 @@
# CONFIG_SITE.Common.win32-x86-cygwin
#
# $Revision-Id$
#
# Site Specific definitions for cygwin-x86 target
# Only the local epics system manager should modify this file

View File

@@ -0,0 +1,21 @@
# CONFIG_SITE.linux-x86.win32-x86-mingw
#
# Configuration for linux-x86 host win32-x86-mingw target builds
#-------------------------------------------------------
# Early versions of the MinGW cross-build tools can only build
# static (non-DLL) libraries. The version of gcc 4.6.3 for Ubuntu
# succeeds, but Fedora's 4.4.6 does not and needs these uncommented:
SHARED_LIBRARIES = NO
STATIC_BUILD = YES
# The cross-build tools are in $(GNU_DIR)/bin
# Default is /usr
#GNU_DIR = /usr/local
# Different distribution cross-build packages use different prefixes:
# Ubuntu:
#CMPLR_PREFIX = i686-w64-mingw32-
# RHEL:
CMPLR_PREFIX = i686-pc-mingw32-

View File

@@ -0,0 +1,8 @@
# CONFIG_SITE.linux-x86_64.win32-x86-mingw
#
# Configuration for linux-x86_64 host win32-x86-mingw target builds
#-------------------------------------------------------
# Inherit from the linux-x86 host architecture
include $(CONFIG)/os/CONFIG_SITE.linux-x86.win32-x86-mingw

View File

@@ -1,224 +0,0 @@
WARNING: THIS FILE IS OLD
=========================
Some of the information in this file is likely to be out of date. It has not been
updated since 2005, so things like the minimum required versions are now wrong.
Compiling EPICS and Building IOC Applications on MS Windows
-----------------------------------------------------------
Original port of EPICS base build system to Windows was done by Kay-Uwe Kasemir 11/96
Please mail questions, comments, corrections, additional examples, etc to Jeff Hill
at johill###at###lanl.gov (replace ###at### with @ of course)
0) what you will get
--------------------
This port of EPICS to windows allows you to build for two host architectures:
win32-x86 - This is the native port to windows. Probably faster, more efficent, and with
more precise time stamps. The OS dependent layers are carefully optimized
for EPICS. There is prioritized schedualing of threads.
cygwin-x86 - This is the POSIX port of EPICS layered onto cygwin which is layered again
onto win32. We have less experience with this version, but it is in use. I
suspect that Mark Rivers has the most experience with it. Mutexes may be
slower, and time stamps are probably less precise. There were problems with
interrupting blocking system calls during cleanup in past version that may
be resolved in more recent versions of cygwin.
Once you have completed a host and or target build you can run all of the base components on
windows. This includes the client library (ca.dll, Com.dll), soft IOCs, portable server etc.
1) what you will need
---------------------
Depending on how you set the EPICS_HOST ARCH environment variable, you will need
o win32-x86 - MS Visual C/C++ (probably version 6 is the earliest version that can be used)
(I understand that there are also available free versions of this compiler)
o win32-x86-borland - Borland C free compiler and linker (I use Borland C++ 5.5.1 successfuly)
o win32-x86-mingw - MingW standalone GNU developers tools www.mingw.org
o win32-x86-cygwin - Cygwin hosted developers tools www.cygwin.com
o cigwin-x86 - Cygwin hosted developers tools targeting Cygwin GNU based posix www.cygwin.com
You can also cross compiler for Tornado (and possibly RTEMS) if you have it (them) installed on
Windows. To build only for win32-x86 and not cross compile for IOC development type
"make win32-x86" or in your configure/CONFIG_SITE file set "CROSS_COMPILER_HOST_ARCHS="
And some tools:
gnu make - www.gnu.org (need 3.78.1 or later)
perl - www.perl.org (need 5.0 or later)
The gnu make and perl executables are also downloadable from www.cygwin.com
The perl interpreter and gnu make are also available 'on the net'
as sources which compile with MS Visual C++.
2) set environment variables
(Setting env. vars. is different: for NT/W2K/WXP, use Settings/System,
for Win95 use autoexec.bat)
When setting paths in the EPICS CONFIG files for win32-x86 the following
are hints in case you have trouble. You should not need to worry about
this unless you type a path into one of the EPICS config files that
includes a "\". In most situations gnu make, windows NT/W2K/WXP, the MS compiler,
and the MS linker will accept "/" and this will result in less trouble.
** Note that that each "\" in any path variables you set
must be replaced with a "\\" (this is because GNU make treats
all "\" characters as line continuation)
*and* Note that that each space in any file name or
path name variable you set must be replaced with
a "\ " (this is because GNU make treats all " " separated
input as independent tokens in the input stream.
** win32-x86 will generally allow "/" and "\" interchangeably in file paths,
but the DOS shell only accepts "\".
** Certain command line utilities such as the MS linker are known to in rare
situations confuse "/" in a path with command line options, and it may
be necessary to replace a "/" in a path that configured with "\\", but
the bulk of our experience indicates that this is not the necessary.
Your path should include (in additon to ms system directories):
- The ms system directories
- The EPICS-binaries we are building <EPICS>base/bin/win32-x86
(really where INSTALL_LOCATION specifies)
- The developer tool set binaries
- perl
- GNU make
Check with e.g.: echo %Path%
On NT/W2K/XP, "Path" is defined by the operating system, on Win95, it's "PATH" instead.
Of course, Tornado should be installed properly with these env. variables set:
WIND_BASE=c:\Tornado (required for cross development only)
WIND_HOST_TYPE=x86-win32 (required for cross development only)
This way the EPICS makesystem can locate Tornado without any changes to the files
in base/config. So for pc486 the settings in CONFIG_SITE where you specify the
location of VxWorks are ignored, this information is taken from WIND_BASE and
_HOST_TYPE!!
If building with MSVC one ususally runs one of the following from a .cmd file:
call "c:\program files\Microsoft Visual Studio\VC98\Bin\Vcvars32.bat"
call "C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin\Vcvars32.bat"
call "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\Vcvars32.bat"
The EPICS build system requires EPICS_HOST_ARCH environment variable
Select host arch to build:
EPICS_HOST_ARCH=win32-x86
EPICS_HOST_ARCH=win32-x86-borland
EPICS_HOST_ARCH=win32-x86-mingw
EPICS_HOST_ARCH=win32-x86-cygwin
EPICS_HOST_ARCH=cygwin-x86
Set the "TMP" environment variable if you need to specify where
temporary files are created.
Directory Used For Temporary Files Conditions
---------------------------------- ----------
Directory specified by TMP TMP environment variable is set,
and directory specified by TMP exists.
dir argument to _tempnam TMP environment variable is not set, or
directory specified by TMP does not exist.
P_tmpdir in STDIO.H dir argument is NULL, or dir is name of
nonexistent directory.
Current working directory P_tmpdir does not exist.
On my system I see in stdio.h that _P_tmpdir is "/". Here is a common
setting for "TMP" (the C:\TEMP directory must exist).
TMP=C:\TEMP
3) building EPICS
-----------------
Prepare apx. 2 ltr. Tee and type:
cd <epics>/base
make (use gnu make)
Watch for errors and send them to me.
Known problems:
* Sometimes there are clock synchronization problems when mounting UNIX
file systems onto windows which results in warnings/errors like
"file has modification date in the future"
for newly created things.
Very seldom this is fatal, so you have to
stop gnumake and restart it.
4) Creating EPICS IOC applications under win32-x86
o create application development folder
o start a DOS window and change your working directory to the folder
created above (with the DOS "cd" command)
o to create an example application type:
"perl c:\epics\bin\win32\makeBaseApp.pl -b c:\\epics -e
** Note that that each "\" above in any path arguments to makeBaseApp.pl
must be replaced with a "\\" (this is because GNU make treats
all "\" characters as line continuation)
** Note that that each space in any file name or
path name argument to makeBaseApp.pl must be replaced with
a "\ " (this is because GNU make treats all " " separated
input as independent tokens in the input stream.
** Note that c:\epics above must be replaced by the path
to your epics source installation (or where INSTALL_LOCATION
specifies)
o General information on EPICS IOC application development can be found in
the "EPICS IOC Application Developers Guide". To see all of the options
supported by makeBaseApp.pl type "perl c:\epics\bin\win32\makeBaseApp.pl"
5) EPICS GNU make makefiles can be executed from within a Visual C++ "makefile"
style project. This allows EPICS programs to be developed directly inside of
the visual C++ environment. To do this create a "makefile" project and place your
gnu make command in the build configuration (accessed from the project/settings menu).
You will also need to add GNU make and <EPICS>/bin/win32 into the Visual C++
executable search path (from the tools/options menu).
In visual C++ it is possible to double click on the compiler
error messages generated within an EPICS "makefile" style project and have visual
C++ immediately position the cursor on the corresponding line in the source. I
have found that this works correctly with Makefile projects if the project is in a
directory just below the source code. The following build command works well
in a visual C++ make file project: "kill caRepeater.exe&make -C ..". Be careful
not to introduce additional spaces around the &. The kill.exe command is in the
NT resource kit.
6) Issues that you should be aware of if you are building code with MSVC that
calls EPICS, but you are not using the EPICS build system.
6a) You will need to include header files from the following paths.
<epics>\base\include
<epics>\base\include\os\win32
6b) You will need to link with the following path in effect.
<epics>\base\lib\win32-x86.
6c) If the visual C++ /Za option is not used then you will also need to define
__STDC__ to be zero on the command line so that EPICS headers will know that
a ANSI standard C compiler is in use.
6d) If you link with EPICS object libraries then specify /MT or /MTd
depending on whether EPICS base and your code are built for debugging.
This specifies the multithreaded operating environment required by EPICS.
This will also not define _DLL and therefore the EPICS header files will
not specify that sharable libraries are being called. EPICS object library
names follow the convention "xxxObj.lib".
6e) If you link with EPICS shareable libraries (with DLLs) then you must
use /MDd or /MD depending on whether EPICS base and your code are
built for debugging. This specifies the multithreaded operating environment
required by EPICS. This will also define _DLL and therefore the EPICS header
files will specify an optimized calling convention for shareable libraries.
EPICS shareable libraries (DLL) names follow the convention "xxx.lib"
and "xxx.dll".

View File

@@ -1,34 +0,0 @@
The CPU030 may need to have the nivxi path set correctly:
From the vxWorks shell type "vxitedit" (you may need to
loading the NI vxitedit package first)
take option 2
take option 3
type list
type modify 0
type in the correct path when promped
(the path should end in nivxi
and should traverse the niCpu030
directories shipped with the 030
ie something of the form "???/config/niCPU030/nivxi"
type save
type exit
.
.
.
see "Getting Started with Your VXIcpu-030" from NI
You may may need to setup front panel to backplane trigger
routing:
To take a TTL input and map it to VXI backplane ECL trigger 0
type in (to the vxWorks shell):
epvxiRouteTriggerECL(<logical address>, 1, 0)
where <logical address> specifies the card with the
front panel trigger connection.
johill@lanl.gov

View File

@@ -15,6 +15,12 @@ EPICS Base 3.15.0.x releases are not intended for use in production systems.</p>
<h2 align="center">Changes between 3.14.x and 3.15.0.x</h2>
<!-- Insert new items immediately below here ... -->
<h3>Architecture win32-x86-cygwin Removed</h3>
<p>The ability to compile non-cygwin binaries using the Cygwin build tools is no
longer supported by current versions of Cygwin, so this architecture has been
removed. Use the MinWG tools and the win32-x86-mingw architecture instead.</p>
<h3>RTEMS and VxWorks Test Harnesses</h3>
<p>The original libCom test harness has been renamed <tt>libComTestHarness</tt>,
@@ -25,7 +31,9 @@ The new ones include tests in src/ioc/db/test and src/std/filters/test.</p>
<p>Running the new tests requires additional .db and .dbd files to be loaded at
runtime, which can be found in the relevant source directory or its O.Common
subdirectory. If the target can access the Base source tree directly it may be
simplest to cd to the relevant source directory before running the test.</p>
simplest to cd to the relevant source directory before running the test. If not,
the files needed are listed in the generated 'testspec' file found in the
associated build (O.<i>arch</i>) directory.</p>
<p>For RTEMS users the current directory is determined in a BSP specific way.
See rtems_init.c and setBootConfigFromNVRAM.c in src/libCom/RTEMS.</p>