Re: Suggestion for MSVC build

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: Suggestion for MSVC build
Дата
Msg-id 20070924083018.GB5501@svr2.hagander.net
обсуждение исходный текст
Ответ на Suggestion for MSVC build  ("Chuck McDevitt" <cmcdevitt@greenplum.com>)
Ответы Re: Suggestion for MSVC build  ("Chuck McDevitt" <cmcdevitt@greenplum.com>)
Re: Suggestion for MSVC build  ("Chuck McDevitt" <cmcdevitt@greenplum.com>)
Список 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 по дате отправления:

Предыдущее
От: Magnus Hagander
Дата:
Сообщение: Re: Problem with MSVC install script
Следующее
От: "Heikki Linnakangas"
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Reduce the size of memory allocations by lazy vacuum when