/********************************************************************
- BuildAll.ps1 - A Windows powershell script to build all dlls for psqlodbc.
+ Development using Powershell and MSBuild instead of Batch and Nmake
- You can also use the same functionality using Windows batch at the parent
- folder (..\). See ..\readme_winbuild.txt.
+ Currently 4 Windows Powershell scripts are provided for developpers.
- 1. You have to install one of the following.
+ BuildAll.ps1 - build all dlls for psqlodbc using MSBuild.
+ editConfiguration.ps1 - a GUI tool to set Build environment
+ regress.ps1 - build regression test programs and run
+ buildInstallers.ps1 - build installers(.msi or setup.exe)
- . Visual Studio 2013 non-Express edtion or Express 2013 for Windows
- Desktop
- . Visual Studio 2012 non-Express edtion or Express 2012 for Windows
- Desktop
- . Full Microsoft Visual C++ 2010
- . Windows SDK 7.1
-
- You have to include x64 development tools (bin, lib, include) as
- well as x86 ones for the installation.
+ You can invoke these scripts from Powershell console or you can also
+ use the same functionality from Command prompt using Windows helper
+ batch at the parent folder (..\). See ..\readme_winbuild.txt.
- Note that the Visual Studio 2010 install conflicts with Windows SDK 7.1.
- Visual Studio 2012 conflict with both Windows SDK 7.1 and Visual Studio 2010.
- Finally, Windows SDK 7.1 will fail to install if a newer Visual Studio 2010
- runtime is already installed on the computer.
+ 1. Please start a powershell console and set the ExecutionPolicy of
+ Powershell to RemoteSigned or Unrestricted.
- To avoid conflicts, install only one SDK. There is an order in which all
- can be installed safely, but it's cumbersome and there's little benefit.
-
- Once you have an SDK installed, please start a powershell console and
-
- 2. Set the ExecutionPolicy of Powershell to RemoteSigned or Unrestricted.
You can get the ExecutionPolicy by typing
Get-ExecutionPolicy
Get-Help about_Execution_Policies
- 3. Please type
+ 2. You have to install one of the following.
+
+ . Visual Studio 2015 non-Express edtion or Express 2015 for Windows
+ Desktop
+ . Visual Studio 2013 non-Express edtion or Express 2013 for Windows
+ Desktop
+ . Visual Studio 2012 non-Express edtion or Express 2012 for Windows
+ Desktop
+ . Full Microsoft Visual C++ 2010
+ . Windows SDK 7.1
+
+ You have to include x64 development tools (bin, lib, include) as
+ well as x86 ones for the installation.
+
+ You can install multiple versions of VC++ and use them.
+ You can easily switch by specifying VCVersion parameter.
+
+ 3. Setup Build environment
+
+ Please type
.\editConfiguration(.ps1)
and edit the setting of your environment especially the folders
- you placed libpq related include/lib files.
+ you placed libpq related include/lib/bin files.
- 4. Please type
+ 4. Build
+
+ Please type
.\BuildAll(.ps1)
to invoke build operations.
- If the automatically selected VisualStudioVersion is inappropriate
- and the desired version is e.g. 11.0, type
- .\BuildAll(.ps1) -V(CVersion) 11.0
+ If you installed both VC10 and VC12 and you'd like to compile
+ under VC10 environment, type
+
+ .\BuildAll(.ps1) -V(CVersion) 10.0
- or set the value 11.0 to Configuration.vcver attribute of the
+ or set the value 10.0 to Configuration.vcver attribute of the
configuration file.
To see details about the use of BuildAll, type
Get-Help .\BuildAll(.ps1) [-Detailed | -Examples | -Full]
- 5. Outputs
+ 5. Regression test
+
+ Please type
+
+ .\regress(.ps1)
+
+ By default, build 32-bit binaries from test sources and run the tests.
+ If you'd like to test 64-bit version, please type
+
+ .\regress(.ps1) -p(latform) x64
+
+ 6. Outputs
The build can produce output in up to four directories for each of
the debug and release configurations:
- - AMD64Release the Unicode driver, 64-bit
- - AMD64ANSIRelease the ANSI driver, 64-bit
- - Release the ANSI driver, 32-bit
- - MultibyteRelease the Unicode driver, 32-bit
+ - x64_Unicode_Release the Unicode driver, 64-bit
+ - x86_ANSI_Release the ANSI driver, 64-bit
+ - x86_Unicode_Release the ANSI driver, 32-bit
+ - x86_ANSI_Release the Unicode driver, 32-bit
For debug builds (-Configuration Debug) the directories are named with
Debug instead of Release but otherwise the same.
you find what's needed, but in general you'll need to add:
- libpq (from the PostgreSQL bin dir)
+ - ssleay32 (from the PostgreSQL bin dir)
+ - libeay32 (from the PostgreSQL bin dir)
- libintl (from the PostgreSQL bin dir)
... and the Visual Studio runtime redist for the version of Visual Studio
you compiled with.
+ 7. Installer
+
+ See ..\installers\README.txt.
+
Troubleshooting:
Some documentation on dealing with Windows SDK installation issues can be found