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
7 The directory structure is:
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
14 console Build of console program and bconsole.conf
15 Release Release objects and bconsole.exe
17 wx-console Buld of wx-console program and wx-console-conf
18 Release Release objects and wx-console.exe
20 filed Links to core filed code
21 findlib Links to core findlib code
22 lib Links to core lib code
25 pthreads The POSIX pthreads library (third party)
26 zlib The zlib library (third party)
27 wx The wxWidgets library (third party)
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
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
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)
46 (after building zlib and pthreads, it fails in wx)
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.
56 ./configure --enable-client-only
60 Instructions if you want to build bacula-fd with VSS
61 (Volume Shadow Copy Service) support:
63 - VSS support is right now (June 2005) available for MS-Windows XP
65 - VSS support is right now (June 2005) available for MS-Windows 2003 (beta)
66 - you need to get the VSS SDK:
67 http://www.microsoft.com/downloads/details.aspx?FamilyID=0B4F56E4-0CCC-4626-826A-ED2C4C95C871&displaylang=en
68 - copy the 'inc' and 'lib' directories from this SDK to
69 'bacula/src/win32/compat/vss'
70 - you should then have 'bacula/src/win32/compat/vss/inc' and
71 'bacula/src/win32/compat/vss/lib'
72 both with 'Win2003' and 'WinXP' subdirectories
73 - add 'WIN32_VSS' as preprocessor directive
74 - you should get a bacula-fd that runs on all platforms and has
75 VSS support for WinXP and 2003 enabled
77 That should be all there is too it. The winbacula-1.xx.y.exe
78 should be in the current directory.
81 See License.txt for the License.
83 The native Win32 interface code was written by:
85 Christopher S. Hull, February 2004
88 For more details of building wx, see depkgs-win32/wx/docs/msw/install.txt
90 The easiest way to build this is to have a Visual Studio C++ 6.0.
91 However, you can use the free Microsoft C++ compiler with a bit
94 Here are additional pointers on building wx-console supplied by Nicolas Boichat:
97 Tools I used (I think the 3 first one are included in VStudio) :
98 - VC++ toolkit : http://msdn.microsoft.com/visualc/vctoolkit2003/
99 - Windows Platform SDK :
100 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
101 (Core SDK and Internet Development SDK)
102 - nmake (it got it with .Net Framework SDK)
103 - lib.exe found in the SDK-base/Bin/win64 directory (works fine
104 on a 32 bit Windows).
106 Instructions if you want to build wx-console :
107 - wxWidgets 2.4.2 compilation
108 + In include/wx/string.h, replace line 195 by
109 #if defined(__VISUALC__) // && defined(_MT) && !defined(_DLL)
110 + In src/common/string.cpp, replace line 167 by
111 #if defined(__VISUALC__) // && defined(_MT) && !defined(_DLL)
112 + Follow the instructions in docs/msw/install.txt
113 (Visual C++ 6.0 compilation - Using makefiles)
115 - Make sure that the environment variables are set as:
116 - PATH includes the directories bin of both the C++ Toolkit and the SDK
117 - INCLUDE includes the directories include of both the C++ Toolkit and the SDK
118 - LIB includes the directories Lib of both the C++ Toolkit and the SDK
120 - Compile bacula depkg-win32 with Visual Studio or try the
121 supplied makefiles as described in the doc.
123 - Compile wx-console with nmake -f wx-console.mak in
126 - Additional information on using the free Micrsosoft C++ see
127 http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit
129 NOTE! I (Kern) cannot build wxWindows with the Makefile until after
130 I do a ./configure. I can us VC Studio directly to do so
131 following their instructions.
133 Getting all the environment variables setup properly is not always so obvious.
134 Here is what I have when I do a "set" in a rxvt window, in which I build
135 Bacula. Probably what is important are INCLUDE, LIB, PATH, and WXWIN, but note
136 there are a zillion other things set:
138 !C:='C:\cygwin\home\kern'
139 ALLUSERSPROFILE='C:\Documents and Settings\All Users'
140 APPDATA='C:\Documents and Settings\kern\Application Data'
141 BASEMAKE='C:\Program Files\Microsoft SDK\Include\BKOffice.Mak'
143 BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release" [5]="i686-pc-cygwin")
144 BASH_VERSION='2.05b.0(1)-release'
145 BKOFFICE='C:\Program Files\Microsoft SDK\.'
147 COLORFGBG='0;default;15'
150 COMMONPROGRAMFILES='C:\Program Files\Common Files'
152 COMSPEC='C:\WINDOWS\system32\cmd.exe'
156 EDHELP=/home/kern/bin/ed.hlp
157 EDTRM=/home/kern/bin/ed.trm
160 HISTFILE=/cygdrive/c/home/kern/.bash_history
163 HOME=/cygdrive/c/home/kern
165 HOMEPATH='\Documents and Settings\kern'
169 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'
170 INETSDK='C:\Program Files\Microsoft SDK\.'
171 LIB='C:\Program Files\Microsoft SDK\Lib\.;C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib'
174 MACHTYPE=i686-pc-cygwin
177 MOZILLA_HOME=/home/netscape
178 MSDEVDIR='C:\Program Files\Microsoft Visual Studio\Common\MSDev98'
179 MSSDK='C:\Program Files\Microsoft SDK\.'
180 MSTOOLS='C:\Program Files\Microsoft SDK\.'
181 NUMBER_OF_PROCESSORS=1
182 OLDPWD=/home/kern/bacula
187 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:'
188 PATHEXT='.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
191 PROCESSOR_ARCHITECTURE=x86
192 PROCESSOR_IDENTIFIER='x86 Family 15 Model 2 Stepping 7, GenuineIntel'
194 PROCESSOR_REVISION=0207
195 PROGRAMFILES='C:\Program Files'
197 PS1='\e[34m\]\w\[\e[0m\]$\040'
203 SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
206 SYSTEMROOT='C:\WINDOWS'
207 TEMP=/cygdrive/c/DOCUME~1/kern/LOCALS~1/Temp
209 TMP=/cygdrive/c/DOCUME~1/kern/LOCALS~1/Temp
213 USERPROFILE='C:\Documents and Settings\kern'
216 WXWIN='c:\home\kern\bacula\depkgs-win32\wx'