Re: configure "stuff" - Mailing list pgadmin-hackers

From Guillaume Lelarge
Subject Re: configure "stuff"
Date
Msg-id 1309159976.4790.18.camel@laptop
Whole thread Raw
In response to Re: configure "stuff"  (Dave Page <dpage@pgadmin.org>)
Responses Re: configure "stuff"
Re: configure "stuff"
List pgadmin-hackers
On Sun, 2011-06-26 at 20:35 +0100, Dave Page wrote:
> On Sat, Jun 25, 2011 at 7:26 PM, Guillaume Lelarge
> <guillaume@lelarge.info> wrote:
> > Hi,
> >
> > I received an email a few days ago (humm, weeks) about issues with
> > compiling pgAdmin.
> >
> > ====== extract ======
> > The file pgadmin/db/keywords.c has this statement in it:
> > #include <server/parser/kwlist.h>
> >
> >  Now it comes that pg_config does spit out either
> > /usr/include/postgresql for the --includedir switch (for client things)
> > and /usr/include/postgresql/9.0/server for --includedir-server. Given
> > that both seems to work well for other stuff I'm unsure whether there is
> > a problem here and it should rather be #include <parser/kwlist.h> (or
> > the file be moved out of server context).
> > ====== end of extract ======
> >
> > I took a quick look at it, and it seems we forgot something. If I'm not
> > wrong, we don't use the --includedir-server switch for our includes in
> > the configure script (actually, in the acinclude.m4 file). And it breaks
> > the compilation on Debian when a user uses the PostgreSQL package on
> > Debian or any other .deb linux distributions. We already do this for the
> > package include dir (--pkgincludedir), I don't see any reason why we
> > shouldn't do it for the server one.
>
> Hmm, that would explain it - until now it's worked for some people and
> not for others and we've assumed it was a broken -dev package. I
> assume something like this does the trick:
>
> diff --git a/acinclude.m4 b/acinclude.m4
> index e379c62..f5eeaa4 100644
> --- a/acinclude.m4
> +++ b/acinclude.m4
> @@ -548,8 +548,9 @@ AC_DEFUN([SETUP_POSTGRESQL],
>                 AC_LANG_RESTORE
>
>                 PG_INCLUDE=`${PG_CONFIG} --includedir`
> +               PG_SVRINCLUDE=`${PG_CONFIG} --includedir-server`
>                 PG_PKGINCLUDE=`${PG_CONFIG} --pkgincludedir`
> -               CPPFLAGS="$CPPFLAGS -I${PG_INCLUDE} -I${PG_PKGINCLUDE}"
> +               CPPFLAGS="$CPPFLAGS -I${PG_INCLUDE} -I${PG_SVRINCLUDE}
> -I${PG_PKGINCLUDE}"
>
>                 PG_VERSION=`${PG_CONFIG} --version`
>

Yes, that's pretty much what I was thinking. There is also another file
that needs to be updated:

diff --git a/pgadmin/db/keywords.c b/pgadmin/db/keywords.c
index 9370a9e..0362a71 100644
--- a/pgadmin/db/keywords.c
+++ b/pgadmin/db/keywords.c
@@ -30,7 +30,7 @@
  */
 #define PG_KEYWORD(a,b,c) {a,c},
 const ScanKeyword ScanKeywords[] = {
-#include <server/parser/kwlist.h>
+#include "parser/kwlist.h"
 };
 const int NumScanKeywords = lengthof(ScanKeywords);


Can I commit both changes?


--
Guillaume
  http://blog.guillaume.lelarge.info
  http://www.dalibo.com


pgadmin-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: pgAdmin III commit: Database Designer (milestone 1 of GSoC 2011)
Next
From: Guillaume Lelarge
Date:
Subject: Re: pgAdmin III commit: Database Designer (milestone 1 of GSoC 2011)