]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/README.win32
added VSS instructions
[bacula/bacula] / bacula / src / win32 / README.win32
1
2 This directory <bacula-src>/src/win32 contains the build
3 environment for building the native Win32 Bacula File daemon,
4 the native Win32 bconsole program and the wx-console GUI console
5 program.
6
7 The directory structure is:
8
9   bacula/src/win32      Makefiles and scripts
10     baculafd            Visual Studio Files
11       Release           Release objects, and bacula-fd.exe
12        Debug            Debug object, and bacula-fd.exe produced
13                            by VC++
14     console             Build of console program and bconsole.conf
15       Release           Release objects  and bconsole.exe
16       Debug             Debug objects 
17     wx-console          Buld of wx-console program and wx-console-conf
18       Release           Release objects and wx-console.exe
19       Debug             Debug objects.
20     filed               Links to core filed code
21     findlib             Links to core findlib code
22     lib                 Links to core lib code
23
24   depkgs-win32
25     pthreads            The POSIX pthreads library (third party)
26     zlib                The zlib library (third party)
27     wx                  The wxWidgets library (third party)
28
29 depkgs-win32 is released in a separate .tar.gz file that contains the
30 source for the above mentioned libraries needed to build the
31 Win32 Bacula.  It can be found in the Source Forge Bacula project
32 release section.
33
34 To build it:
35 - Make sure nmake is on your PATH.
36 - Make sure your COMSPEC is properly setup (see full dump of
37   my cygwin environment below).
38 - The build is done in an rxvt window under the latest version
39   of cygwin.
40 - You need the Platform SDK installed.
41 - You need Visual Studio installed.
42 - You need to load depkgs-win32, then
43     (make the two patches described below to in Nicolas' notes to wx)
44     cd depkgs-win32
45     make
46     (after building zlib and pthreads, it fails in wx)
47     cd wx
48     ./configure
49     make
50     (if it succeeds skip the next item, otherwise do it) 
51 - You may have to build wx with VC++.
52   After starting VC++, use File->Open Workspace then
53   open wx/src/wxWindows.dsw then use
54   Build->Build All or Build->build wxmsw.lib should work too.
55 - cd bacula
56   ./configure --enable-client-only
57   cd src/win32
58   make
59
60 Instructions if you want to build bacula-fd with VSS (Volume Shadow Copy Service) support:
61 - VSS support is right now (June 2005) available for MS-Windows XP (beta)
62 - VSS support is right now (June 2005) available for MS-Windows 2003 (early alpha)
63 - you need to get the VSS SDK: 
64   http://www.microsoft.com/downloads/details.aspx?FamilyID=0B4F56E4-0CCC-4626-826A-ED2C4C95C871&displaylang=en
65 - copy the 'inc' and 'lib' directories from this SDK to 'bacula/src/win32/compat/vss'
66 - you should then have 'bacula/src/win32/compat/vss/inc' and 'bacula/src/win32/compat/vss/lib'
67   both with 'Win2003' and 'WinXP' subdirectories
68 - add 'WIN32_VSS' as preprocessor directive
69 - you should get a bacula-fd that runs on all platforms but has VSS support for WinXP and 2003 enabled
70
71 That should be all there is too it. The winbacula-1.xx.y.exe should be
72 in the current directory.
73
74
75 See License.txt for the License.
76
77 The native Win32 interface code was written by:
78
79    Christopher S. Hull, February 2004
80
81
82 For more details of building wx, see depkgs-win32/wx/docs/msw/install.txt
83
84 The easiest way to build this is to have a Visual Studio C++ 6.0. 
85 However, you can use the free Microsoft C++ compiler with a bit
86 of additional work.
87
88 Here are additional pointers on building wx-console supplied by Nicolas Boichat:
89
90
91 Tools I used (I think the 3 first one are included in VStudio) :
92 - VC++ toolkit : http://msdn.microsoft.com/visualc/vctoolkit2003/
93 - Windows Platform SDK :
94    http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
95    (Core SDK and Internet Development SDK)
96 - nmake (it got it with .Net Framework SDK)
97 - lib.exe found in the SDK-base/Bin/win64 directory (works fine
98   on a 32 bit Windows).
99
100 Instructions if you want to build wx-console :
101 - wxWidgets 2.4.2 compilation
102   + In include/wx/string.h, replace line 195 by
103       #if defined(__VISUALC__) // && defined(_MT) && !defined(_DLL)
104   + In src/common/string.cpp, replace line 167 by
105       #if defined(__VISUALC__) // && defined(_MT) && !defined(_DLL)
106   + Follow the instructions in docs/msw/install.txt
107      (Visual C++ 6.0 compilation - Using makefiles)
108
109 - Make sure that the environment variables are set as:
110   - PATH includes the directories bin of both the C++ Toolkit and the SDK
111   - INCLUDE includes the directories include of both the C++ Toolkit and the SDK
112   - LIB includes the directories Lib of both the C++ Toolkit and the SDK
113     
114 - Compile bacula depkg-win32 with Visual Studio or try the
115   supplied makefiles as described in the doc.
116
117 - Compile wx-console with nmake -f wx-console.mak in
118   src/win32/wx-console
119
120 - Additional information on using the free Micrsosoft C++ see
121   http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit
122
123 NOTE! I (Kern) cannot build wxWindows with the Makefile until after
124 I do a ./configure.  I can us VC Studio directly to do so
125 following their instructions.
126
127 Getting all the environment variables setup properly is not always so obvious.
128 Here is what I have when I do a "set" in a rxvt window, in which I build
129 Bacula. Probably what is important are INCLUDE, LIB, PATH, and WXWIN, but note
130 there are a zillion other things set:
131 !::='::\'
132 !C:='C:\cygwin\home\kern'
133 ALLUSERSPROFILE='C:\Documents and Settings\All Users'
134 APPDATA='C:\Documents and Settings\kern\Application Data'
135 BASEMAKE='C:\Program Files\Microsoft SDK\Include\BKOffice.Mak'
136 BASH=/usr/bin/bash
137 BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release" [5]="i686-pc-cygwin")
138 BASH_VERSION='2.05b.0(1)-release'
139 BKOFFICE='C:\Program Files\Microsoft SDK\.'
140 CLIENTNAME=Console
141 COLORFGBG='0;default;15'
142 COLORTERM=rxvt-xpm
143 COLUMNS=70
144 COMMONPROGRAMFILES='C:\Program Files\Common Files'
145 COMPUTERNAME=TIBS
146 COMSPEC='C:\WINDOWS\system32\cmd.exe'
147 CYGWIN=notty
148 DIRSTACK=()
149 DISPLAY=:0
150 EDHELP=/home/kern/bin/ed.hlp
151 EDTRM=/home/kern/bin/ed.trm
152 EUID=1007
153 GROUPS=()
154 HISTFILE=/cygdrive/c/home/kern/.bash_history
155 HISTFILESIZE=500
156 HISTSIZE=500
157 HOME=/cygdrive/c/home/kern
158 HOMEDRIVE=C:
159 HOMEPATH='\Documents and Settings\kern'
160 HOSTNAME=Tibs
161 HOSTTYPE=i686
162 IFS=$' \t\n'
163 INCLUDE='C:\Program Files\Microsoft SDK\Include\.;C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include'
164 INETSDK='C:\Program Files\Microsoft SDK\.'
165 LIB='C:\Program Files\Microsoft SDK\Lib\.;C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib'
166 LINES=65
167 LOGONSERVER='\\TIBS'
168 MACHTYPE=i686-pc-cygwin
169 MAILCHECK=60
170 MAKE_MODE=UNIX
171 MOZILLA_HOME=/home/netscape
172 MSDEVDIR='C:\Program Files\Microsoft Visual Studio\Common\MSDev98'
173 MSSDK='C:\Program Files\Microsoft SDK\.'
174 MSTOOLS='C:\Program Files\Microsoft SDK\.'
175 NUMBER_OF_PROCESSORS=1
176 OLDPWD=/home/kern/bacula
177 OPTERR=1
178 OPTIND=1
179 OS=Windows_NT
180 OSTYPE=cygwin
181 PATH='/cygdrive/c/Program Files/Microsoft Visual Studio/VC98/Bin:/cygdrive/c/Program Files/Microsoft Visual Studio/VC98:/cygdrive/c/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin:/cygdrive/c/Program Files/Microsoft Visual Studio/Common/Tools/WinNT:/cygdrive/c/Program Files/Microsoft Visual Studio/Common/Tools:c:/cygwin/bin:/usr/bin:/home/kern/bin:/sbin:/usr/sbin:'
182 PATHEXT='.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
183 PIPESTATUS=([0]="0")
184 PPID=3864
185 PROCESSOR_ARCHITECTURE=x86
186 PROCESSOR_IDENTIFIER='x86 Family 15 Model 2 Stepping 7, GenuineIntel'
187 PROCESSOR_LEVEL=15
188 PROCESSOR_REVISION=0207
189 PROGRAMFILES='C:\Program Files'
190 PROMPT='$P$G'
191 PS1='\e[34m\]\w\[\e[0m\]$\040'
192 PS2='> '
193 PS4='+ '
194 PWD=/home/kern
195 SESSIONNAME=Console
196 SHELL=/bin/bash
197 SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
198 SHLVL=1
199 SYSTEMDRIVE=C:
200 SYSTEMROOT='C:\WINDOWS'
201 TEMP=/cygdrive/c/DOCUME~1/kern/LOCALS~1/Temp
202 TERM=xterm
203 TMP=/cygdrive/c/DOCUME~1/kern/LOCALS~1/Temp
204 UID=1007
205 USERDOMAIN=TIBS
206 USERNAME=kern
207 USERPROFILE='C:\Documents and Settings\kern'
208 WINDIR='C:\WINDOWS'
209 WINDOWID=168050736
210 WXWIN='c:\home\kern\bacula\depkgs-win32\wx'
211 _=set