first commit for openGauss connect odbc code
This commit is contained in:
145
winbuild/readme.txt
Normal file
145
winbuild/readme.txt
Normal file
@ -0,0 +1,145 @@
|
||||
Using Powershell and MSBuild is recommended.
|
||||
In fact the binaries of official release are built using this mothod.
|
||||
|
||||
Currently 4 Windows Powershell scripts are provided for developpers.
|
||||
|
||||
winbuild/BuildAll.ps1 - build all dlls for psqlodbc drivers using
|
||||
MSBuild.
|
||||
winbuild/editConfiguration.ps1 - a GUI tool to set Build environment
|
||||
winbuild/regress.ps1 - build regression test programs and run
|
||||
installer/buildInstallers.ps1 - build installers(.msi or setup.exe)
|
||||
|
||||
Use Powershell console or Command Prompt to invoke scripts:
|
||||
|
||||
For example, to build the driver:
|
||||
|
||||
C:\psqlodbc\winbuild\> (Powershell) ./BuildAll.ps1 <options>
|
||||
|
||||
or you can use the same functionality from Command Prompt using Windows
|
||||
helper batch at the parent folder (..\). See ..\readme_winbuild.txt.
|
||||
|
||||
C:\psqlodbc\> (Commnd Prompt) .\BuildAll.bat <options>
|
||||
|
||||
1. Please start a powershell console and set the ExecutionPolicy of
|
||||
Powershell to RemoteSigned or Unrestricted.
|
||||
|
||||
You can get the ExecutionPolicy by typing
|
||||
|
||||
Get-ExecutionPolicy
|
||||
|
||||
When the ExectionPolicy is "Restricted" or "AllSigned" then type e.g.
|
||||
|
||||
Set-ExecutionPolicy RemoteSigned
|
||||
|
||||
To see details about ExecutionPolicy, type
|
||||
|
||||
Get-Help about_Execution_Policies
|
||||
|
||||
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/bin files.
|
||||
|
||||
4. Build
|
||||
|
||||
Please type
|
||||
|
||||
.\BuildAll(.ps1)
|
||||
|
||||
to invoke build operations.
|
||||
|
||||
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 10.0 to vcversion using ./editConfiguration.
|
||||
|
||||
To see details about the use of BuildAll, type
|
||||
|
||||
Get-Help .\BuildAll(.ps1) [-Detailed | -Examples | -Full]
|
||||
|
||||
5. Outputs of Build
|
||||
|
||||
The build can produce output in up to four directories for each of
|
||||
the debug and release configurations:
|
||||
|
||||
- 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.
|
||||
|
||||
pgxalib.dll is only built for the multibyte/unicode version, as it is
|
||||
the same for both unicode and ansi drivers.
|
||||
|
||||
6. How to use drivers.
|
||||
|
||||
You can't use psqlodbc drivers at once you build the drivers.
|
||||
Usually you have to install drivers using installers made by
|
||||
installer/buildInstallers.ps1. buildInstallers.ps1 bundles
|
||||
libpq and related libraries like ssleay32, libeay32 from the
|
||||
PostgreSQL bin directory and MSVC runtime libraries compiled with.
|
||||
|
||||
However, it is painful for developers to build binaries, build
|
||||
installers and install each time the source files are changed.
|
||||
It is recommended to use a special installation-less driver
|
||||
(postgres_devw) registered by regress.ps1
|
||||
|
||||
7. Regression test in place
|
||||
|
||||
After BuildAll(.ps1), please type
|
||||
|
||||
.\regress(.ps1)
|
||||
|
||||
You have to neither install nor copy binaries.
|
||||
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
|
||||
|
||||
Please note the outputs(obj, exe etc) generated by build operations and
|
||||
results of tests are placed in the directory winbuild/test_x86(test_x64
|
||||
in case of 64-bit).
|
||||
|
||||
8. Installer
|
||||
|
||||
To build the .msi installer file:
|
||||
|
||||
C:\psqlodbc\installer\> (Powershell) ./buildInstallers.ps1 <options>
|
||||
or
|
||||
C:\psqlodbc\> (Command Prompt) .\buildInstallers.bat <options>
|
||||
|
||||
By default, buildInstallers.ps1 builds bootstrapper program
|
||||
psqlodbc-setup.exe together.
|
||||
|
||||
See ../installer/readme.txt in the source directory for details.
|
||||
|
||||
Troubleshooting:
|
||||
|
||||
Some documentation on dealing with Windows SDK installation issues
|
||||
can be found on the related pg_build_win page:
|
||||
https://github.com/2ndQuadrant/pg_build_win#troubleshooting
|
Reference in New Issue
Block a user