From: | Magnus Hagander <magnus(at)hagander(dot)net> |
---|---|
To: | Chuck McDevitt <cmcdevitt(at)greenplum(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Suggestion for MSVC build |
Date: | 2007-09-24 08:30:18 |
Message-ID: | 20070924083018.GB5501@svr2.hagander.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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 in
levels 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?
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2007-09-24 09:02:10 | Re: [COMMITTERS] pgsql: Reduce the size of memory allocations by lazy vacuum when |
Previous Message | Magnus Hagander | 2007-09-24 07:33:23 | Re: Problem with MSVC install script |