autoconf
[Top][All Lists]
Advanced

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

Re: CFLAGS for AC_COMPILE_IFELSE.


From: Ralf Corsepius
Subject: Re: CFLAGS for AC_COMPILE_IFELSE.
Date: Mon, 12 May 2008 06:31:28 +0200

On Sun, 2008-05-11 at 11:57 +0200, Edward Tomasz Napierala wrote:
> I need the configure script to figure out how many parameters one particular
> library function requires, due to API change.  I've found a macro to do that,
> it looks like this:
> 
> AC_DEFUN([AC_JACK_MIDI_NFRAMES_CHECK], [
> AC_MSG_CHECKING([whether JACK MIDI functions need nframes parameter])
> AC_LANG_PUSH(C)
> AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[
> #include <jack/jack.h>
> #include <jack/midiport.h>
> ]], [[
> jack_midi_event_get(0, 0, 0, 0);
> ]]), [jackmidi_nframes='yes'], [jackmidi_nframes='no'])
> AC_MSG_RESULT([$jackmidi_nframes])
> AC_LANG_POP()
> ])
> 
> Problem is, it does not work for me.  Probable reason is this
> (from config.log):
> 
> configure:5138: checking whether JACK MIDI functions need nframes parameter
> configure:5172: gcc -c -g -O2  conftest.c >&5
> conftest.c:32:23: error: jack/jack.h: No such file or directory
> conftest.c:33:27: error: jack/midiport.h: No such file or directory
> 
> It does not work, because it does not use the proper CFLAGS - this
> is FreeBSD, includes live in /usr/local/include and it's neccessary
> to pass -I/usr/local/include.
Are you saying, they modified their GCC in such a way that it doesn't
look into /usr/local/include? GCC's default behavior is to
use /usr/local/include implicitly, as part of GCC's system-include path,
in a similar way it treats /usr/include.

> So, the question is, how to modify the above macro to use CFLAGS it got
> (or should got) from pkg-config, for example?
You should not do this. Instead, the user/installer is supposed to pass
appropriate *FLAGS to configure.

In your case (include-paths): ..../configure CPPFLAGS="-I<foo>/include"

Ralf







reply via email to

[Prev in Thread] Current Thread [Next in Thread]