]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/README.win32
58efef1d56865932208e4d0b4432f00f78777de8
[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     cd depkgs-win32
44     cd wx
45     ./configure
46     (try doing a make, but it will probably fail)   
47 - You may have to build wx with VC++ (as was the case for me).
48   After starting VC++, use File->Open Workspace then
49   open wx/src/wxWindows.dsw then use
50   Build->Build All or Build->build wxmsw.lib should work too.
51 - Then 
52     cd depkgs-win32
53     make
54   this will build pthreads and zlib
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 -- I had to use                
113 VC Studio directly to do so following their instructions.
114
115 Getting all the environment variables setup properly is not always so obvious.
116 Here is what I have when I do a "set" in a rxvt window, in which I build
117 Bacula. Probably what is important are INCLUDE, LIB, PATH, and WXWIN, but note
118 there are a zillion other things set:
119 !::='::\'
120 !C:='C:\cygwin\home\kern'
121 ALLUSERSPROFILE='C:\Documents and Settings\All Users'
122 APPDATA='C:\Documents and Settings\kern\Application Data'
123 BASEMAKE='C:\Program Files\Microsoft SDK\Include\BKOffice.Mak'
124 BASH=/usr/bin/bash
125 BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release" [5]="i686-pc-cygwin")
126 BASH_VERSION='2.05b.0(1)-release'
127 BKOFFICE='C:\Program Files\Microsoft SDK\.'
128 CLIENTNAME=Console
129 COLORFGBG='0;default;15'
130 COLORTERM=rxvt-xpm
131 COLUMNS=70
132 COMMONPROGRAMFILES='C:\Program Files\Common Files'
133 COMPUTERNAME=TIBS
134 COMSPEC='C:\WINDOWS\system32\cmd.exe'
135 CYGWIN=notty
136 DIRSTACK=()
137 DISPLAY=:0
138 EDHELP=/home/kern/bin/ed.hlp
139 EDTRM=/home/kern/bin/ed.trm
140 EUID=1007
141 GROUPS=()
142 HISTFILE=/cygdrive/c/home/kern/.bash_history
143 HISTFILESIZE=500
144 HISTSIZE=500
145 HOME=/cygdrive/c/home/kern
146 HOMEDRIVE=C:
147 HOMEPATH='\Documents and Settings\kern'
148 HOSTNAME=Tibs
149 HOSTTYPE=i686
150 IFS=$' \t\n'
151 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'
152 INETSDK='C:\Program Files\Microsoft SDK\.'
153 LIB='C:\Program Files\Microsoft SDK\Lib\.;C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib'
154 LINES=65
155 LOGONSERVER='\\TIBS'
156 MACHTYPE=i686-pc-cygwin
157 MAILCHECK=60
158 MAKE_MODE=UNIX
159 MOZILLA_HOME=/home/netscape
160 MSDEVDIR='C:\Program Files\Microsoft Visual Studio\Common\MSDev98'
161 MSSDK='C:\Program Files\Microsoft SDK\.'
162 MSTOOLS='C:\Program Files\Microsoft SDK\.'
163 NUMBER_OF_PROCESSORS=1
164 OLDPWD=/home/kern/bacula
165 OPTERR=1
166 OPTIND=1
167 OS=Windows_NT
168 OSTYPE=cygwin
169 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:'
170 PATHEXT='.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
171 PIPESTATUS=([0]="0")
172 PPID=3864
173 PROCESSOR_ARCHITECTURE=x86
174 PROCESSOR_IDENTIFIER='x86 Family 15 Model 2 Stepping 7, GenuineIntel'
175 PROCESSOR_LEVEL=15
176 PROCESSOR_REVISION=0207
177 PROGRAMFILES='C:\Program Files'
178 PROMPT='$P$G'
179 PS1='\e[34m\]\w\[\e[0m\]$\040'
180 PS2='> '
181 PS4='+ '
182 PWD=/home/kern
183 SESSIONNAME=Console
184 SHELL=/bin/bash
185 SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
186 SHLVL=1
187 SYSTEMDRIVE=C:
188 SYSTEMROOT='C:\WINDOWS'
189 TEMP=/cygdrive/c/DOCUME~1/kern/LOCALS~1/Temp
190 TERM=xterm
191 TMP=/cygdrive/c/DOCUME~1/kern/LOCALS~1/Temp
192 UID=1007
193 USERDOMAIN=TIBS
194 USERNAME=kern
195 USERPROFILE='C:\Documents and Settings\kern'
196 WINDIR='C:\WINDOWS'
197 WINDOWID=168050736
198 WXWIN='c:\home\kern\bacula\depkgs-win32\wx'
199 _=set