restore-writelogbuffer-for-mrafs-20010514
[openafs.git] / src / README-WIN9X
1 Copyright 2000, International Business Machines Corporation and others.
2 All Rights Reserved.
3
4 This software has been released under the terms of the IBM Public
5 License.  For details, see the LICENSE file in the top-level source
6 directory or online at http://www.openafs.org/dl/license10.html
7
8 Building Open AFS on Win 95
9 ---------------------------
10
11 The Windows 95 Open AFS client consists of two main components: the client
12 program afsd.exe, which is compiled with the DJGPP compiler and runs in a
13 DOS virtual machine; and the utility programs, which are built on Windows
14 NT or 9x using the Microsoft Visual C++ compiler V6.0.
15
16 afsd.exe
17 --------
18
19 afsd.exe is built using the DJGPP cross-compiler, executed from Linux.
20 It should also be possible to build it using the native DOS DJGPP compiler,
21 but we did not try this.  You will need to install the following packages
22 from DJGPP and the Coda project.
23
24 ftp://ftp.coda.cs.cmu.edu/pub/tools/djgpp-2.01_0.93_glibc-1.i386.rpm
25 ftp://ftp.coda.cs.cmu.edu/pub/tools/djgpp-win95ext-2.01_0.93_glibc-1.i386.rpm
26 ftp://ftp.coda.cs.cmu.edu/pub/tools/gdb-djgpp-4.16-2.i386.rpm
27
28 You will also need the MMAP.VXD and SOCK.VXD from the Coda project.  Source
29 is available here:
30 ftp://ftp.coda.cs.cmu.edu/pub/coda/src/win95-coda-5.2.0.zip
31
32 Follow the Coda instructions to build these VXD's, which you can read here:
33 http://www.coda.cs.cmu.edu/doc/html/coda-howto-6.html#ss6.4
34
35 Once you have the necessary tools installed, set the following environment
36 variables:
37 SYS_NAME: set to i386_djgpp
38 LINUX_SYS: set to the sysname of the Linux version you are using, e.g.,
39            i386_linux22
40
41 The makefile expects to build into a platform directory with symlinks
42 into the source directory.  The Perl script "mkdest.pl" in this dir. will
43 set this up for you.  To use it, create a directory under the top-level
44 dir. (the directory above src) called "i386_djgpp".  Then cd to that
45 directory and type "../src/mkdest.pl <absolute path of your src dir.>"
46
47 Then execute "make -f Makefile.djgpp" from the top-level directory.
48 (You can create a symlink to src/Makefile.djgpp from this dir.)
49 The afsd.exe will be built into i386_djgpp/dest/bin.
50
51 Build notes:
52
53   The Makefile.djgpp actually builds Linux versions of the utilities
54   rxgen, install, compile_et, and util.a.  It uses the Linux version
55   of param.h which it copies to the afs subdirectory of the above
56   components.  You will need to set SYS_NAME to your Linux system name
57   manually if you want to build these utilities separately.
58
59 Utilities and GUI programs
60 --------------------------
61
62 The rest of the support programs are built as Win32 executables from a
63 Windows 9x or NT system.  You will need to set the following environment
64 variables:
65
66 set SYS_NAME=i386_win95
67 set AFSDEV_BUILDTYPE=CHECKED (or FREE if you want to skip debugging info.)
68 set AFSDEV_INCLUDE=<path of your Visual C include files>
69 set AFSDEV_LIB=<path of your Visual C libs>
70 set AFSDEV_BIN=.
71 set AFSROOT=<PATH to base of development directory> 
72         e.g. AFSROOT\SRC is source directory of the build tree
73 SET _WIN32_IE=0x400
74 set OBJ=src or obj, see below
75 set MSSDK=<path to sdk header files>, see below
76
77 If you are building on a Unix directory exported to Windows through Samba
78 or AFS, you can create a platform directory named "i386_win95" using the
79 "mkdest.pl" script as described above (run from a Unix system).  This will
80 only work on a file system that supports symbolic links.  If you are using
81 a platform directory, set the OBJ environment var. to "obj" and create
82 a symlink "obj" in the top-level dir. that points to "i386_win95/obj".
83 Otherwise, set OBJ to "src" to build the objects with the sources.
84
85 The environment variable AFSROOT points to the parent of the AFS src
86 directory.  Executables will be built by default in AFSROOT\dest.
87
88 Copy the file src\NTMake9x to the parent of the src directory.  You only
89 need to do this once.  If you are building on a local drive, copy
90 AFSROOT\src\symlink.bat to AFSROOT\.
91
92 Follow the NT build instructions in file "README-NT" to perform the build.
93 You will be using "NTMake9x" as the top-level makefile, instead of
94 "NTMakefile".  Most of the instructions in "README-NT" apply to the Win9x
95 build as well.
96
97 Build Notes:
98
99 1) If you are building the Windows 9x AFS Client Control Panel
100    (win9xpanel), it requires shlwapi.h.  This file can be found in the
101    header files associated with the Windows SDK (95/98 NT or W2000).
102
103 2) You can build the Windows 9x client from a Windows NT or W2000 system.
104    This requires you to edit AFSROOT\config\NTMakefile.i386_win95.
105    Change line: DEL = $(AFSROOT)\src\rmbat
106                  to:  DEL = -del  /q /f
107
108 3) If you build the W2000 client, then switch to building the Windows 95
109    client (or vice versa), you should clean the previous build by either:
110         nmake -f ntmakefile clean 
111 or      nmake -f ntmake9x clean
112
113 4) When building the "comerr" component, the makefile now uses the
114    existing error_table_nt.c file (and touches it so it will be up to date
115    by default.)  If you make changes to the lex or yacc source files and want
116    to rebuild error_table_nt.c, you can simply delete it and rerun make,
117    which will cause the file to be built using lex and yacc.  Make sure
118    you have these utilities on your system.
119
120 5) Required DLL's for redistribution
121
122    The AFS Control Panel for Win95/98 requires Microsoft DLL's that can
123    be installed using:
124       VC6RedistSetup_enu.exe
125    This is located at:
126       http://support.microsoft.com/support/kb/articles/Q259/4/03.ASP
127
128 6) Installation
129
130    First, execute "nmake /f ntmake9x media" to copy all the client
131    executables and other files to DEST\WinInstall.
132
133    You can then install the client onto a target Windows 9x machine by
134    executing:
135      install.bat <source> <drive> <install dir.> <home cell> <cache size in 1K blocks>
136    For example,
137      install.bat DEST\WinInstall\ c: \afscli almaden.ibm.com 40000
138
139    If you do not wish to use the batch file, you can install the client
140    manually by performing the following steps.
141
142    1. On the target machine, copy all the files from DEST\WinInstall to the
143       install location (usually c:\afscli).
144    2. Add entries to the target's AUTOEXEC.BAT file as follows:
145        set AFSCONF=c:\afscli (replace with your install dir.)
146        path %path%;c:\afscli
147    3. Copy the template.reg file to afscli.reg.  Replace any references
148       to c: and afscli with your install location.  Double click on the
149       afscli.reg file to add the registry entries to the target system.
150    4. Create the following AFS configuration files in the install dir.:
151       - ThisCell:
152         containing the name of your home cell
153       - cache.info:
154         containing your cache configuration.  For example,
155         to configure a cache of 40,000 1KB blocks with a disk cache
156         location of c:\afscache, you would enter in this file:
157             /afs:c:\afscache;40000
158         (The cache location has no effect unless you have enabled
159         the experimental disk cache support.)
160       - CellServDB:
161         the cell server database.  You can get the latest version from AFS:
162         /afs/transarc.com/service/etc/CellServDB.export
163    5. Reboot the target machine.
164    6. You can now start the client by executing the program WinAfsLoad.exe
165       from the install directory.