Files
pcas/README.WIN32
1997-08-04 22:26:50 +00:00

120 lines
3.7 KiB
Plaintext

Compiling EPICS on WIN32 (Windows95/NT)
---------------------------------------
Original port of EPICS base to WIN32 (Windows95/NT)
was done by Kay-Uwe Kasemir 11/96
questions & comments please mail to johill@lanl.gov
0) what you will get
--------------------
Right now this port of EPICS to WIN32 should allow you to
* compile almost all of EPICS base using {Tornado, MS Visual C, perl,
GNU make} (only {MS Visual C, perl, GNU make} if you prefer
to compile only the host portions of EPICS base).
* load EPICS on a PC IOC (486, pentium),
load simple databases
(no drivers/devices for real I/O available, yet.
Some Greenspring IP support [Relay, Dig, ADC, DAC] is in progress)
* build and use ca.dll on NT or Win95 to access all IOCs,
as well as the Com-library, gdd-library, and cas-library as DLLs.
The remaining libraries are statically linked and
therefore only accessible from programming languages like C,
not general WIN32 apps.
* build gdd, cas and a demo of the new portable CA server on WIN32.
1) see what you have
--------------------
To compiler EPICS on WIN32, we need
WindRiver System's Tornado (used: 1.0) (not required if host only build)
Microsoft's Visual C/C++ (used: 4.0) (borland C++ rumored to work also)
and some tools:
gnu make www.gnu.org
perl www.perl.org (used 5.003)
The perl interpreter and gnu make are available 'on the net'
as sources which compile with MS Visual C++.
If you cannot/don't want to find them, contact me, please!
2) set environment variables
Your path should include:
- The EPICS-binaries that we are about to build in <EPICS>base/bin/WIN32
- The System (for me it's in NT40...)
- The MS Visual C compiler binaries
Check with e.g.:
>echo %Path%
C:\WINNT35.0\system32;
C:\WINNT35.0;
c:\msdev\bin;
c:\perl5\bin;
c:\make-3.75\WinRel;
c:\epics\base\bin\win32 (really where INSTALL_LOCATION specifies)
On NT, "Path" is defined by the operatin system, on Win95, it's "PATH" instead.
MS Visual C and 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!!
MSDevDir=C:\MSDEV
include=c:\msdev\include;c:\msdev\mfc\include
lib=c:\msdev\lib;c:\msdev\mfc\lib
Select host arch to build:
HOST_ARCH=WIN32 (used by the make system)
Special note: configuring EPICS_CA_AUTO_CA_ADDR_LIST under WIN32
----------------------------------------------------------------
Currently if EPICS_CA_AUTO_CA_ADDR_LIST is YES (the default)
then the ca address list will be initialized to the broadcast address of
one of the interfaces on the WIN32 host (in the near future this will be
fixed so that the broadcast addresses of all interfaces is used as on other os).
If EPICS_CA_AUTO_CA_ADDR_LIST is NO behavior is as described in the CA
reference manual.
(Setting env. vars. is different: for NT, use Settings/System,
for Win95 use autoexec.bat)
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:
* gnumake seems to be faster than WIN32 sometimes
which results in warnings/errors like
"file has modification date in the future"
for newly vreated things.
Very seldom this is fatal, so you have to
stop gnumake and restart it.
* This is strange because Windows95/NT don't care
about upper/lower case:
WIN32 is WIN32, not win32. Gnumake fails
if e.g. base/src/include/os/WIN32 is ...win32.
Good luck !
-Kay