On 7/8/15 4:39 PM, Tom Lane wrote:
> Heikki Linnakangas <hlinnaka@iki.fi> writes:
>> I'm debugging this ATM. You're probably seeing a failure similar to
>> shearwater. The problem seems to be that the earlier autoconf tests add
>> "-lrt" to LIBS, and that somehow pulls in pthread_join() and other
>> functions, but not pthread_sigmask(), even when not compiling with -pthread.
>
>> I'll dig a bit deeper, but I think that could be fixed by moving the
>> AX_PTHREAD call in the configure script earlier, or by temporarily
>> clearing LIBS before calling it.
>
> Ah. The former sounds sensible from here.
>
> This kind of points up that I've always thought the advice at the top of
> configure.in is a tad broken:
>
> dnl 0. Initialization and options processing
> dnl 1. Programs
> dnl 2. Libraries
> dnl 3. Header files
> dnl 4. Types
> dnl 5. Structures
> dnl 6. Compiler characteristics
> dnl 7. Functions, global variables
> dnl 8. System services
>
> Why isn't "Compiler characteristics" a lot earlier in the list, certainly
> before "Libraries"?
Compiler characteristics are things like sizeof and alignof, for which
you need header files and types, for which you might need libraries.
There will surely be some complicated cases, but I think as a guideline
the order is sound.