]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/README.win32
Update all pools when starting the Director
[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 That should be all there is too it. The winbacula-1.xx.y.exe should be
61 in the current directory.
62
63
64 See License.txt for the License.
65
66 The native Win32 interface code was written by:
67
68    Christopher S. Hull, February 2004
69
70
71 For more details of building wx, see depkgs-win32/wx/docs/msw/install.txt
72
73 The easiest way to build this is to have a Visual Studio C++ 6.0. 
74 However, you can use the free Microsoft C++ compiler with a bit
75 of additional work.
76
77 Here are additional pointers on building wx-console supplied by Nicolas Boichat:
78
79
80 Tools I used (I think the 3 first one are included in VStudio) :
81 - VC++ toolkit : http://msdn.microsoft.com/visualc/vctoolkit2003/
82 - Windows Platform SDK :
83    http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
84    (Core SDK and Internet Development SDK)
85 - nmake (it got it with .Net Framework SDK)
86 - lib.exe found in the SDK-base/Bin/win64 directory (works fine
87   on a 32 bit Windows).
88
89 Instructions if you want to build wx-console :
90 - wxWidgets 2.4.2 compilation
91   + In include/wx/string.h, replace line 195 by
92       #if defined(__VISUALC__) // && defined(_MT) && !defined(_DLL)
93   + In src/common/string.cpp, replace line 167 by
94       #if defined(__VISUALC__) // && defined(_MT) && !defined(_DLL)
95   + Follow the instructions in docs/msw/install.txt
96      (Visual C++ 6.0 compilation - Using makefiles)
97
98 - Make sure that the environment variables are set as:
99   - PATH includes the directories bin of both the C++ Toolkit and the SDK
100   - INCLUDE includes the directories include of both the C++ Toolkit and the SDK
101   - LIB includes the directories Lib of both the C++ Toolkit and the SDK
102     
103 - Compile bacula depkg-win32 with Visual Studio or try the
104   supplied makefiles as described in the doc.
105
106 - Compile wx-console with nmake -f wx-console.mak in
107   src/win32/wx-console
108
109 - Additional information on using the free Micrsosoft C++ see
110   http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit
111
112 NOTE! I (Kern) cannot build wxWindows with the Makefile until after
113 I do a ./configure.  I can us VC Studio directly to do so
114 following their instructions.
115
116 Getting all the environment variables setup properly is not always so obvious.
117 Here is what I have when I do a "set" in a rxvt window, in which I build
118 Bacula. Probably what is important are INCLUDE, LIB, PATH, and WXWIN, but note
119 there are a zillion other things set:
120 !::='::\'
121 !C:='C:\cygwin\home\kern'
122 ALLUSERSPROFILE='C:\Documents and Settings\All Users'
123 APPDATA='C:\Documents and Settings\kern\Application Data'
124 BASEMAKE='C:\Program Files\Microsoft SDK\Include\BKOffice.Mak'
125 BASH=/usr/bin/bash
126 BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release" [5]="i686-pc-cygwin")
127 BASH_VERSION='2.05b.0(1)-release'
128 BKOFFICE='C:\Program Files\Microsoft SDK\.'
129 CLIENTNAME=Console
130 COLORFGBG='0;default;15'
131 COLORTERM=rxvt-xpm
132 COLUMNS=70
133 COMMONPROGRAMFILES='C:\Program Files\Common Files'
134 COMPUTERNAME=TIBS
135 COMSPEC='C:\WINDOWS\system32\cmd.exe'
136 CYGWIN=notty
137 DIRSTACK=()
138 DISPLAY=:0
139 EDHELP=/home/kern/bin/ed.hlp
140 EDTRM=/home/kern/bin/ed.trm
141 EUID=1007
142 GROUPS=()
143 HISTFILE=/cygdrive/c/home/kern/.bash_history
144 HISTFILESIZE=500
145 HISTSIZE=500
146 HOME=/cygdrive/c/home/kern
147 HOMEDRIVE=C:
148 HOMEPATH='\Documents and Settings\kern'
149 HOSTNAME=Tibs
150 HOSTTYPE=i686
151 IFS=$' \t\n'
152 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'
153 INETSDK='C:\Program Files\Microsoft SDK\.'
154 LIB='C:\Program Files\Microsoft SDK\Lib\.;C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib'
155 LINES=65
156 LOGONSERVER='\\TIBS'
157 MACHTYPE=i686-pc-cygwin
158 MAILCHECK=60
159 MAKE_MODE=UNIX
160 MOZILLA_HOME=/home/netscape
161 MSDEVDIR='C:\Program Files\Microsoft Visual Studio\Common\MSDev98'
162 MSSDK='C:\Program Files\Microsoft SDK\.'
163 MSTOOLS='C:\Program Files\Microsoft SDK\.'
164 NUMBER_OF_PROCESSORS=1
165 OLDPWD=/home/kern/bacula
166 OPTERR=1
167 OPTIND=1
168 OS=Windows_NT
169 OSTYPE=cygwin
170 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:'
171 PATHEXT='.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
172 PIPESTATUS=([0]="0")
173 PPID=3864
174 PROCESSOR_ARCHITECTURE=x86
175 PROCESSOR_IDENTIFIER='x86 Family 15 Model 2 Stepping 7, GenuineIntel'
176 PROCESSOR_LEVEL=15
177 PROCESSOR_REVISION=0207
178 PROGRAMFILES='C:\Program Files'
179 PROMPT='$P$G'
180 PS1='\e[34m\]\w\[\e[0m\]$\040'
181 PS2='> '
182 PS4='+ '
183 PWD=/home/kern
184 SESSIONNAME=Console
185 SHELL=/bin/bash
186 SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
187 SHLVL=1
188 SYSTEMDRIVE=C:
189 SYSTEMROOT='C:\WINDOWS'
190 TEMP=/cygdrive/c/DOCUME~1/kern/LOCALS~1/Temp
191 TERM=xterm
192 TMP=/cygdrive/c/DOCUME~1/kern/LOCALS~1/Temp
193 UID=1007
194 USERDOMAIN=TIBS
195 USERNAME=kern
196 USERPROFILE='C:\Documents and Settings\kern'
197 WINDIR='C:\WINDOWS'
198 WINDOWID=168050736
199 WXWIN='c:\home\kern\bacula\depkgs-win32\wx'
200 _=set