Hi.

From: "Tom Lane" <[EMAIL PROTECTED]>


"Hiroshi Saito" <[EMAIL PROTECTED]> writes:
Why do you need to #undef EXEC_BACKEND, and is there a specific reason for
removing the include of win32.h?

I put in in order to avoid -D of the Makefile.

If that matters, the problem is that somebody put the wrong stuff in the
wrong include file.  Backend-only things ought to go in postgres.h not
c.h.  In particular this is wrongly placed:

/* EXEC_BACKEND defines */
#ifdef EXEC_BACKEND
#define NON_EXEC_STATIC
#else
#define NON_EXEC_STATIC static
#endif

but AFAICS it doesn't affect anything that pgbench would care about.
So I'm wondering *exactly* what goes wrong if you don't #undef
EXEC_BACKEND in pgbench.

As for the FRONTEND #define, that seems essential on Windows (and on no
other platform) because port/win32.h uses it.  But putting the #define
into pgbench.c (and by implication into anything else we build on
Windows) sure seems like a broken approach.  Where else could we put it?
It looks like right now that's left to the build system, which might or
might not be a good idea, but if it is a good idea then pgbench must be
getting missed.  Perhaps instead postgres_fe.h should #define FRONTEND?

Yes, I feared that the physique of a main part broke. Then, Magnus said the same suggestion as you. It seems that it needs to be brushup. I am going to improve by the reason referred to as that FRONTEND influences nmake (libpq) again. Probably, Mugnus is operating main part.?

Thanks.

Regards,
Hiroshi Saito

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to