Received: from ritchie.wplus.net (relay.wplus.net [195.131.52.179]) by hub.org (8.9.3/8.9.3) with ESMTP id KAA22105 for ; Thu, 29 Jul 1999 10:02:51 -0400 (EDT) (envelope-from dms@woland.wplus.net) Received: from woland.wplus.net (woland.wplus.net [195.131.0.39]) by ritchie.wplus.net (8.9.1/8.9.1/wplus.2) with ESMTP id SAA06899; Thu, 29 Jul 1999 18:02:42 +0400 (MSK/MSD) X-Real-To: pgsql-hackers@postgresql.org Received: (from dms@localhost) by woland.wplus.net (8.9.2/8.9.1/wplus.2) id SAA29970; Thu, 29 Jul 1999 18:02:37 +0400 (MSD) Message-ID: X-Mailer: XFMail 1.3 [p0] on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: Date: Thu, 29 Jul 1999 18:02:36 +0400 (MSD) Sender: dms@woland.wplus.net From: Dmitry Samersoff To: The Hermit Hacker Subject: Re: [HACKERS] Off-topic: autoconf guru Cc: pgsql-hackers@postgresql.org On 29-Jul-99 The Hermit Hacker wrote: > > If you check configure.in with PostgreSQL, we use the --with-libs call in > order to tell it where to look for 'libraries outside the system > norm'...check the code for that, as I believe its what you are looking > for, since, in general, the libpq would be outside that 'norm'.. Thanks, but I mention some other problem - sequence CC=g++ AC_CHECK_LIB(pq, PQexec) is espanded by autoconf into ... main(){ PQexec(); } ... that can't be compiled by g++, instead ... main(){ PGconn *conn; const char *query; PQexec(conn,query); } is there a way to correct this problem or I need to rewrite autoconf macros? configure:2672: checking for PQexec in -lpq configure:2691: g++ -o conftest -g -O2 conftest.c -lpq -L/usr/local/pgsql/lib 1>&5 configure:2688: Undefined symbol `PQexec(void)' referenced from text segment collect2: ld returned 1 exit status configure: failed program was: #line 2680 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char PQexec(); int main() { PQexec() ; return 0; } > > > On Thu, 29 Jul 1999, Dmitry Samersoff wrote: > >> Is there any autoconf guru? >> >> I have lots problems Autoconf + C++ library. >> >> if I make CC=CXX, configure can't find libpq, >> AC_CHECK_LIB(pq, PQexec) >> >> because it try link PQexec() - and it is missing >> >> if I keep CC as cc >> AC_TRY_COMPILE([#include >> #include >> #include >> ], >> [int a = accept(1, (struct sockaddr *) 0, (int *) 0);], >> [AC_DEFINE(SOCKET_SIZE_TYPE, int) AC_MSG_RESULT(int)], >> [AC_DEFINE(SOCKET_SIZE_TYPE, size_t) AC_MSG_RESULT(size_t)]) >> >> return wrong result because int always aceptable for C but >> can cause error for CXX >> >> Is there autoconf version modified for work with C++ or >> I have to patch it's macros by my self ? >> >> >> --- >> Dmitry Samersoff, dms@wplus.net, ICQ:3161705 >> http://devnull.wplus.net >> * There will come soft rains ... >> > > Marc G. Fournier ICQ#7615664 IRC Nick: > Scrappy > Systems Administrator @ hub.org > primary: scrappy@hub.org secondary: > scrappy@{freebsd|postgresql}.org --- Dmitry Samersoff, dms@wplus.net, ICQ:3161705 http://devnull.wplus.net * There will come soft rains ...