autoconf driving me mad

Christoph Höger choeger at cs.tu-berlin.de
Mon Jan 7 21:57:49 UTC 2008


Am Montag, den 07.01.2008, 20:01 +0100 schrieb Stepan Kasal:
> Hello,
> 
> On Mon, Jan 07, 2008 at 02:07:59PM +0100, Christoph Höger wrote:
> > GLOB_INCLUDE="-I${srcdir} -I${srcdir}/include"
> > AC_SUBST(GLOB_INCLUDE)
> 
> variables like srcdir, top_srcdir, top_builddir, and such are
> not available for the shell code in the configure.ac.  The manual
> does not mention them.  (Yes, there is something about having the
> available in AC_CONFIG_* macros, but that's not the case here.)
> 
> These variables are available in the file _created_ by configure,
> specifically in the makefiles.
> 
> So, formally speaking, the observed problem with backward
> compatibility of 2.61 is caused by relying on undocumented features
> in the autoconfigury of openccs.
> 
> Let me outline the way to fix this.
> src/make.rules should use $(top_srcdir) and such like this:
> 
> GLOB_INCLUDE = \
>   -I$(top_srcdir) \
>   -I$(top_srcdir)/include
> TOOLS_INCLUDE = \
>   -I$(top_srcdir)/shared/rte \
>   -I$(top_builddir)/shared/comm \
>   -I$(top_srcdir)/shared/comm \
>   -I$(top_srcdir)/shared/filterIdent \
>   -I$(top_srcdir)/shared/tools
> 
> AM_CPPFLAGS = $(GLOB_DEFINES) $(GLOB_INCLUDE) $(TOOLS_INCLUDE)
> 
> Note:
> - the two lines quoted in the top of this mail should go away from
>   configure.in, GLOB_INCLUDE in defined directly in make.rules
> - likewise, TOOLS_INCLUDE shall not be AC_SUBSTed
> - some Makefile.am contain
> 	INCLUDE = @GLOB_INCLUDE@
>   and such; these are redundant and should go away
> - $(GLOB_DEFINES) works even though it is not spelled as @...@; thats
>   because all AC_SUBSTed variables are inherited in makefiles
> 
> Hope this explanation will drag you back to the sane world.  ;-)
> 
> Have a nice day,
> 	Stepan Kasal
> 

Hi,

thank you for your advice! 
I'm going to fix the package tomorrow.
(hopefully the doctor will let me go home tomorrow ;) )

christoph




More information about the fedora-devel-list mailing list