VirtualBox

Changes between Version 51 and Version 52 of Windows build instructions


Ignore:
Timestamp:
Jun 9, 2017 7:59:13 AM (7 years ago)
Author:
Frank Mehnert
Comment:

more updates

Legend:

Unmodified
Added
Removed
Modified
  • Windows build instructions

    v51 v52  
    4040 * the '''libxml2''' library. Sources and 32bit binaries can be downloaded from: [[BR]]
    4141 http://xmlsoft.org/downloads.html [[BR]]
    42  http://xmlsoft.org/XSLT/downloads.html [[BR]]
    4342 ''Use `--with-libxml2=` to specify the path for configure.vbs.''
    4443
    4544 * the '''zlib''' library. Grab the sources from: [[BR]]
    4645 http://www.zlib.net/ [[BR]]
    47  Actually the tarball comes with zlib in the `src/libs/` directory already so downloading this library is only necessary if you need a new 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 (see below for some notes about LocalConfig.kmk).
     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).
    4847
    4948 * the '''cURL''' library. Grab the binaries from: [[BR]]
     
    5958 Normally part of the WDK: `certmgr.exe`, `makecert.exe`, `signtool.exe` and so on.
    6059
    61  * ''Optional:'' '''NSIS 2.51''', only needed if you want to build the Guest Additions including the installer. Required plugins: NsSCM, AccessControl, NsProcess and nsisunz. Grab the sources or setup from: [[BR]]
     60 * ''Optional:'' '''NSIS 2.51''', only needed if you want to build the Guest Additions including the installer. Required plugins: `NsSCM`, `AccessContro`, `NsProcess` and `nsisunz`. Grab the sources or setup from: [[BR]]
    6261 https://sourceforge.net/projects/nsis/files/NSIS%202/2.51/
    6362
    6463 * ''Optional:'' '''gSOAP 2.8.x''', only needed if you want to build the webservice API server. Grab the sources from: [[BR]]
    6564 http://sourceforge.net/projects/gsoap2/files/gSOAP/gSOAP%202.7.12%20stable/ [[BR]]
    66  Add `VBOX_PATH_GSOAP=/path/to/gsoap-VERSION/gsoap` and `VBOX_GSOAP_INSTALLED=1` to your LocalConfig.kmk file (no autodetection from configure.vbs).
    67 
     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).
    6866
    6967 * ''Optional:'' '''Python 2.7.x''', only needed if you want to build Python API bindings, both webservice and COM. Grab the binaries from: [[BR]]
     
    7573
    7674=== Manual compilation of certain prerequisites ===
    77 If you don't find development packages of certain prerequisites it's also possible to manually compile them. For instance, there does not seem to be proper libcurl packages avaible for Windows which contain the .lib files, the .dll files as well as the `include/` directory.
     75If you don't find development packages of certain prerequisites it's also possible to manually compile them. For instance, there does not seem to be proper `libcurl` packages avaible for Windows which contain `libcurl.lib`, `libcurl.dll' files and the `include/` directory.
    7876
    7977To manually build the cURL devel package on Windows you have to
    80  1. Take care that the compiler binary path is part of the '''`PATH`''' environment variable, usually the `bin/` directory of the installation directory. That directory has to contain `cl.exe`, `link.exe`, `lib.exe`, `nmake.exe` etc. Take care to point to the correct architecture path (amd64 or x86).
     78 1. Take care that the compiler binary path is part of the '''`PATH`''' environment variable, usually the `bin/` directory of the installation directory. That directory has to contain `cl.exe`, `link.exe`, `lib.exe`, `nmake.exe` etc. Take care to specify the correct architecture path (amd64 or x86).
    8179 2. Set the '''`INCLUDE`''' environment variable to include the compilers `atlmfc/include/` (ATL/MFC) and `include/` directories.
    82  3. Set the '''`LIB`''' environment variable to include the compilers `atlmfc/lib/` (ATL/MFC) and `lib/` directories. Take care to point to the correct architecture path (amd64 or x86).
    83  4. Set the '''`LIBPATH`''' environment variable to include the compilers `atlmfc/lib/` (ATL/MFC) directory. Take care to point to the correct architecture path (amd64 or x86).
     80 3. Set the '''`LIB`''' environment variable to include the compilers `atlmfc/lib/` (ATL/MFC) and `lib/` directories. Take care to specify the correct architecture path (amd64 or x86).
     81 4. Set the '''`LIBPATH`''' environment variable to include the compilers `atlmfc/lib/` (ATL/MFC) directory. Take care to specify the correct architecture path (amd64 or x86).
    8482 5. Set the '''`PATH`''' environment variable to include the (7.1) SDK `bin/` directory. Take care to point to the correct architecture path (amd64 or x86).
    8583 6. Set the '''`INCLUDE`''' environment variable to include the (7.1) SDK `include/` directory.
    86  7. Set the '''`LIB`''' environment variable to include the (7.1) SDK `lib/` directory. Take care to point to the correct architecture path (amd64 or x86).
     84 7. Set the '''`LIB`''' environment variable to include the (7.1) SDK `lib/` directory. Take care to specify the correct architecture path (amd64 or x86).
    8785After all these environment variables are set up, go to the `curl-VERSION/winbuild/` directory and perform
    8886{{{
     
    9088nmake /f Makefile.vc mode=dll VC=10 MACHINE=x86
    9189}}}
    92 The resulting package can be found in `libcurl-vc10-*-winssl/` directory. The configure.vbs script expects that libcurl.lib and libcurl.dll are located next to the `include/` directory. It's a good idea to copy the `libcurl-vc10-*-winssl/` directory to another place. Then use the `--with-libcurl=` parameter to tell configure.vbs the path.
     90The resulting package can be found in the `libcurl-vc10-*-winssl/` directory. The configure.vbs script expects that libcurl.lib and libcurl.dll are located next to the `include/` directory. It's a good idea to copy the `libcurl-vc10-*-winssl/` directory to another place. Then use the `--with-libcurl=` parameter to specify the path for configure.vbs.
    9391
    9492== Building !VirtualBox ==
     
    104102 2. Change to the root directory of the sources and enter our build shell environment: `env.bat`.
    105103
    106  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. For instance, to create a non-hardened build ('''only for testing'''), add `VBOX_WITHOUT_HARDENING = 1` to LocalConfig.kmk.
     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.
    107105
    108  4. To build a release package, type `kmk`. This produces the binaries in `out\win.x86\release\bin`. If you want to build a debug version, enter `kmk KBUILD_TYPE=debug`.
     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`.
    109107
     108 5. To create an `.msi` package, type `kmk packing'.
    110109
    111110=== Using Visual C++ 2010 Express ===
     
    117116cscript configure.vbs --with-VC-Express-Edition
    118117}}}
     118
     119
     120=== Excluding certain features from building === #LocalConfig
     121
     122Here is an incomplete list of settings which could be added to {{{LocalConfig.kmk}}}:
     123 VBOX_WITH_ADDITIONS=::
     124  Don't build the !VirtualBox Guest Additions.
     125 VBOX_ONLY_ADDITIONS=1::
     126  Build the Guest Additions exclusively.
     127 VBOX_WITH_VALIDATIONKIT=::
     128  Don't build the !VirtualBVox validation kit.
     129 VBOX_WITHOUT_HARDENING=1::
     130  Disable Windows hardening. Useful for testing. Do '''not''' use this setting for production builds! Without hardening the binaries are not signed and !VirtualBox.exe can be started straight away from the out/.../bin directory (`kmk packing` + installation not required).
    119131
    120132=== Only for 64 bit builds: setting up self signing ===

© 2023 Oracle
ContactPrivacy policyTerms of Use