Re: Suggestion for MSVC build - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: Suggestion for MSVC build
Date
Msg-id 20070924083018.GB5501@svr2.hagander.net
Whole thread Raw
In response to Suggestion for MSVC build  ("Chuck McDevitt" <cmcdevitt@greenplum.com>)
Responses Re: Suggestion for MSVC build
Re: Suggestion for MSVC build
List pgsql-hackers
What version readline are you using?

I tried with the latest download, and I get about 200 warnings like:
1>.\src\bin\psql\tab-complete.c(600) : warning C4013: 'completion_matches'
undef
ined; assuming extern returning int
1>.\src\bin\psql\tab-complete.c(600) : warning C4047: '=' : 'char **'
differs inlevels of indirection from 'int'


And also, 12 linker errors - pretty much all the readline stuff. A quick
look at the files seem to show that the readline.lib and history.lib files
that ship with gnuwin32 are empty of symbols. The .def files are also
empty. Are yours different?


Also, do you know if this version of readline actually works on non-US
locales, or if it's still broken there? (I'd test it myself if I could just
build it :-P)

//Magnus

On Sun, Sep 23, 2007 at 10:03:09PM -0400, Chuck McDevitt wrote:
> It seems like there isn't any good reason the perl scripts for the MSVC
> build don't support readline
> 
>  
> 
> Readline for windows is available as part of the GnuWin32 project. 
> 
>  
> 
> http://gnuwin32.sourceforge.net/packages/readline.htm
> 
>  
> 
> It normally installs to "c:\Program Files\GnuWin32"
> 
>  
> 
> I'd update the scripts myself, but I'm not a PERL programmer.
> 
> From what I can see, you'd add another line to config.pl for readline,
> and then add some stuff to  mkvcbuild.pm for psql  to do something like:
> 
>  
> 
> if ($solution->{options}->{readline})
> 
>     {
> 
>  
> $psql->AddIncludeDir($solution->{options}->{readline} . '\include');
> 
>  
> $psql->AddLibrary($solution->{options}->{readline} .
> '\lib\readline.lib');
> 
>  
> $psql->AddLibrary($solution->{options}->{readline} .
> '\lib\history.lib');
> 
> }
> 
>  
> 
> And something to solution.pm in the part that builds pg_config.h that
> looks something like:
> 
>  
> 
> if ($self->{options}->{readline})
> 
>                                 {
> 
>                                                 print O "#define
> HAVE_LIBREADLINE 1\n";
> 
>                                                 print O "#define
> HAVE_READLINE_READLINE_H 1\n";
> 
>                                                 print O "#define
> HAVE_READLINE_HISTORY_H 1\n";
> 
>                                                 print O "#define
> USE_READLINE 1\n";
> 
>                                                 print O "#define
> USE_READLINE_STATIC 1\n";
> 
>                                 }
> 
> (Not sure about the last line).
> 
>  
> 
> I don't know if this is a good idea, but I would think this would make
> psql more "user-friendly" on windows.
> 
>  
> 
> Perhaps someone who understands readline and perl better than me might
> want to take this on?
> 
>  
> 


pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: Problem with MSVC install script
Next
From: "Heikki Linnakangas"
Date:
Subject: Re: [COMMITTERS] pgsql: Reduce the size of memory allocations by lazy vacuum when