Changes between Version 53 and Version 54 of Windows build instructions
- Timestamp:
- Jun 9, 2017 10:53:44 AM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Windows build instructions
v53 v54 24 24 W32API: http://prdownloads.sf.net/mingw/w32api-3.5.tar.gz?download [[BR]] 25 25 Binutils: http://prdownloads.sf.net/mingw/binutils-2.13.90-20021006-2.tar.gz?download [[BR]] 26 ''Note that neither GCC v3.4.2 nor v3.4.5 is currently able to build a working recompiler. So, make sure you are using the 3.3.x versions! '' [[BR]]27 26 ''Use `--with-mingw32` and `--with-w32api=` to specify the path to configure.vbs.'' 28 27 … … 36 35 37 36 * '''SDL v1.2.7 or later''' development package (VC6): [[BR]]http://www.libsdl.org/download-1.2.php [[BR]] 38 ''Use `--with-libsdl=` to specify the path for configure.vbs.'' 37 ''Use `--with-libsdl=` to specify the path for configure.vbs.'' [[BR]] 38 ''Use `--disable-sdl` to disable the SDL frontend and to remove the dependency to SDL.'' 39 39 40 40 * the '''libxml2''' library. Sources and 32bit binaries can be downloaded from: [[BR]] … … 44 44 * the '''zlib''' library. Grab the sources from: [[BR]] 45 45 http://www.zlib.net/ [[BR]] 46 Actually the tarball includes `zlib` in the `src/libs/` directory so downloading this library is only necessary if you need a more recent version. In that case look for `SDK_VBOX_ZLIB_INCS` and `SDK_VBOX_ZLIB_LIBS` in Config.kmk and override these entries in your {{{LocalConfig.kmk}}} accordingly. See [#LocalConfig below] for some notes about using {{{LocalConfig.kmk}}}to override the default build configuration).46 Actually the tarball includes `zlib` in the `src/libs/` directory so downloading this library is only necessary if you need a more recent version. In that case look for `SDK_VBOX_ZLIB_INCS` and `SDK_VBOX_ZLIB_LIBS` in Config.kmk and override these entries in your `LocalConfig.kmk` accordingly. See [#LocalConfig below] for some notes about using `LocalConfig.kmk` to override the default build configuration). 47 47 48 48 * the '''cURL''' library. Grab the binaries from: [[BR]] 49 49 http://curl.haxx.se/download.html [[BR]] 50 50 (use the devel version ''without'' SSL support) [[BR]] 51 ''Use `--with-libcurl=` to specify the path for configure.vbs. For building the 64-bit !VirtualBox target use`--with-libcurl32=` to specify the path to the 32-bit cURL development package as both cURL variants (32-bit and 64-bit) are required then.''51 ''Use `--with-libcurl=` to specify the path for configure.vbs. For building the 64-bit target you need to add `--with-libcurl32=` to specify the path to the 32-bit cURL development package as both cURL variants (32-bit and 64-bit) are required then.'' 52 52 53 53 * '''OpenSSL 1.1.0'''. Grab the binaries from: [[BR]] 54 54 https://slproweb.com/products/Win32OpenSSL.html [[BR]] 55 ''Use `--with-openssl=` to specify the path for configure.vbs. For building the 64-bit !VirtualBox target use`--with-openssl32=` to specify the path to the 32-bit OpenSSL development package as both OpenSSL variants (32-bit and 64-bit) are required then.''55 ''Use `--with-openssl=` to specify the path for configure.vbs. For building the 64-bit target you need to add `--with-openssl32=` to specify the path to the 32-bit OpenSSL development package as both OpenSSL variants (32-bit and 64-bit) are required then.'' 56 56 57 57 * '''code signing utilities''' (64-bit Windows only). [[BR]] … … 63 63 * ''Optional:'' '''gSOAP 2.8.x''', only needed if you want to build the webservice API server. Grab the sources from: [[BR]] 64 64 http://sourceforge.net/projects/gsoap2/files/gSOAP/gSOAP%202.7.12%20stable/ [[BR]] 65 Add `VBOX_PATH_GSOAP=/path/to/gsoap-VERSION/gsoap` and `VBOX_GSOAP_INSTALLED=1` to your {{{LocalConfig.kmk}}}file (no autodetection from configure.vbs).65 Add `VBOX_PATH_GSOAP=/path/to/gsoap-VERSION/gsoap` and `VBOX_GSOAP_INSTALLED=1` to your `LocalConfig.kmk` file (no autodetection from configure.vbs). 66 66 67 67 * ''Optional:'' '''Python 2.7.x''', only needed if you want to build Python API bindings, both webservice and COM. Grab the binaries from: [[BR]] … … 96 96 cscript configure.vbs 97 97 }}} 98 If the script finds all the tools necessary, it will output two files: `AutoConfig.kmk` containing information where to find the tools on your system and `env.bat`, a batch file to setup your environment for building !VirtualBox. You only have to execute this step once, unless something about your tools changes in which case you have to repeat the above step. Keep in mind that the script always overwrites the two generated files so you should not manually edit them.98 If the script finds all the tools necessary, it will output two files: '''`AutoConfig.kmk`''' containing information where to find the tools on your system and '''`env.bat`''', a batch file to setup your environment for building !VirtualBox. You only have to execute this step once, unless something about your tools changes in which case you have to repeat the above step. Keep in mind that the script always overwrites the two generated files so you should not manually edit them. 99 99 100 The default target will be the same target as the host, that is, on a 32-bit host the environment will be set up to compile the 32-bit !VirtualBox target while on a 64-bit host the environment will be set up to compile the 64-bit !VirtualBox target. The default setting can be overridden by using the `--target-arch=` parameter.100 The '''default target''' will be the same target as the host, that is, on a 32-bit host the environment will be set up to compile the 32-bit !VirtualBox target (`x86`) while on a 64-bit host the environment will be set up to compile the 64-bit !VirtualBox target (`amd64`). The default setting can be overridden by using the `--target-arch=` parameter. 101 101 102 102 2. Change to the root directory of the sources and enter our build shell environment: `env.bat`. 103 103 104 3. To manually override any tool or change Config.kmk settings, create {{{LocalConfig.kmk}}}in the root directory of the sources and place the setting there. See [#LocalConfig below] for an incomplete of possible settings.104 3. To manually override any tool or change Config.kmk settings, create `LocalConfig.kmk` in the root directory of the sources and place the setting there. See [#LocalConfig below] for an incomplete of possible settings. 105 105 106 106 4. To build a release package, type `kmk`. This produces the binaries in `out\win.x86\release\bin` (or `out\win.amd64\release\bin` on 64-bit hosts). If you want to build a debug version, enter `kmk KBUILD_TYPE=debug`. 107 107 108 5. To create an `.msi` package, type `kmk packing'. 108 5. To create an `.msi` package, type `kmk packing'.[[BR]] 109 This step will fail for a 64-bit (`amd64`) target if the Guest Additions are part of the build process (which is the default). It will complain about a dependency to `VBoxOGL*` libraries in `out\win.x86\release\bin\additions`. In that case, create the 32-bit Guest Additions by executing 110 {{{ 111 kmk VBOX_ONLY_ADDITIONS KBUILD_TARGET_ARCH=x86 112 }}} 113 After that, type `kmk packing` again and it should succeed. 109 114 110 115 === Using Visual C++ 2010 Express === … … 120 125 === Excluding certain features from building === #LocalConfig 121 126 122 Here is an incomplete list of settings which could be added to {{{LocalConfig.kmk}}}:127 Here is an incomplete list of settings which could be added to '''`LocalConfig.kmk`''': 123 128 VBOX_WITH_ADDITIONS=:: 124 129 Don't build the !VirtualBox Guest Additions. … … 149 154 150 155 Part 3: building !VirtualBox with signing enabled 151 1. If you called the certificate something other than !MyTestCertificate you'll have make the appropriate overrides in {{{LocalConfig.kmk}}}. See the {{{Code Signing}}} section of Config.kmk for what can be overridden.152 1. Add {{{VBOX_SIGNING_MODE=test}}} to {{{LocalConfig.kmk}}}.156 1. If you called the certificate something other than !MyTestCertificate you'll have make the appropriate overrides in `LocalConfig.kmk`. See the {{{Code Signing}}} section of Config.kmk for what can be overridden. 157 1. Add `VBOX_SIGNING_MODE=test` to `LocalConfig.kmk`. 153 158 1. Build (incremental is sufficient). 154 159