On 05/19/2014 09:51 AM, Michael Paquier wrote:
> Hi,
>
> While looking at the docs, I noticed that their is no mention to CPU
> for a Windows build with nmake, but it is essential to provide a value
> for it or build fails (see for example LINK32_FLAGS in win64.mak).
> Patch attached somewhat corrects that.
>
> 20140519_pgodbc_win_docs.patch
>
> diff --git a/docs/win32-compilation.html b/docs/win32-compilation.html
> index cb63273..7dcf454 100644
> --- a/docs/win32-compilation.html
> +++ b/docs/win32-compilation.html
> @@ -96,6 +96,10 @@ The following build options may be used:
> <td>Release(default), or Debug</td>
> </tr>
> <tr>
> + <td>CPU</td>
> + <td>Processor description: x64, x86, AMD64, etc.</td>
> + </tr>
> + <tr>
> <td>PG_INC</td>
> <td>$(PROGRAMFILES)\PostgreSQL\9.2\include</td>
> </tr>
Hmm, are all of those valid values? Does it make sense to use win32.mak
with CPU=AMD64, or win64.mak with CPU=x86? If not, I suggest that we
just hardcode CPU=x86 in win32.mak and CPU=x64 in win64.mak.
CPU=AMD64 seems to be mapped to CPUTYPE=x64 in win64.mak, so ISTM that
AMD64 and x64 are just synonyms.
This MSDN page lists the valid values:
http://msdn.microsoft.com/en-us/library/5wy54dk2.aspx. (the makefile
passes /MACHINE:{CPUTYPE} to the compiler). We don't support compiling
for ARM with the Windows toolchain, and I have no idea what EBC means,
so that leaves just x64 and x86 as the valid options.
- Heikki