Re: AW: AW: AW: Re: tinterval - operator problems on AIX - Mailing list pgsql-hackers

From Ian Lance Taylor
Subject Re: AW: AW: AW: Re: tinterval - operator problems on AIX
Date
Msg-id si3deeye6o.fsf@daffy.airs.com
Whole thread Raw
In response to Re: AW: AW: AW: Re: tinterval - operator problems on AIX  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: AW: AW: AW: Re: tinterval - operator problems on AIX  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:

> Ian Lance Taylor writes:
> 
> > An approach I've followed in the past is to use three-way logic.  If
> > configuring for a native system, compile and run a program which
> > provides a yes or no answer.  When using cross-configuration, set the
> > configuration variable to ``don't know'' (or, since this a database
> > group, NULL).
> 
> This would seem to be the right answer, but unfortunately Autoconf is not
> smart enough to detect marginal cross-compilation cases in all situations.
> Someone had zlib installed in a location where gcc would find it (compiles
> okay) but the run-time linker would not (does not run).  This is not
> detected when AC_PROG_CC runs, but only later on after you have checked
> for the libraries.

Hmmm.  I would not describe that as a cross-compilation case at all.
The build machine and the host machine are the same.  I would describe
that as a case where the compiler search path and the run time library
search path are not the same.

The autoconf tests don't use any extra libraries, so any discrepancies
of this sort should not matter to them.  Autoconf tests whether it can
compile and run a simple program; if it can, it assumes that it is not
in a cross-compilation situation.

Clearly differences between search paths matter, but they are not the
same as cross-compilation.

Ian


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Transaction ID wraparound: problem and proposed solution
Next
From: Tom Lane
Date:
Subject: Re: C++ interface build on FreeBSD 4.2 broken?