Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Attempt to correct build page formatting. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
f799ecc40fc69e43ef63c4db9f68757f |
User & Date: | mistachkin 2012-09-14 12:58:52.928 |
Context
2012-09-14
| ||
13:00 | Move title outside of nowiki. check-in: 5f05013ed8 user: mistachkin tags: trunk | |
12:58 | Attempt to correct build page formatting. check-in: f799ecc40f user: mistachkin tags: trunk | |
12:31 | Update version history docs. check-in: 12327ea7d9 user: mistachkin tags: trunk | |
Changes
Changes to www/build.wiki.
|
| > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 | <nowiki> <title>Build Procedures</title> <a name="procedures"></a> <h2>Build Procedures</h2> <p> Follow these steps to build the System.Data.SQLite (SDS) binaries. Unless otherwise noted, all steps need to be done in the order specified. </p> <p> You will need a Visual Studio 2008, Visual Studio 2008 SP1, Visual Studio 2010, Visual Studio 2010 SP1, or Visual Studio 2012 development environment for this build. In order to build both the managed (C#) and native projects (C++) for a particular solution together, the "Professional Edition" (or better) of that particular version of Visual Studio is required. </p> <p> The new build system has been setup using modular solution, project, and property files. </p> <p> In general, all files with 2005, 2008, 2010, or 2012 in the name (e.g. "SQLite.Interop.2005.vcproj") are files for Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, or Visual Studio 2012, respectively. Files ending in ".vsprops" are property files for a Visual Studio 2005 or Visual Studio 2008 project. Files ending in ".props" are property files for a the Visual Studio 2010 or Visual Studio 2012 project. When making changes, they should be made to the corresponding files for all applicable versions of Visual Studio. </p> <p> You can either <a href="#manual">manually build</a> the System.Data.SQLite binaries using one of the supplied Visual Studio solutions or follow the steps outlined in the <a href="#automated">Automated Build</a> section below. </p> <a name="assumptions"></a> <h2>Build Assumptions & Prerequisites</h2> <ol> <li> We want to ship managed binaries that rely on the .NET Framework 2.0 SP2 (or for the LINQ assembly, the .NET Framework 3.5 SP1). The .NET Framework 2.0 is very widely deployed and binaries produced for it can also be referenced and used successfully from projects using the .NET Framework 4.0. </li> <li> We want to ship native binaries that rely on the Visual C++ 2008 Runtime. </li> <li> We want to ship the separate managed-only "System.Data.SQLite.dll" assembly and the "SQLite.Interop.dll" native library. This will make it easier to maintain and deploy the included core SQLite code (in the "SQLite.Interop.dll" native library). We also want to ship the "monster DLL" (i.e. the mixed-mode "System.Data.SQLite.dll" assembly that includes all the necessary native and managed code). This will make it easier for developers that wish to register the assembly in the Global Assembly Cache (GAC). </li> <li> The machine used to prepare the official releases will have the <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7">.NET Framework 3.5 SP1</a> and the corresponding <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC">SDK</a> installed. </li> <li> The machine used to prepare the official releases will have <a href="http://www.jrsoftware.org/isdl.php">Inno Setup 5.4.2</a> or higher installed in "%ProgramFiles%\Inno Setup 5" or "%ProgramFiles(x86)%\Inno Setup 5" for an 64-bit machines. Alternatively, the Inno Setup directory may be included in the PATH environment variable. </li> <li> The string "<root>" represents the root directory of your local source tree (i.e. the working check-out directory) for the System.Data.SQLite project. </li> <li> The string "<year>" represents the version of Visual Studio being used (e.g. 2008). </li> <li> For now, the project will always be built on modern Windows using the .NET Framework even when they will eventually be deployed to run under Mono on Unix. </li> </ol> <a name="all"></a> <h2>All Builds</h2> <ol> <li> Make sure the version information is correct for SQLite in all of the following files: <ul> <li><root>\SQLite.Interop\props\sqlite3.vsprops</li> <li><root>\SQLite.Interop\props\sqlite3.props</li> </ul> You'll need to update the SQLITE_MANIFEST_VERSION and SQLITE_RC_VERSION properties. This version number should track the release versions of SQLite (i.e. <a href="http://www.sqlite.org/changes.html">3.7.x</a>). </li> <li> Make sure the version information is correct for System.Data.SQLite in the following files: <ul> <li><root>\readme.htm</li> <li><root>\SQLite.nuspec</li> <li><root>\SQLite.MSIL.nuspec</li> <li><root>\SQLite.x86.nuspec</li> <li><root>\SQLite.x64.nuspec</li> <li><root>\Doc\Extra\dbfactorysupport.html</li> <li><root>\Doc\Extra\welcome.html</li> <li><root>\Membership\Properties\AssemblyInfo.cs</li> <li><root>\SQLite.Designer\AssemblyInfo.cs</li> <li><root>\SQLite.Designer\source.extension.vsixmanifest</li> <li><root>\SQLite.Interop\props\SQLite.Interop.2005.vsprops</li> <li><root>\SQLite.Interop\props\SQLite.Interop.2008.vsprops</li> <li><root>\SQLite.Interop\props\SQLite.Interop.2010.props</li> <li><root>\SQLite.Interop\props\SQLite.Interop.2012.props</li> <li><root>\SQLite.Interop\src\win\interop.h</li> <li><root>\System.Data.SQLite\AssemblyInfo.cs</li> <li><root>\System.Data.SQLite\SQLite3.cs</li> <li><root>\System.Data.SQLite\UnsafeNativeMethods.cs</li> <li><root>\System.Data.SQLite.Linq\AssemblyInfo.cs</li> <li><root>\test\AssemblyInfo.cs</li> <li><root>\test\app.config</li> <li><root>\testce\AssemblyInfo.cs</li> <li><root>\testlinq\2008\App.config</li> <li><root>\testlinq\2010\App.config</li> <li><root>\testlinq\2012\App.config</li> <li><root>\testlinq\Properties\AssemblyInfo.cs</li> <li><root>\Tests\version.eagle</li> <li><root>\tools\install\Properties\AssemblyInfo.cs</li> </ul> You'll need to update the INTEROP_BUILD_NUMBER, INTEROP_LINKER_VERSION, INTEROP_MANIFEST_VERSION, and INTEROP_RC_VERSION properties in the ".vsprops" and ".props" files, and the INTEROP_VERSION define in "interop.h". This version number should track the release versions of the System.Data.SQLite packages (i.e. <a href="news.wiki">1.0.x</a>). </li> </ol> <a name="manual"></a> <h2>Manual Build</h2> <ol> <li> Complete the steps outlined in the <a href="#all">All Builds</a> section (above). </li> <li> Open the appropriate solution for your build platform. <ul> <li> The "SQLite.NET.2005.sln" file is the top-level solution primarily designed for use with Visual Studio 2005 in the IDE; however, it may also be used from the command line with MSBuild 2.0. </li> <li> The "SQLite.NET.2008.sln" file is the top-level solution primarily designed for use with Visual Studio 2008 in the IDE; however, it may also be used from the command line with MSBuild 3.5. </li> <li> The "SQLite.NET.2010.sln" file is the top-level solution primarily designed for use with Visual Studio 2010 in the IDE; however, it may also be used from the command line with MSBuild 4.0. </li> <li> The "SQLite.NET.2012.sln" file is the top-level solution primarily designed for use with Visual Studio 2012 in the IDE; however, it may also be used from the command line with MSBuild 4.0. </li> <li> The "SQLite.NET.2005.MSBuild.sln" file is the top-level solution primarily designed for use with MSBuild 2.0 on the command line; however, it may also be used from the Visual Studio 2005 IDE. </li> <li> The "SQLite.NET.2008.MSBuild.sln" file is the top-level solution primarily designed for use with MSBuild 3.5 on the command line; however, it may also be used from the Visual Studio 2008 IDE. </li> <li> The "SQLite.NET.2010.MSBuild.sln" file is the top-level solution primarily designed for use with MSBuild 4.0 on the command line; however, it may also be used from the Visual Studio 2010 IDE. </li> <li> The "SQLite.NET.2012.MSBuild.sln" file is the top-level solution primarily designed for use with MSBuild 4.0 on the command line; however, it may also be used from the Visual Studio 2012 IDE. </li> </ul> </li> <li> Select the desired solution configuration (e.g. ReleaseNativeOnly) and and solution platform (e.g. x64), then "Build->Rebuild Solution". Alternatively, you can select "Build->Batch Build", "Select All", and then "Rebuild". </li> </ol> <a name="automated"></a> <h2>Automated Build</h2> <ol> <li> Complete the steps outlined in the <a href="#all">All Builds</a> section (above). </li> <li> Make sure the "<root>\bin" and "<root>\obj" directories are completely free of all output files. In theory, you should be able to simply delete these directories. </li> <li>Open a normal command prompt window with "cmd.exe".</li> <li>Change the current directory to "<root>\Setup".</li> <li> Enter the following command to build the managed-only binaries: <b>build.bat ReleaseManagedOnly</b> </li> <li> Make sure everything succeeds with no errors; the log file "%TEMP%\System.Data.SQLite.Build_ReleaseManagedOnly_Win32_<year>_Unknown.log" may be checked if any errors should occur. </li> <li> Enter the following command to build the binaries for Win32 (x86): <b>build.bat ReleaseNativeOnly Win32</b><br /><i>You may need to enter the command "<b>setenv /x86</b>" first if you are using a "Windows SDK Command Prompt" or "Visual Studio Command Prompt" window.</i> </li> <li> Make sure everything succeeds with no errors; the log file "%TEMP%\System.Data.SQLite.Build_ReleaseNativeOnly_Win32_<year>_Unknown.log" may be checked if any errors should occur. </li> <li> Enter the following command to build the binaries for x64: <b>build.bat ReleaseNativeOnly x64</b><br /><i>You may need to enter the command"<b>setenv /x64</b>" first if you are using a "Windows SDK Command Prompt" or "Visual Studio Command Prompt" window.</i> </li> <li> Make sure everything succeeds with no errors; the log file "%TEMP%\System.Data.SQLite.Build_ReleaseNativeOnly_x64_<year>_Unknown.log" may be checked if any errors should occur. </li> <li> Enter the following command to build the setup binaries for all supported build configurations (unfortunately, it is not possible to build the setup using the Inno Setup IDE. It must be done using the provided command line tools due to its highly dynamic nature): <b>bake_all.bat</b> </li> <li> Make sure everything succeeds with no errors. Inno Setup should produce "success" messages very similar to the following: <b>Successful compile (X.XXX sec). Resulting Setup program filename is: abc</b> </li> </ol> <a name="mono"></a> <h2>Mono Build</h2> <ol> <li> Complete the steps outlined in the <a href="#all">All Builds</a> section (above). </li> <li> Make sure the "<root>\bin" and "<root>\obj" directories are completely free of all output files. In theory, you should be able to simply delete these directories. </li> <li>Open a normal command prompt window with "cmd.exe".</li> <li>Change the current directory to "<root>\Setup".</li> <li> Enter the following command to set the environment variable used to pass the necessary extra arguments to MSBuild: <b>SET MSBUILD_ARGS=/property:UseInteropDll=false /property:UseSqliteStandard=true</b> </li> <li> Enter the following command to build the managed-only binaries for Mono: <b>build.bat ReleaseManagedOnly</b> </li> <li> Make sure everything succeeds with no errors; the log file "%TEMP%\System.Data.SQLite.Build_ReleaseManagedOnly_Win32_<year>_Unknown.log" may be checked if any errors should occur. </li> </ol> </nowiki> |