System.Data.SQLite

Check-in [6560c52f85]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:More build notes edits.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 6560c52f853c004e50e97271ae7e19592bd7627a
User & Date: shaneh 2011-04-12 16:15:58.501
Context
2011-04-12
16:45
Workaround for not having VS 2008 installed when using the command-line build environment. check-in: 3ce8ba354b user: mistachkin tags: trunk
16:15
More build notes edits. check-in: 6560c52f85 user: shaneh tags: trunk
16:14
Delete test.exe.config from output directory. check-in: 30f337f40b user: shaneh tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to www/build.wiki.
20
21
22
23
24
25
26
27
28
29
30

31
32
33
34
35
36
37
or files ending in .vsprops are project and property files for the VS2008 solution. 
Files with 2010 in the name (eg. SQLite.Interop.2010.vcxproj) or files ending in .props are 
property and project files for the VS2010 solution.  When making changes, 
you should make changes to both to keep them in sync.
</p>

<p>
You can either manually build the SDS using the supplied Visual Studio solutions,
or follow the steps outlined in the Build Automation section below.
</p>


<h2>Build Assumptions</h2>
<ol>
  <li>
    We want to ship managed binaries that rely on the .NET Framework 2.0
    SP2.  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.







|
|


>







20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
or files ending in .vsprops are project and property files for the VS2008 solution. 
Files with 2010 in the name (eg. SQLite.Interop.2010.vcxproj) or files ending in .props are 
property and project files for the VS2010 solution.  When making changes, 
you should make changes to both to keep them in sync.
</p>

<p>
You can either [./build.wiki#manual | manually build] the SDS using the supplied Visual Studio solutions,
or follow the steps outlined in the [./build.wiki#automated | Automated Build] section below.
</p>

<a name="assumptions"></a>
<h2>Build Assumptions</h2>
<ol>
  <li>
    We want to ship managed binaries that rely on the .NET Framework 2.0
    SP2.  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.
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
    will make it far simpler to maintain and ship the included core SQLite code
    (in the file "SQLite.Interop.dll").
  </li>

  <li>
    The machine used to prepare the official releases will have the
    [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7 | .NET Framework 3.5 SP1]
    and the corresponding [http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx | SDK] installed.
  </li>

  <li>
    The machine used to prepare the official releases will have [http://www.jrsoftware.org/isdl.php | Inno Setup 5.4.2]
    or higher installed in "%ProgramFiles%\Inno Setup 5" or
    "%ProgramFiles(x86)%\Inno Setup 5" for an 64-bit machines.  Alternatively,
    the InnoSetup directory may be included in the PATH environment variable.
  </li>

  <li>
    The string "&lt;root&gt;" represents the root of your source tree for
    System.Data.SQLite.
  </li>
</ol>



<h2>Build Automation</h2>
















































<ol>
  <li>Make sure the version information is correct for SQLite in the following
  files:

  <ul>
    <li>&lt;root&gt;\SQLite.Interop\props\sqlite3.vsprops</li>
    <li>&lt;root&gt;\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 
  (ie. [http://www.sqlite.org/changes.html | 3.7.x]).
  </li>

  <li>Make sure the version information is correct for System.Data.SQLite in
  the following files:

  <ul>
    <li>&lt;root&gt;\SQLite.Interop\props\SQLite.Interop.vsprops</li>
    <li>&lt;root&gt;\SQLite.Interop\props\SQLite.Interop.props</li>
    <li>&lt;root&gt;\SQLite.Interop\src\win\interop.h</li>
    <li>&lt;root&gt;\Setup\set_common.bat</li>
  </ul>

  You'll need to update the SQLITE_MANIFEST_VERSION and SQLITE_RC_VERSION properties
  in the .vsprops and .props files, the INTEROP_VERSION define in interop.h,
  and the VERSION environment variable in set_common.bat.
  This version number should track the release versions of the System.Data.SQLite packages
  (ie. [./news.wiki | 1.0.x]).
  </li>

  <li>Make sure the "&lt;root&gt;\bin" and "&lt;root&gt;\obj" directories are completely
  free of all output files.  In theory, you could simply delete these directories;
  however, the file "&lt;root&gt;\bin\test.exe." is presently in the source tree.  I have
  no idea why; however, it's been there since 2005 [557ac901aff91f5da6bc7634ee1c75988ea9dec9].
  </li>

  <li>Open a normal command prompt window with "cmd.exe".</li>

  <li>Change the current directory to "&lt;root&gt;\Setup".</li>

  <li>Enter the following command to build the binaries for Win32 (x86):







|















>
>
|
>
>
>

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>





|
|











|
|
|
|










|
<
<







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
    will make it far simpler to maintain and ship the included core SQLite code
    (in the file "SQLite.Interop.dll").
  </li>

  <li>
    The machine used to prepare the official releases will have the
    [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7 | .NET Framework 3.5 SP1]
    and the corresponding [http://www.microsoft.com/downloads/details.aspx?FamilyId=E6E1C3DF-A74F-4207-8586-711EBE331CDC | SDK] installed.
  </li>

  <li>
    The machine used to prepare the official releases will have [http://www.jrsoftware.org/isdl.php | Inno Setup 5.4.2]
    or higher installed in "%ProgramFiles%\Inno Setup 5" or
    "%ProgramFiles(x86)%\Inno Setup 5" for an 64-bit machines.  Alternatively,
    the InnoSetup directory may be included in the PATH environment variable.
  </li>

  <li>
    The string "&lt;root&gt;" represents the root of your source tree for
    System.Data.SQLite.
  </li>
</ol>

<a name="manual"></a>
<h2>Manual Build</h2>

<ol>
  <li>Make sure the version information is correct for SQLite in the following
  files:

  <ul>
    &lt;root&gt;\SQLite.Interop\props\sqlite3.vsprops<br />
    &lt;root&gt;\SQLite.Interop\props\sqlite3.props<br />
  </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 
  (ie. [http://www.sqlite.org/changes.html | 3.7.x]).
  </li>

  <li>Make sure the version information is correct for System.Data.SQLite in
  the following files:

  <ul>
    &lt;root&gt;\SQLite.Interop\props\SQLite.Interop.vsprops<br />
    &lt;root&gt;\SQLite.Interop\props\SQLite.Interop.props<br />
    &lt;root&gt;\SQLite.Interop\src\win\interop.h<br />
  </ul>

  You'll need to update the SQLITE_MANIFEST_VERSION and SQLITE_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
  (ie. [./news.wiki | 1.0.x]).
  </li>

  <li>Open the appropriate solution for your build platform.

    <ul>
        SQLite.NET.2008.sln is the top level solution for VS2008.<br />
        SQLite.NET.2010.sln is the top level solution for VS2010.<br />
    </ul>
  </li>

  <li>Select the desired solution configuration (eg. ReleaseNativeOnly) and 
  and solution platform (eg. 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>Make sure the version information is correct for SQLite in the following
  files:

  <ul>
      &lt;root&gt;\SQLite.Interop\props\sqlite3.vsprops<br />
      &lt;root&gt;\SQLite.Interop\props\sqlite3.props<br />
  </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 
  (ie. [http://www.sqlite.org/changes.html | 3.7.x]).
  </li>

  <li>Make sure the version information is correct for System.Data.SQLite in
  the following files:

  <ul>
    &lt;root&gt;\SQLite.Interop\props\SQLite.Interop.vsprops<br />
    &lt;root&gt;\SQLite.Interop\props\SQLite.Interop.props<br />
    &lt;root&gt;\SQLite.Interop\src\win\interop.h<br />
    &lt;root&gt;\Setup\set_common.bat<br />
  </ul>

  You'll need to update the SQLITE_MANIFEST_VERSION and SQLITE_RC_VERSION properties
  in the .vsprops and .props files, the INTEROP_VERSION define in interop.h,
  and the VERSION environment variable in set_common.bat.
  This version number should track the release versions of the System.Data.SQLite packages
  (ie. [./news.wiki | 1.0.x]).
  </li>

  <li>Make sure the "&lt;root&gt;\bin" and "&lt;root&gt;\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 "&lt;root&gt;\Setup".</li>

  <li>Enter the following command to build the binaries for Win32 (x86):