Changes between Version 54 and Version 55 of Windows build instructions
- Timestamp:
- Jun 9, 2017 10:58:13 AM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Windows build instructions
v54 v55 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]] … … 73 73 74 74 === Manual compilation of certain prerequisites === 75 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 `libcurl.lib`, `libcurl.dll' files and the `include /` directory.75 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 `libcurl.lib`, `libcurl.dll' files and the `include\` directory. 76 76 77 77 To manually build the cURL devel package on Windows you have to 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).79 2. Set the '''`INCLUDE`''' environment variable to include the compilers `atlmfc /include/` (ATL/MFC) and `include/` directories.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).82 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).83 6. Set the '''`INCLUDE`''' environment variable to include the (7.1) SDK `include /` directory.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).85 After all these environment variables are set up, go to the `curl-VERSION /winbuild/` directory and perform78 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). 79 2. Set the '''`INCLUDE`''' environment variable to include the compilers `atlmfc\include\` (ATL/MFC) and `include\` directories. 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). 82 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). 83 6. Set the '''`INCLUDE`''' environment variable to include the (7.1) SDK `include\` directory. 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). 85 After all these environment variables are set up, go to the `curl-VERSION\winbuild\` directory and perform 86 86 {{{ 87 87 nmake /f Makefile.vc mode=dll VC=10 MACHINE=x64 or 88 88 nmake /f Makefile.vc mode=dll VC=10 MACHINE=x86 89 89 }}} 90 The 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.90 The resulting package can be found in the `builds\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. 91 91 92 92 == Building !VirtualBox == … … 133 133 Don't build the !VirtualBVox validation kit. 134 134 VBOX_WITHOUT_HARDENING=1:: 135 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).135 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). 136 136 137 137 === Only for 64 bit builds: setting up self signing === … … 166 166 }}} 167 167 168 which can be found in the output directory (`out /win.ARCH/release/bin`). Note that for this to work, `VBoxSVC.exe` must not be running, so use the Windows task manager to verify this. Usually `VBoxSVC.exe` terminates automatically after 5 seconds of inactivity (i.e. no client connection) but especially when developing, it might sometimes stay around. In case the COM classes change (this usually happens when the file `VirtualBox.xidl` is updated) and you forget to re-register the classes, weird problems may appear.168 which can be found in the output directory (`out\win.ARCH\release\bin`). Note that for this to work, `VBoxSVC.exe` must not be running, so use the Windows task manager to verify this. Usually `VBoxSVC.exe` terminates automatically after 5 seconds of inactivity (i.e. no client connection) but especially when developing, it might sometimes stay around. In case the COM classes change (this usually happens when the file `VirtualBox.xidl` is updated) and you forget to re-register the classes, weird problems may appear. 169 169 170 170 Before you can start any binary from the output directory you have to make sure that external libraries (for example `libcurl.dll` or `libcrypto.dll`) are located in a directory which is accessible by the `PATH` variable or by copying these libraries to the output directory.