Changes between Version 5 and Version 6 of AdminDepLibs
- Timestamp:
- Jul 30, 2018, 12:37:42 PM (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AdminDepLibs
v5 v6 1 2 1 = BOINC Dependencies on Windows = 3 4 BOINC uses a number of third party libraries to handle things like communicating through proxies 5 and SSL support. Building these libraries with support for debugging can be tricky. 2 BOINC uses a number of third party libraries to handle things like communicating through proxies and SSL support. Building these libraries with support for debugging can be tricky. 6 3 7 4 A number of dependency trees have been created for Visual Studio: 8 5 9 2005: [http://boinc.berkeley.edu/gitweb/?p=boinc_depends_win_vs2005.git;a=summary boinc_depends_win_vs2005][[BR]] 10 2008: [http://boinc.berkeley.edu/gitweb/?p=boinc_depends_win_vs2008.git;a=summary boinc_depends_win_vs2008][[BR]] 11 2010: [http://boinc.berkeley.edu/gitweb/?p=boinc_depends_win_vs2010.git;a=summary boinc_depends_win_vs2010][[BR]] 12 2013: [http://boinc.berkeley.edu/gitweb/?p=boinc_depends_win_vs2013.git;a=summary boinc_depends_win_vs2013][[BR]] 6 2005: [http://boinc.berkeley.edu/gitweb/?p=boinc_depends_win_vs2005.git;a=summary boinc_depends_win_vs2005][[BR]] 2008: [http://boinc.berkeley.edu/gitweb/?p=boinc_depends_win_vs2008.git;a=summary boinc_depends_win_vs2008][[BR]] 2010: [http://boinc.berkeley.edu/gitweb/?p=boinc_depends_win_vs2010.git;a=summary boinc_depends_win_vs2010][[BR]] 2013: [http://boinc.berkeley.edu/gitweb/?p=boinc_depends_win_vs2013.git;a=summary boinc_depends_win_vs2013][[BR]] 13 7 14 These will need to be updated whenever new third party libraries need to be used or the Microsoft C-Runtime 15 library has been updated. 8 These will need to be updated whenever new third party libraries need to be used or the Microsoft C-Runtime library has been updated. 16 9 17 10 == Building Updated Dependency Libraries == 18 19 11 As of VS 2013 our libraries should be configured with the following settings for all builds. 20 12 21 13 Compiler Settings: 14 22 15 * Debug Information Format: Program Database (/Zi) 23 16 * Runtime Library: Multi-threaded DLL (/MD) 24 17 25 18 Linker Settings: 19 26 20 * Generated Debug Info: Yes (/DEBUG) 27 21 * Set Checksum: Yes (/RELEASE) 28 22 29 These settings enable the use of the correct C-Runtime library for BOINC and the ability for a debugger 30 to correctly load the right symbol file for a given executable or DLL from BOINC's 31 [http://boinc.berkeley.edu/symstore/ symbol store]. 23 These settings enable the use of the correct C-Runtime library for BOINC and the ability for a debugger to correctly load the right symbol file for a given executable or DLL from BOINC's [http://boinc.berkeley.edu/symstore/ symbol store]. 32 24 33 25 BOINC builds with four configurations: 26 34 27 * Debug/x86 35 28 * Release/x86 … … 40 33 41 34 === zLib === 42 43 35 Project URL: [http://www.zlib.net/] 44 36 45 37 zLib keeps its Visual Studio project files under 'contrib/vstudio/vc11'. Upgrade the project files to VS 2013. 46 38 47 Build all four configurations and copy the dll, lib, and pdb file to the root of the zlib source directory so 48 that libcurl can find it later. 39 Build all four configurations and copy the dll, lib, and pdb file to the root of the zlib source directory so that libcurl can find it later. 49 40 50 41 Project file diffs: [wiki:AdminDepLibszLib zLib] 51 42 52 43 === OpenSSL === 44 Project URL: https://www.openssl.org/ Follow these build instructions: 53 45 54 Project URL: [https://www.openssl.org/] 46 1) Install perl from https://www.activestate.com/activeperl 55 47 56 Follow build instructions in INSTALL.W32 for Release/x86 and Debug/x86 configurations. 48 2) Open Visual Studio Command Prompt 57 49 58 Follow build instructions in INSTALL.W64 for Release/x64 and Debug/x64 configurations. 50 3) Build 32-bit Release and debug. Roughly based on INSTALL.W32 from the main openssl directory: 59 51 60 NOTE: You will need to install some form of perl if it is not already installed on your computer. See: [http://www.activestate.com/activeperl ActivePerl]. 52 Release: 53 {{{ 54 $ perl Configure VC-WIN32 no-asm --prefix=c:\openssl_W32_Release 55 $ ms\do_ms 56 $ nmake -f ms\ntdll.mak 57 $ nmake -f ms\ntdll.mak test 58 $ nmake -f ms\ntdll.mak install 59 }}} 60 Debug: 61 {{{ 62 $ perl Configure VC-WIN32 no-asm --prefix=c:\openssl_W32_Debug 63 $ ms\do_ms 64 $ nmake -f ms\ntdll.mak 65 $ nmake -f ms\ntdll.mak test 66 $ nmake -f ms\ntdll.mak install 67 }}} 61 68 62 Be sure to add the 'no-asm' option to the 'Configure' script. Modify the resulting ntdll.mak file based on 63 the project diffs below. 69 4) Open Visual Studio x64 Win64 Command Prompt (note this is different than the normal visual studio command prompt): 64 70 65 Project file diffs: [wiki:AdminDepLibsOpenSSL OpenSSL] 71 5) Build 64-bit Release and debug. Instructions in INSTALL.W64 are not complete/detailed: 72 73 Release: 74 {{{ 75 $ perl Configure VC-WIN64A --prefix=c:\openssl_W64_Release 76 $ ms\do_win64a 77 $ nmake -f ms\ntdll.mak 78 $ nmake -f ms\ntdll.mak test 79 $ nmake -f ms\ntdll.mak install 80 }}} 81 Debug: 82 {{{ 83 $ perl Configure debug-VC-WIN64A --prefix=c:\openssl_W64_Debug 84 $ ms\do_win64a 85 $ nmake -f ms\ntdll.mak 86 $ nmake -f ms\ntdll.mak test 87 $ nmake -f ms\ntdll.mak install 88 }}} 89 90 6) Copy resulting files to the appropriate boinc_dependencies directories 66 91 67 92 === Curl === 68 69 93 Project URL: [http://curl.haxx.se/libcurl/] 70 94 … … 72 96 73 97 Example (Release/x86): 98 74 99 {{{ 75 100 set ZLIB_PATH=c:\src\sdks\zlib-1.2.8 … … 77 102 nmake -f Makefile cfg=release-dll-ssl-dll-zlib-dll 78 103 }}} 79 80 104 Project file diffs: [wiki:AdminDepLibsCurl Curl] 81 105 82 106 === Sqlite === 83 84 107 (will be deprecated once we switch to concierge-based auto attach) 85 108 … … 90 113 Project file diffs: [wiki:AdminDepLibsSqlite Sqlite] 91 114 92 93 115 === !WxWidgets === 94 95 116 URL: http://www.wxwidgets.org/