Re: About AC_CHECK_HEADERS and different locations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 28, 2010 at 17:52, Andrew W. Nosenko
<andrew.w.nosenko@xxxxxxxxx> wrote:
> On Tue, Sep 28, 2010 at 06:13, Sergio Belkin <sebelk@xxxxxxxxx> wrote:
>> Hi,
>>
>> I am autoconfiscating a project that has a header file with a line:
>>
>> #include <postgresql/libpq-fe.h>
>>
>> configure.ac has:
>>
>> AC_CHECK_HEADERS(postgresql/libpq-fe.h)
>>
>> The problem is that Ubuntu has such a header file on
>> /usr/include/postgresq  but fedora has it on  /usr/include. So how can
>> I make that configure script checks  for differents paths?
>
> Assuming that
>  o  Fedora has requested header as /usr/include/libpq-fe.h
>  o  Ubuntu has requested header as /usr/include/postgresql/libpq-fe.h
>      (otherwise I see no problems at all, just use CPPFLAGS approrach
> as already suggested)
>
> Then you can to check both in configure.ac and use result in the source code:
>
> configure.ac:
>
> AC_CHECK_HEADERS([postgresql/libpq-fe.h libpq-fe.h],
>                 [break],
>                 [AC_MSG_ERROR([PostgreSQL headers not found or not usable])])
>

Sorry, [action-if-not-found] executed if either header not found
instead of expected by me "neither header found"...  Therefore,
appropriate check shouldbe rewritten for keep semantics expected by
me:

AC_CHECK_HEADERS([postgresql/libpq-fe.h libpq-fe.h], [break])

if test x"$ac_cv_header_postgresql_libpq_fe_h" != xyes -a
x"$ac_cv_header_libpq_fe_h" != xyes
then
    AC_MSG_ERROR([PostgreSQL headers not found or not usable])
fi

> Source code:
>
> #if defined(POSTGRESQL_LIBPQ_FE_H)
> #  include <postgresql/libpq-fe.h>
> #elif defined(LIBPQ_FE_H)
> #  include <libpq-fe.h>
> #else
> #  error impossible because of AC_MSG_ERROR(), but...
> #endif
>
> Of cource you can play with [action-not-found] (for example remove
> AC_MSG_ERROR() completely and don't abort configure if nither header
> found), and simplify "#include" dance to
>
> #if defined(POSTGRESQL_LIBPQ_FE_H)
> #  include <postgresql/libpq-fe.h>
> #else
> #  include <libpq-fe.h>
> #endif
>
> for allow tuning CPPFLAGS by hands at the make(1) invocation, for
> example...  Or anything what you want.
>
> PS.  Untested, I didn't compile actually these examples, but hope you
> get the idea.
>
> --
> Andrew W. Nosenko <andrew.w.nosenko@xxxxxxxxx>
>



-- 
Andrew W. Nosenko <andrew.w.nosenko@xxxxxxxxx>

_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf



[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux