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