Thread: patch win32.mak of libpq

patch win32.mak of libpq

From
"Hiroshi Saito"
Date:
Hi Magnus, and Dave.

Sorry, I'm a somewhat late reaction... This is the present correspondence.
However, VC6 does not support SSAPI. Therefore, the next release makes
VC6 the outside of an object.

-- VC6
Microsoft (R) Program Maintenance Utility  Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

Building the Win32 static library...

Using default OpenSSL Include directory: C:\OpenSSL\include
Using default OpenSSL Library directory: C:\OpenSSL\lib\VC
Using default Kerberos Include directory: C:\kfw-2.6.5\inc
Using default Kerberos Library directory: C:\kfw-2.6.5\lib\i386
        echo #define SYSCONFDIR "" > pg_config_paths.h
        link.exe @C:\DOCUME~1\hiroshi\LOCALS~1\Temp\nma00120.
LINK : fatal error LNK1181: (snip japanese) "secur32.lib" (snip japanese)
NMAKE : fatal error U1077: 'link.exe' : (snip japanese) '0x49d'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\VC98\bin\N
MAKE.EXE"' : (snip japanese) '0x2'
Stop.

-- VC8
Microsoft(R) Program Maintenance Utility Version 8.00.50727.42
Copyright (C) Microsoft Corporation.  All rights reserved.

Building the Win32 static library...

Using default OpenSSL Include directory: C:\OpenSSL\include
Using default OpenSSL Library directory: C:\OpenSSL\lib\VC
Using default Kerberos Include directory: C:\kfw-2.6.5\inc
Using default Kerberos Library directory: C:\kfw-2.6.5\lib\i386
        link.exe @C:\DOCUME~1\hiroshi\LOCALS~1\Temp\nm969.tmp
   (snip japanese) .\Release\libpqdll.lib (snip japanese) .\Release\libpqdll.exp (snip
japanese)
        cd ..\..
        echo All Win32 parts have been built!
All Win32 parts have been built!
--

If there is no objection. Let's close support of VC6.
What do you think?

Regards,
Hiroshi Saito

Attachment

Re: patch win32.mak of libpq

From
Magnus Hagander
Date:
On Wed, Jul 25, 2007 at 02:36:41PM +0900, Hiroshi Saito wrote:
> Hi Magnus, and Dave.
>
> Sorry, I'm a somewhat late reaction... This is the present correspondence.
> However, VC6 does not support SSAPI. Therefore, the next release makes
> VC6 the outside of an object.

I think VC6 should support it Ok. You probably just need to upgrade your
Platform SDK to a version that's for Windows 2000 or newer. I think VC6
shipws with the NT4 SDK by default. It looks like it' just missing
secur32.lib.

I have applied your patch, since it's used in either case. Thanks!

> If there is no objection. Let's close support of VC6.
> What do you think?

While I don't disagree in principle, if you can test it with a new Platfrom
SDK and see if that works there's no reason to close it (yet).

//Magnus

Re: patch win32.mak of libpq

From
"Hiroshi Saito"
Date:
Hi Magnus.

Thanks!

From: "Magnus Hagander"


> On Wed, Jul 25, 2007 at 02:36:41PM +0900, Hiroshi Saito wrote:
>> Hi Magnus, and Dave.
>>
>> Sorry, I'm a somewhat late reaction... This is the present correspondence.
>> However, VC6 does not support SSAPI. Therefore, the next release makes
>> VC6 the outside of an object.
>
> I think VC6 should support it Ok. You probably just need to upgrade your
> Platform SDK to a version that's for Windows 2000 or newer. I think VC6
> shipws with the NT4 SDK by default. It looks like it' just missing
> secur32.lib.

Ahh yes. However, MS says.!
The last SDK that will work with VC 6.0 is the February 2003 Edition.
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
this SDK is newer and does not support VC6.:-(

>
> I have applied your patch, since it's used in either case. Thanks!
>
>> If there is no objection. Let's close support of VC6.
>> What do you think?
>
> While I don't disagree in principle, if you can test it with a new Platfrom
> SDK and see if that works there's no reason to close it (yet).

It seems that it is difficult to get public although I have it.
Then, I feel that support is difficult.... I missed something?

Regards,
Hiroshi Saito

Regards,
Hiroshi Saito

Re: patch win32.mak of libpq

From
Magnus Hagander
Date:
On Wed, Jul 25, 2007 at 10:30:29PM +0900, Hiroshi Saito wrote:
> >On Wed, Jul 25, 2007 at 02:36:41PM +0900, Hiroshi Saito wrote:
> >>Hi Magnus, and Dave.
> >>
> >>Sorry, I'm a somewhat late reaction... This is the present correspondence.
> >>However, VC6 does not support SSAPI. Therefore, the next release makes
> >>VC6 the outside of an object.
> >
> >I think VC6 should support it Ok. You probably just need to upgrade your
> >Platform SDK to a version that's for Windows 2000 or newer. I think VC6
> >shipws with the NT4 SDK by default. It looks like it' just missing
> >secur32.lib.
>
> Ahh yes. However, MS says.!
> The last SDK that will work with VC 6.0 is the February 2003 Edition.
> http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
> this SDK is newer and does not support VC6.:-(

Ooh. Wasn't aware of that :-( Now I see what you mean.

Ok. So there are actually two ways to go about it:
1) Discontinue support for MSVC6 and require MSVC8

2) Change it so that MSVC6 can still build libpq, just not with SSPI
support. This can be done by conditionally enabling ENABLE_SSPI, so it's
not that hard.

The question is, if we go with option 2, is it something that anybody
actually will *use*?

If I'm not mistaken, one of the original reasons we kept the win32.mak
method around after we had the "complete msvc build" was for the ODBC
folks. Are you saying that the ODBC guys are now happy with a MSVC8 build?

//Magnus

Re: patch win32.mak of libpq

From
"Hiroshi Saito"
Date:
Hi.

From: "Magnus Hagander"


> On Wed, Jul 25, 2007 at 10:30:29PM +0900, Hiroshi Saito wrote:
>> >On Wed, Jul 25, 2007 at 02:36:41PM +0900, Hiroshi Saito wrote:
>> >>Hi Magnus, and Dave.
>> >>
>> >>Sorry, I'm a somewhat late reaction... This is the present correspondence.
>> >>However, VC6 does not support SSAPI. Therefore, the next release makes
>> >>VC6 the outside of an object.
>> >
>> >I think VC6 should support it Ok. You probably just need to upgrade your
>> >Platform SDK to a version that's for Windows 2000 or newer. I think VC6
>> >shipws with the NT4 SDK by default. It looks like it' just missing
>> >secur32.lib.
>>
>> Ahh yes. However, MS says.!
>> The last SDK that will work with VC 6.0 is the February 2003 Edition.
>> http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
>> this SDK is newer and does not support VC6.:-(
>
> Ooh. Wasn't aware of that :-( Now I see what you mean.

Yea, It is that there was nothing in public policy....

>
> Ok. So there are actually two ways to go about it:
> 1) Discontinue support for MSVC6 and require MSVC8
>
> 2) Change it so that MSVC6 can still build libpq, just not with SSPI
> support. This can be done by conditionally enabling ENABLE_SSPI, so it's
> not that hard.
>
> The question is, if we go with option 2, is it something that anybody
> actually will *use*?

I desire 1 as formal. However, It contains VC7.1 and VC8.
Moreover, libpq.dll can be used by the module of VC6.

>
> If I'm not mistaken, one of the original reasons we kept the win32.mak
> method around after we had the "complete msvc build" was for the ODBC
> folks. Are you saying that the ODBC guys are now happy with a MSVC8 build?

Yes, They are offered as comfortable environment. pgAdmin and that's right.!:-)
However, psqlODBC also contains legacy VC6. They will clear a problem by the
cause libpq.dll wire. Even if it may be adjusted from now on. probably.

Thanks!!

Regards,
Hiroshi Saito

Re: patch win32.mak of libpq

From
Magnus Hagander
Date:
Hiroshi Saito wrote:
>> Ok. So there are actually two ways to go about it:
>> 1) Discontinue support for MSVC6 and require MSVC8
>>
>> 2) Change it so that MSVC6 can still build libpq, just not with SSPI
>> support. This can be done by conditionally enabling ENABLE_SSPI, so it's
>> not that hard.
>>
>> The question is, if we go with option 2, is it something that anybody
>> actually will *use*?
>
> I desire 1 as formal. However, It contains VC7.1 and VC8.
> Moreover, libpq.dll can be used by the module of VC6.

Is there any actual reason to keep VC7.1 support?

VC6 has one reason only to exist, and that's that it doesn't carry the
dependencies that VC8 does. But VC7 does (different ones, but just as many).

So if we're dropping support for VC6, my suggestion is that we drop
support for *any* win32 compiler other than VC8 and MingW gcc.


>> If I'm not mistaken, one of the original reasons we kept the win32.mak
>> method around after we had the "complete msvc build" was for the ODBC
>> folks. Are you saying that the ODBC guys are now happy with a MSVC8
>> build?
>
> Yes, They are offered as comfortable environment. pgAdmin and that's
> right.!:-)
> However, psqlODBC also contains legacy VC6. They will clear a problem by
> the cause libpq.dll wire. Even if it may be adjusted from now on. probably.

I'm sorry, I don't fully understand you here. Which one of the following
three is it (or is it something else altogether)?

1) Does ODBC *require* a MSVC6 build libpq.dll?
2) Can ODBC work with MVC8 built libpq, but ODBC is built with MSVC6?
3) Can ODBC be built with MSVC8 and use the MSVC8 built libpq?

It would be unfortunate if ODBC has to ship with a different set of
dependencies than libpq, but as long as they build with either VC6 or
VC8 that shouldn't happen.

1 above would be really bad, but I'm 99% sure that's not so, since I've
actually tested SSPI auth with such a libpq.

IMO, the best option would be 3, but I don't know enough about the ODBC
driver to comment on there. I'll CC this to the odbc list so we can get
more input from other people there.

//Magnus

Re: patch win32.mak of libpq

From
"Hiroshi Saito"
Date:
Hi Magnus and all.

From: "Magnus Hagander"


> Hiroshi Saito wrote:
>>> Ok. So there are actually two ways to go about it:
>>> 1) Discontinue support for MSVC6 and require MSVC8
>>>
>>> 2) Change it so that MSVC6 can still build libpq, just not with SSPI
>>> support. This can be done by conditionally enabling ENABLE_SSPI, so it's
>>> not that hard.
>>>
>>> The question is, if we go with option 2, is it something that anybody
>>> actually will *use*?
>>
>> I desire 1 as formal. However, It contains VC7.1 and VC8.
>> Moreover, libpq.dll can be used by the module of VC6.
>
> Is there any actual reason to keep VC7.1 support?

It is still used and has sufficient function. Then, Inoue-san is developing in the
environment.:-)
The project file of VC7.1 differs from VC8 a little. However, nmake.exe absorbs it.
for the reasons, we are maintaining win32.mak. but, project file offers the minimum function
in simple. MSDTC is a reason for being somewhat more complicated than standard compile.

>
> VC6 has one reason only to exist, and that's that it doesn't carry the
> dependencies that VC8 does. But VC7 does (different ones, but just as many).
>
> So if we're dropping support for VC6, my suggestion is that we drop
> support for *any* win32 compiler other than VC8 and MingW gcc.

By the PostgreSQL main part, I think that you may limit with support of VC7.1, VC8,
and MinGW (gcc) by SSPI to which you are working. Although our psqlODBC uses libpq.dll,
a wired protocol realizes it. Although I have not tested SSPI yet, However, I am checking
normal of compile.

>
>
>>> If I'm not mistaken, one of the original reasons we kept the win32.mak
>>> method around after we had the "complete msvc build" was for the ODBC
>>> folks. Are you saying that the ODBC guys are now happy with a MSVC8
>>> build?
>>
>> Yes, They are offered as comfortable environment. pgAdmin and that's
>> right.!:-)
>> However, psqlODBC also contains legacy VC6. They will clear a problem by
>> the cause libpq.dll wire. Even if it may be adjusted from now on. probably.
>
> I'm sorry, I don't fully understand you here. Which one of the following
> three is it (or is it something else altogether)?
>
> 1) Does ODBC *require* a MSVC6 build libpq.dll?
> 2) Can ODBC work with MVC8 built libpq, but ODBC is built with MSVC6?
> 3) Can ODBC be built with MSVC8 and use the MSVC8 built libpq?
>
> It would be unfortunate if ODBC has to ship with a different set of
> dependencies than libpq, but as long as they build with either VC6 or
> VC8 that shouldn't happen.
>
> 1 above would be really bad, but I'm 99% sure that's not so, since I've
> actually tested SSPI auth with such a libpq.
>
> IMO, the best option would be 3, but I don't know enough about the ODBC
> driver to comment on there. I'll CC this to the odbc list so we can get
> more input from other people there.

I'm sure that 3 is sufficient. I will begin the preparation.
Of course, if there is a problem, though it will be corrected.

P.S) The present situation.(as for psqlODBC)
Compile (VC6, VC8) does not look at a problem by CVS-HEAD of pgsql.!!
But, The test is not completed....I apologize for the overdue work...

Regards,
Hiroshi Saito


Re: patch win32.mak of libpq

From
"Hiroshi Saito"
Date:
Hi.

Some test situations.

As for PostgreSQL CVS HEAD(8.3beta).
libpq is created by MinGW (gcc).
As for psqlODBC CVS HEAD(08.02.0402)
(linked SECUR32.dll)

1. VC6(psqlodbc.dsp)
The run test of compile and a part is through in VC6.
2. VC8(psqlodbc.vcproj)
The run test of compile and a part is through in VC8.

This is one progress report. It will still continue. However, the check was completed.!

Regards,
Hiroshi Saito

Re: patch win32.mak of libpq

From
"Hiroshi Saito"
Date:
Oops, An expressional mistake.

> As for PostgreSQL CVS HEAD(8.3beta).
> libpq is created by MinGW (gcc).
> As for psqlODBC CVS HEAD(08.02.0402)
> (linked SECUR32.dll)

SECUR32.dll link is libpq.dll.
SECUR32.dll does not link to psqlodbc35w.dll

Regards,
Hiroshi Saito

Re: patch win32.mak of libpq

From
Magnus Hagander
Date:
Hiroshi Saito wrote:
>>>> Ok. So there are actually two ways to go about it:
>>>> 1) Discontinue support for MSVC6 and require MSVC8
>>>>
>>>> 2) Change it so that MSVC6 can still build libpq, just not with SSPI
>>>> support. This can be done by conditionally enabling ENABLE_SSPI, so
>>>> it's
>>>> not that hard.
>>>>
>>>> The question is, if we go with option 2, is it something that anybody
>>>> actually will *use*?
>>>
>>> I desire 1 as formal. However, It contains VC7.1 and VC8.
>>> Moreover, libpq.dll can be used by the module of VC6.
>>
>> Is there any actual reason to keep VC7.1 support?
>
> It is still used and has sufficient function. Then, Inoue-san is
> developing in the environment.:-)
> The project file of VC7.1 differs from VC8 a little. However, nmake.exe
> absorbs it.
> for the reasons, we are maintaining win32.mak. but, project file offers
> the minimum function
> in simple. MSDTC is a reason for being somewhat more complicated than
> standard compile.

Ok. Just to be clear, do you need MSVC7.1 support, or do you need
win32.mak/nmake support? I realize they both work here, but if we
changed something else that needed MSVC8 but maintained the win32.mak
file, would that be enough?

Inoue-san, I'd be interested in knowing exactly what it is that is the
problem with MSVC8, if it's easy enough to outline?


>> 1) Does ODBC *require* a MSVC6 build libpq.dll?
>> 2) Can ODBC work with MVC8 built libpq, but ODBC is built with MSVC6?
>> 3) Can ODBC be built with MSVC8 and use the MSVC8 built libpq?
>>
>> It would be unfortunate if ODBC has to ship with a different set of
>> dependencies than libpq, but as long as they build with either VC6 or
>> VC8 that shouldn't happen.
>>
>> 1 above would be really bad, but I'm 99% sure that's not so, since I've
>> actually tested SSPI auth with such a libpq.
>>
>> IMO, the best option would be 3, but I don't know enough about the ODBC
>> driver to comment on there. I'll CC this to the odbc list so we can get
>> more input from other people there.
>
> I'm sure that 3 is sufficient. I will begin the preparation.
> Of course, if there is a problem, though it will be corrected.

Great. Let me know if you need any assistance.


//Magnus


Re: patch win32.mak of libpq

From
Magnus Hagander
Date:
On Fri, Jul 27, 2007 at 10:01:06PM +0200, Magnus Hagander wrote:
> Hiroshi Saito wrote:
> >>>> Ok. So there are actually two ways to go about it:
> >>>> 1) Discontinue support for MSVC6 and require MSVC8
> >>>>
> >>>> 2) Change it so that MSVC6 can still build libpq, just not with SSPI
> >>>> support. This can be done by conditionally enabling ENABLE_SSPI, so
> >>>> it's
> >>>> not that hard.
> >>>>
> >>>> The question is, if we go with option 2, is it something that anybody
> >>>> actually will *use*?
> >>>
> >>> I desire 1 as formal. However, It contains VC7.1 and VC8.
> >>> Moreover, libpq.dll can be used by the module of VC6.
> >>
> >> Is there any actual reason to keep VC7.1 support?
> >
> > It is still used and has sufficient function. Then, Inoue-san is
> > developing in the environment.:-)
> > The project file of VC7.1 differs from VC8 a little. However, nmake.exe
> > absorbs it.
> > for the reasons, we are maintaining win32.mak. but, project file offers
> > the minimum function
> > in simple. MSDTC is a reason for being somewhat more complicated than
> > standard compile.
>
> Ok. Just to be clear, do you need MSVC7.1 support, or do you need
> win32.mak/nmake support? I realize they both work here, but if we
> changed something else that needed MSVC8 but maintained the win32.mak
> file, would that be enough?

Since I've had no further feedback, I've applied a patch that changes the
list of supported MSVC versions to 7.1-8.0, but keeping the win32.mak
files.

//Magnus

Re: [ODBC] patch win32.mak of libpq

From
"Hiroshi Saito"
Date:
Hi Magnus.

I'm sorry lateness of a reaction..
Thanks!

P.S)
Inoue-san is busy and worsens condition.

Regards,
Hiroshi Saito

>> Ok. Just to be clear, do you need MSVC7.1 support, or do you need
>> win32.mak/nmake support? I realize they both work here, but if we
>> changed something else that needed MSVC8 but maintained the win32.mak
>> file, would that be enough?
>
> Since I've had no further feedback, I've applied a patch that changes the
> list of supported MSVC versions to 7.1-8.0, but keeping the win32.mak
> files.
>
> //Magnus