]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/README.mingw32
- Remove xpg4 lib from FreeBSD build as it is no longer needed and
[bacula/bacula] / bacula / src / win32 / README.mingw32
1
2 This file documents building the Bacula Win32 FD using the cross-tool
3 on a Linux (possibly other Unix) system.
4
5 The basic directory structure you need to have is:
6   bacula                     top level directory -- any name 
7     bacula-source            top level Bacula source directory -- any name
8       src
9         win32                main directory where the Win32 FD is built.
10           compat             Bacula win32 emulation lib for Unix calls
11
12     dekpgs-win32             
13        pthreads              The POSIX pthreads library (third party)
14        zlib                  The zlib library (third party)
15        wx                    The wxWidgets library (third party)
16        openssl               The OpenSSL library (third party)
17
18     cross-tools              Cross compliation tools (gcc, g++, mingw, ...)
19        vss                   A copy of the Windows VSS directory
20          inc
21            ...
22          lib
23            ...
24
25 depkgs-win32 is released in a separate .tar.gz file that contains the
26 source for the above mentioned libraries needed to build the
27 Win32 Bacula.  It can be found in the Source Forge Bacula project
28 release section.  Docs is released as a separate tar file, which is
29 created from the bacula CVS docs project (module).
30
31 cross-tools is a directory that you create. There is a script, described
32 below, that will download all the necessary files and build them. You need
33 only run that script once, unless we move to a new version of the tools.
34 In addition, you must download the Microsoft VSS libraries, install them
35 on a Windows system. We are not allowed to distribute those files so you
36 must do it yourself.  Normally the files will be installed in:
37
38    c:/Program Files/VSSSDK71
39
40 you need only copy everything under that directory into cross-tools/vss.
41 Note, only the inc and lib directories are needed (and I'm not even sure
42 that the lib directory is needed).  
43
44 Now, once you have the directory structure as defined above, you do
45 the following once:
46
47   cd bacula/bacula-source
48   ./configure (any standard set of config options the exact ones   
49                are not important).
50   cd src/win32
51   ./build-win32-cross-tools
52
53 The above only needs to be done once unless we change the cross-tools 
54 version.  In general, you can run the script multiple times with no
55 problem. For it to work, you must have a valid gcc compiler installed on
56 your system as well as wget and texinfo.  There may be other dependencies.
57
58 After building the cross-tools, you can proceed to build the depkgs-win32 
59 packages, which must use the cross-tools compiler.
60  
61    cd depkgs-win32
62    ./build-mingw32
63
64 The above only needs to be done once as well as long as the cross-tools or
65 depkgs-win32 versions do not change.
66
67 Finally, to build the Win32 Bacula FD and bconsole, do the following:
68
69    cd bacula-source/src/win32
70    make
71
72 if all goes well, you will end with bacula-fd.exe, bconsole.exe,
73 pthreadGCE.dll, and mingwm10.dll in the current directory.
74
75 Items to be done:
76 - Get VSS builds to work
77 - Complete the automated build of depkgs-win32
78 - Modify the Win32 build to turn on OpenSSL
79 - Build the other Win32 tools (bsmtp, wx-console, tools, ...)