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