1 Copyright 2000, International Business Machines Corporation and others.
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
8 NOTE: As of the OpenAFS 1.3 release series, Windows 9x platforms are no
9 longer officially supported. It is not clear whether or not the source
10 tree will build successfully or not. As far as we know, no one has tried
13 Building Open AFS on Win 95
14 ---------------------------
16 The Windows 95 Open AFS client consists of two main components: the client
17 program afsd.exe, which is compiled with the DJGPP compiler and runs in a
18 DOS virtual machine; and the utility programs, which are built on Windows
19 NT or 9x using the Microsoft Visual C++ compiler V6.0.
24 afsd.exe is built using the DJGPP cross-compiler, executed from Linux.
25 It should also be possible to build it using the native DOS DJGPP compiler,
26 but we did not try this. You will need to install the following packages
27 from DJGPP and the Coda project.
29 ftp://ftp.coda.cs.cmu.edu/pub/tools/djgpp-2.01_0.93_glibc-1.i386.rpm
30 ftp://ftp.coda.cs.cmu.edu/pub/tools/djgpp-win95ext-2.01_0.93_glibc-1.i386.rpm
31 ftp://ftp.coda.cs.cmu.edu/pub/tools/gdb-djgpp-4.16-2.i386.rpm
33 You will also need the MMAP.VXD and SOCK.VXD from the Coda project. Source
35 ftp://ftp.coda.cs.cmu.edu/pub/coda/src/win95-coda-5.2.0.zip
37 Follow the Coda instructions to build these VXD's, which you can read here:
38 http://www.coda.cs.cmu.edu/doc/html/coda-howto-6.html#ss6.4
40 Once you have the necessary tools installed, set the following environment
42 SYS_NAME: set to i386_djgpp
43 LINUX_SYS: set to the sysname of the Linux version you are using, e.g.,
46 The makefile expects to build into a platform directory with symlinks
47 into the source directory. The Perl script "mkdest.pl" in this dir. will
48 set this up for you. To use it, create a directory under the top-level
49 dir. (the directory above src) called "i386_djgpp". Then cd to that
50 directory and type "../src/mkdest.pl <absolute path of your src dir.>"
52 Then execute "make -f Makefile.djgpp" from the top-level directory.
53 (You can create a symlink to src/Makefile.djgpp from this dir.)
54 The afsd.exe will be built into i386_djgpp/dest/bin.
58 The Makefile.djgpp actually builds Linux versions of the utilities
59 rxgen, install, compile_et, and util.a. It uses the Linux version
60 of param.h which it copies to the afs subdirectory of the above
61 components. You will need to set SYS_NAME to your Linux system name
62 manually if you want to build these utilities separately.
64 Utilities and GUI programs
65 --------------------------
67 The rest of the support programs are built as Win32 executables from a
68 Windows 9x or NT system. You will need to set the following environment
71 set SYS_NAME=i386_win95
72 set AFSDEV_BUILDTYPE=CHECKED (or FREE if you want to skip debugging info.)
73 set AFSDEV_INCLUDE=<path of your Visual C include files>
74 set AFSDEV_LIB=<path of your Visual C libs>
76 set AFSROOT=<PATH to base of development directory>
77 e.g. AFSROOT\SRC is source directory of the build tree
79 set OBJ=src or obj, see below
80 set MSSDK=<path to sdk header files>, see below
82 If you are building on a Unix directory exported to Windows through Samba
83 or AFS, you can create a platform directory named "i386_win95" using the
84 "mkdest.pl" script as described above (run from a Unix system). This will
85 only work on a file system that supports symbolic links. If you are using
86 a platform directory, set the OBJ environment var. to "obj" and create
87 a symlink "obj" in the top-level dir. that points to "i386_win95/obj".
88 Otherwise, set OBJ to "src" to build the objects with the sources.
90 The environment variable AFSROOT points to the parent of the AFS src
91 directory. Executables will be built by default in AFSROOT\dest.
93 Copy the file src\NTMake9x to the parent of the src directory. You only
94 need to do this once. If you are building on a local drive, copy
95 AFSROOT\src\symlink.bat to AFSROOT\.
97 Follow the NT build instructions in file "README-NT" to perform the build.
98 You will be using "NTMake9x" as the top-level makefile, instead of
99 "NTMakefile". Most of the instructions in "README-NT" apply to the Win9x
104 1) If you are building the Windows 9x AFS Client Control Panel
105 (win9xpanel), it requires shlwapi.h. This file can be found in the
106 header files associated with the Windows SDK (95/98 NT or W2000).
108 2) You can build the Windows 9x client from a Windows NT or W2000 system.
109 This requires you to edit AFSROOT\config\NTMakefile.i386_win95.
110 Change line: DEL = $(AFSROOT)\src\rmbat
113 3) If you build the W2000 client, then switch to building the Windows 95
114 client (or vice versa), you should clean the previous build by either:
115 nmake -f ntmakefile clean
116 or nmake -f ntmake9x clean
118 4) When building the "comerr" component, the makefile now uses the
119 existing error_table_nt.c file (and touches it so it will be up to date
120 by default.) If you make changes to the lex or yacc source files and want
121 to rebuild error_table_nt.c, you can simply delete it and rerun make,
122 which will cause the file to be built using lex and yacc. Make sure
123 you have these utilities on your system.
125 5) Required DLL's for redistribution
127 The AFS Control Panel for Win95/98 requires Microsoft DLL's that can
129 VC6RedistSetup_enu.exe
131 http://support.microsoft.com/support/kb/articles/Q259/4/03.ASP
132 Two Microsoft DLL's must be included at DEST\WinInstall\Config\.
135 These DLL's will not be left on the target machine, there are only
136 used for installation and removed after installation is complete.
138 6) Required changes to configuration file .\src\config\NTMakefile.i386_win95
140 AFSPRODUCT_VERSION - Product version
141 CELLNAME_DEFAULT - The default AFS cell name
142 CELLSERVDB_INSTALL - The default name for the CellServDB included in the install script
143 CELLSERVDB_WEB - The default web address to obtain CellServDB
147 .\src\config\NTMakefile.i386_win95
148 AFSPRODUCT_VERSION=1.1.1a
149 CELLNAME_DEFAULT=openafs.org
150 CELLSERVDB_INSTALL=CellServDB.GrandCentral
151 CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
153 Version level may be specified in different formats, for example the following
154 forms all have the same version level; however will be displayed differently:
156 AFSPRODUCT_VERSION=1.1.1a
157 AFSPRODUCT_VERSION=1.1.1 a
158 AFSPRODUCT_VERSION=1.1.1.1
159 AFSPRODUCT_VERSION=1.1.101
163 First, execute "nmake /f ntmake9x media" to copy all the client
164 executables and other files to DEST\WinInstall.
166 You can then install the client onto a target Windows 9x machine by
168 install.bat <source> <drive> <install dir.> <home cell> <cache size in 1K blocks>
170 install.bat DEST\WinInstall\ c: \afscli almaden.ibm.com 40000
172 If you do not wish to use the batch file, you can install the client
173 manually by performing the following steps.
175 1. On the target machine, copy all the files from DEST\WinInstall to the
176 install location (usually c:\afscli).
177 2. Add entries to the target's AUTOEXEC.BAT file as follows:
178 set AFSCONF=c:\afscli (replace with your install dir.)
179 path %path%;c:\afscli
180 3. Copy the template.reg file to afscli.reg. Replace any references
181 to c: and afscli with your install location. Double click on the
182 afscli.reg file to add the registry entries to the target system.
183 4. Create the following AFS configuration files in the install dir.:
185 containing the name of your home cell
187 containing your cache configuration. For example,
188 to configure a cache of 40,000 1KB blocks with a disk cache
189 location of c:\afscache, you would enter in this file:
190 /afs:c:\afscache;40000
191 (The cache location has no effect unless you have enabled
192 the experimental disk cache support.)
194 the cell server database. You can get the latest version from AFS:
195 /afs/transarc.com/service/etc/CellServDB.export
196 5. Reboot the target machine.
197 6. You can now start the client by executing the program WinAfsLoad.exe
198 from the install directory.