System.Data.SQLite
Check-in [78aa3287dc]
Not logged in

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

Overview
Comment:Add support for build_all tool. Disable GAC task in setup when the native DLL is necessary.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | build-enhancements
Files: files | file ages | folders
SHA1: 78aa3287dc0591ba0ef491fe700d70bd4d799301
User & Date: mistachkin 2011-06-29 13:46:43
Context
2011-06-29
13:58
Generate a manifest when the setup is built. check-in: 6df1ea20c7 user: mistachkin tags: build-enhancements
13:46
Add support for build_all tool. Disable GAC task in setup when the native DLL is necessary. check-in: 78aa3287dc user: mistachkin tags: build-enhancements
11:31
Enhancements to command line build and test automation. check-in: 046dc70fd1 user: mistachkin tags: build-enhancements
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to SQLite.Interop/SQLite.Interop.2010.vcxproj.

   230    230       </Link>
   231    231       <Manifest>
   232    232         <VerboseOutput>true</VerboseOutput>
   233    233         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   234    234         <UpdateFileHashes>true</UpdateFileHashes>
   235    235       </Manifest>
   236    236       <PostBuildEvent>
   237         -      <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
          237  +      <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   238    238       </PostBuildEvent>
   239    239     </ItemDefinitionGroup>
   240    240     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugNativeOnly|x64'">
   241    241       <ClCompile>
   242    242         <Optimization>Disabled</Optimization>
   243    243         <PreprocessorDefinitions>WIN32;x64;_DEBUG;_WINDOWS;_USRDLL;$(SQLITE_COMMON_DEFINES);$(SQLITE_DEBUG_DEFINES);%(PreprocessorDefinitions)</PreprocessorDefinitions>
   244    244         <MinimalRebuild>false</MinimalRebuild>
................................................................................
   264    264       </Link>
   265    265       <Manifest>
   266    266         <VerboseOutput>true</VerboseOutput>
   267    267         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   268    268         <UpdateFileHashes>true</UpdateFileHashes>
   269    269       </Manifest>
   270    270       <PostBuildEvent>
   271         -      <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
          271  +      <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\Debug\bin\" /D /E /V /I /F /H /Y</Command>
   272    272       </PostBuildEvent>
   273    273     </ItemDefinitionGroup>
   274    274     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
   275    275       <ClCompile>
   276    276         <Optimization>Full</Optimization>
   277    277         <IntrinsicFunctions>true</IntrinsicFunctions>
   278    278         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
................................................................................
   387    387       </Link>
   388    388       <Manifest>
   389    389         <VerboseOutput>true</VerboseOutput>
   390    390         <AssemblyIdentity>$(ProjectName), processorArchitecture=x86, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   391    391         <UpdateFileHashes>true</UpdateFileHashes>
   392    392       </Manifest>
   393    393       <PostBuildEvent>
   394         -      <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
          394  +      <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   395    395       </PostBuildEvent>
   396    396     </ItemDefinitionGroup>
   397    397     <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseNativeOnly|x64'">
   398    398       <ClCompile>
   399    399         <Optimization>Full</Optimization>
   400    400         <IntrinsicFunctions>true</IntrinsicFunctions>
   401    401         <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
................................................................................
   424    424       </Link>
   425    425       <Manifest>
   426    426         <VerboseOutput>true</VerboseOutput>
   427    427         <AssemblyIdentity>$(ProjectName), processorArchitecture=amd64, version=$(INTEROP_MANIFEST_VERSION), type=win32</AssemblyIdentity>
   428    428         <UpdateFileHashes>true</UpdateFileHashes>
   429    429       </Manifest>
   430    430       <PostBuildEvent>
   431         -      <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
          431  +      <Command>XCOPY "$(TargetPath)" "$(OutDir)..\..\Release\bin\" /D /E /V /I /F /H /Y</Command>
   432    432       </PostBuildEvent>
   433    433     </ItemDefinitionGroup>
   434    434     <ItemGroup>
   435    435       <ClCompile Include="src\win\AssemblyInfo.cpp">
   436    436         <ExcludedFromBuild>true</ExcludedFromBuild>
   437    437       </ClCompile>
   438    438       <ClCompile Include="src\win\crypt.c">

Changes to Setup/SQLite.iss.

    49     49   Name: Application\LINQ; Description: LINQ support components.; Types: custom compact full
    50     50   Name: Application\Symbols; Description: Debugging symbol components.; Types: custom compact full
    51     51   Name: Application\Documentation; Description: Documentation components.; Types: custom compact full
    52     52   Name: Application\Test; Description: Test components.; Types: custom compact full
    53     53   
    54     54   [Tasks]
    55     55   Components: Application\Core\MSIL Or Application\LINQ; Name: ngen; Description: Generate native images for the assemblies and install the images in the native image cache.; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup()
           56  +
           57  +#if Pos("NativeOnly", AppConfiguration) == 0
    56     58   Components: Application\Core\MSIL Or Application\LINQ; Name: gac; Description: Install the assemblies into the global assembly cache.; Flags: unchecked; Check: CheckIsNetFx2Setup() or CheckIsNetFx4Setup()
           59  +#endif
    57     60   
    58     61   [Run]
    59     62   Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup()
    60     63   Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
    61     64   Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.Linq.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() and CheckForNetFx35(1)
    62     65   Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "install ""{app}\bin\System.Data.SQLite.Linq.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
    63     66   
................................................................................
    66     69   Components: Application\LINQ; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.Linq.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup() and CheckForNetFx35(1)
    67     70   Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx4InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx4Setup()
    68     71   Components: Application\Core\MSIL; Tasks: ngen; Filename: {code:GetNetFx2InstallRoot|Ngen.exe}; Parameters: "uninstall ""{app}\bin\System.Data.SQLite.dll"" /nologo"; Flags: skipifdoesntexist; Check: CheckIsNetFx2Setup()
    69     72   
    70     73   [Dirs]
    71     74   Name: {app}\bin
    72     75   Name: {app}\doc
           76  +
           77  +#if Pos("NativeOnly", AppConfiguration) == 0
    73     78   Name: {app}\GAC
           79  +#endif
    74     80   
    75     81   [Files]
    76     82   Components: Application\Core\{#AppProcessor}; Source: ..\Externals\MSVCPP\vcredist_{#AppProcessor}_{#VcRuntime}.exe; DestDir: {tmp}; Flags: dontcopy
    77     83   Components: Application; Source: ..\readme.htm; DestDir: {app}; Flags: restartreplace uninsrestartdelete isreadme
           84  +
           85  +#if Pos("NativeOnly", AppConfiguration) == 0
    78     86   Components: Application\Core\MSIL; Tasks: gac; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.dll; DestDir: {app}\GAC; StrongAssemblyName: "System.Data.SQLite, Version={#AppVersion}, Culture=neutral, PublicKeyToken={#AppPublicKey}, ProcessorArchitecture=MSIL"; Flags: restartreplace uninsrestartdelete uninsnosharedfileprompt sharedfile gacinstall
           87  +#endif
           88  +
    79     89   Components: Application\Core\MSIL; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete
    80     90   Components: Application\Core\MSIL and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete
           91  +
           92  +#if Pos("NativeOnly", AppConfiguration) == 0
    81     93   Components: Application\LINQ; Tasks: gac; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.dll; DestDir: {app}\GAC; StrongAssemblyName: "System.Data.SQLite.Linq, Version={#AppVersion}, Culture=neutral, PublicKeyToken={#AppPublicKey}, ProcessorArchitecture=MSIL"; Flags: restartreplace uninsrestartdelete uninsnosharedfileprompt sharedfile gacinstall
           94  +#endif
           95  +
    82     96   Components: Application\LINQ; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete
    83     97   Components: Application\LINQ and Application\Symbols; Source: ..\bin\{#Year}\{#BaseConfiguration}\bin\System.Data.SQLite.Linq.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete
    84     98   
    85     99   #if Pos("NativeOnly", AppConfiguration) != 0
    86    100   Components: Application\Core\{#AppProcessor}; Source: ..\bin\{#Year}\{#AppPlatform}\{#AppConfiguration}\SQLite.Interop.dll; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete
    87    101   Components: Application\Core\{#AppProcessor} and Application\Symbols; Source: ..\bin\{#Year}\{#AppPlatform}\{#AppConfiguration}\SQLite.Interop.pdb; DestDir: {app}\bin; Flags: restartreplace uninsrestartdelete
    88    102   #endif

Changes to Setup/bake_all.bat.

    39     39   IF NOT DEFINED PROCESSORS (
    40     40     SET PROCESSORS=x86
    41     41   )
    42     42   
    43     43   %_VECHO% Processors = '%PROCESSORS%'
    44     44   
    45     45   IF NOT DEFINED YEARS (
    46         -  SET YEARS=2010
           46  +  SET YEARS=2008
    47     47   )
    48     48   
    49     49   %_VECHO% Years = '%YEARS%'
    50     50   
    51     51   FOR %%C IN (%CONFIGURATIONS%) DO (
    52     52     FOR %%P IN (%PROCESSORS%) DO (
    53     53       FOR %%Y IN (%YEARS%) DO (
    54     54         %_ECHO% CALL "%TOOLS%\set_%%C_%%P_%%Y.bat"
    55         -  
           55  +
    56     56         IF ERRORLEVEL 1 (
    57     57           ECHO Could not set variables for %%C/%%P/%%Y.
    58     58           GOTO errors
    59     59         )
    60         -  
           60  +
    61     61         %_ECHO% CALL "%TOOLS%\bake.bat"
    62         -  
           62  +
    63     63         IF ERRORLEVEL 1 (
    64     64           ECHO Could not bake setup for %%C/%%P/%%Y.
    65     65           GOTO errors
    66     66         )
    67     67       )
    68     68     )
    69     69   )

Changes to Setup/build.bat.

   171    171   )
   172    172   
   173    173   %_VECHO% LogSuffix = '%LOGSUFFIX%'
   174    174   
   175    175   IF DEFINED LOGGING GOTO skip_setLogging
   176    176   IF DEFINED NOLOG GOTO skip_setLogging
   177    177   
   178         -SET LOGGING="/logger:FileLogger,Microsoft.Build.Engine;Logfile=%LOGDIR%\%LOGPREFIX%_%CONFIGURATION%_%PLATFORM%_%LOGSUFFIX%.log;Verbosity=diagnostic"
          178  +SET LOGGING="/logger:FileLogger,Microsoft.Build.Engine;Logfile=%LOGDIR%\%LOGPREFIX%_%CONFIGURATION%_%PLATFORM%_%YEAR%_%LOGSUFFIX%.log;Verbosity=diagnostic"
   179    179   
   180    180   :skip_setLogging
   181    181   
   182    182   %_VECHO% Logging = '%LOGGING%'
   183    183   
   184    184   %_ECHO% MSBuild.exe "%SOLUTION%" "/target:%TARGET%" "/property:Configuration=%CONFIGURATION%" "/property:Platform=%PLATFORM%" %LOGGING% %MSBUILD_ARGS%
   185    185   

Added Setup/build_all.bat.

            1  +@ECHO OFF
            2  +
            3  +::
            4  +:: build_all.bat --
            5  +::
            6  +:: Multi-MSBuild Wrapper Tool
            7  +::
            8  +:: Written by Joe Mistachkin.
            9  +:: Released to the public domain, use at your own risk!
           10  +::
           11  +
           12  +SETLOCAL
           13  +
           14  +REM SET _ECHO=ECHO
           15  +IF NOT DEFINED _AECHO (SET _AECHO=REM)
           16  +IF NOT DEFINED _CECHO (SET _CECHO=REM)
           17  +IF NOT DEFINED _VECHO (SET _VECHO=REM)
           18  +
           19  +%_AECHO% Running %0 %*
           20  +
           21  +SET TOOLS=%~dp0
           22  +SET TOOLS=%TOOLS:~0,-1%
           23  +
           24  +%_VECHO% Tools = '%TOOLS%'
           25  +
           26  +%_ECHO% CALL "%TOOLS%\set_common.bat"
           27  +
           28  +IF ERRORLEVEL 1 (
           29  +  ECHO Could not set common variables.
           30  +  GOTO errors
           31  +)
           32  +
           33  +IF NOT DEFINED CONFIGURATIONS (
           34  +  SET CONFIGURATIONS=Release
           35  +)
           36  +
           37  +%_VECHO% Configurations = '%CONFIGURATIONS%'
           38  +
           39  +IF NOT DEFINED PROCESSORS (
           40  +  SET PROCESSORS=x86
           41  +)
           42  +
           43  +%_VECHO% Processors = '%PROCESSORS%'
           44  +
           45  +IF NOT DEFINED YEARS (
           46  +  SET YEARS=2008
           47  +)
           48  +
           49  +%_VECHO% Years = '%YEARS%'
           50  +
           51  +FOR %%C IN (%CONFIGURATIONS%) DO (
           52  +  FOR %%P IN (%PLATFORMS%) DO (
           53  +    FOR %%Y IN (%YEARS%) DO (
           54  +      %_ECHO% CALL "%TOOLS%\set_%%Y.bat"
           55  +
           56  +      IF ERRORLEVEL 1 (
           57  +        ECHO Could not set variables for %%Y.
           58  +        GOTO errors
           59  +      )
           60  +
           61  +      %_ECHO% CALL "%TOOLS%\build.bat" "%%C" "%%P"
           62  +
           63  +      IF ERRORLEVEL 1 (
           64  +        ECHO Could not build binaries for %%C/%%P/%%Y.
           65  +        GOTO errors
           66  +      )
           67  +    )
           68  +  )
           69  +)
           70  +
           71  +GOTO no_errors
           72  +
           73  +:fn_ResetErrorLevel
           74  +  VERIFY > NUL
           75  +  GOTO :EOF
           76  +
           77  +:fn_SetErrorLevel
           78  +  VERIFY MAYBE 2> NUL
           79  +  GOTO :EOF
           80  +
           81  +:errors
           82  +  CALL :fn_SetErrorLevel
           83  +  ENDLOCAL
           84  +  ECHO.
           85  +  ECHO Failure, errors were encountered.
           86  +  GOTO end_of_file
           87  +
           88  +:no_errors
           89  +  CALL :fn_ResetErrorLevel
           90  +  ENDLOCAL
           91  +  ECHO.
           92  +  ECHO Success, no errors were encountered.
           93  +  GOTO end_of_file
           94  +
           95  +:end_of_file
           96  +%_ECHO% EXIT /B %ERRORLEVEL%

Added Setup/set_2008.bat.

            1  +@ECHO OFF
            2  +
            3  +::
            4  +:: set_2008.bat --
            5  +::
            6  +:: Written by Joe Mistachkin.
            7  +:: Released to the public domain, use at your own risk!
            8  +::
            9  +
           10  +SET NETFX20ONLY=
           11  +SET NETFX40ONLY=
           12  +SET NETFX35ONLY=1

Added Setup/set_2010.bat.

            1  +@ECHO OFF
            2  +
            3  +::
            4  +:: set_2010.bat --
            5  +::
            6  +:: Written by Joe Mistachkin.
            7  +:: Released to the public domain, use at your own risk!
            8  +::
            9  +
           10  +SET NETFX20ONLY=
           11  +SET NETFX35ONLY=
           12  +SET NETFX40ONLY=1

Changes to Setup/set_Release.bat.

     3      3   ::
     4      4   :: set_Release.bat --
     5      5   ::
     6      6   :: Written by Joe Mistachkin.
     7      7   :: Released to the public domain, use at your own risk!
     8      8   ::
     9      9   
    10         -REM
    11         -REM NOTE: Force usage of the Visual Studio 2008 (.NET Framework 3.5) build
    12         -REM       system.  This is very important because we want to ship binaries
    13         -REM       that only rely upon the .NET Framework 2.0 which is very widely
    14         -REM       deployed and because those binaries will also work with projects
    15         -REM       using the .NET Framework 4.0.
    16         -REM
    17         -SET NETFX35ONLY=1
    18     10   REM SET MSBUILD_ARGS=/property:TargetFrameworkVersion=v3.5
    19         -SET YEAR=2008
    20         -SET YEARS=%YEAR%
    21         -
    22         -ECHO WARNING: Forcing the use of the .NET Framework 3.5...

Changes to Setup/set_ReleaseNativeOnly.bat.

     3      3   ::
     4      4   :: set_ReleaseNativeOnly.bat --
     5      5   ::
     6      6   :: Written by Joe Mistachkin.
     7      7   :: Released to the public domain, use at your own risk!
     8      8   ::
     9      9   
    10         -REM
    11         -REM NOTE: Force usage of the Visual Studio 2008 (.NET Framework 3.5) build
    12         -REM       system.  This is very important because we want to ship binaries
    13         -REM       that only rely upon the .NET Framework 2.0 which is very widely
    14         -REM       deployed and because those binaries will also work with projects
    15         -REM       using the .NET Framework 4.0.
    16         -REM
    17         -SET NETFX35ONLY=1
    18     10   REM SET MSBUILD_ARGS=/property:TargetFrameworkVersion=v3.5
    19         -SET YEAR=2008
    20         -SET YEARS=%YEAR%
    21         -
    22         -ECHO WARNING: Forcing the use of the .NET Framework 3.5...

Changes to Setup/set_common.bat.

    16     16   )
    17     17   
    18     18   IF NOT DEFINED PUBLICKEY (
    19     19     SET PUBLICKEY=db937bc2d44ff139
    20     20   )
    21     21   
    22     22   IF NOT DEFINED CONFIGURATIONS (
    23         -  SET CONFIGURATIONS=Release
           23  +  SET CONFIGURATIONS=Release ReleaseNativeOnly
           24  +)
           25  +
           26  +IF NOT DEFINED PLATFORMS (
           27  +  SET PLATFORMS=Win32 x64
    24     28   )
    25     29   
    26     30   IF NOT DEFINED PROCESSORS (
    27     31     SET PROCESSORS=x86 x64
    28     32   )
    29     33   
    30     34   IF NOT DEFINED YEARS (
    31         -  SET YEARS=2008
           35  +  SET YEARS=2008 2010
    32     36   )