automake
[Top][All Lists]
Advanced

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

Re: configmake module and automake 1.9.6


From: Bruno Haible
Subject: Re: configmake module and automake 1.9.6
Date: Tue, 14 Dec 2010 22:33:54 +0100
User-agent: KMail/1.9.9

Hi Eric,

> > In Makefile.am add:
> > 
> >   localedir = @localedir@

This is probably not needed at all; the AC_SUBST invocation causes this line
to be added to every Makefile.in generated from a Makefile.am automatically.

> > In configure.ac add:
> > 
> >   dnl Installation directories.
> >   dnl Remove this when you can assume autoconf >= 2.60.
> >   AC_SUBST([localedir], ['${datadir}/locale'])

This is the essential change.

> But the Makefile.am in question is generated by gnulib.  Adding it to
> the top level won't affect the generation of configmake.h.

Then you could use gnulib-tool's option --makefile-name and include the
gnulib-generated Makefile.am fragment from your real Makefile.am.

>  # Listed in the same order as the GNU makefile conventions.
>  # The Automake-defined pkg* macros are appended, in the order
>  # listed in the Automake 1.10a+ documentation.
> +# Support newer definitions even when using older automake 1.9.6

The Automake version is probably irrelevant here. It's the Autoconf
version that matters.

>  configmake.h: Makefile
>       $(AM_V_GEN)rm -f address@hidden && \
>       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
> @@ -35,6 +36,9 @@ configmake.h: Makefile
>         echo '#define LIBEXECDIR "$(libexecdir)"'; \
>         echo '#define DATAROOTDIR "$(datarootdir)"'; \
>         echo '#define DATADIR "$(datadir)"'; \
> +       echo '#ifndef DATAROOTDIR'; \
> +       echo '# define DATAROOTDIR DATADIR'; \
> +       echo '#endif; \
>         echo '#define SYSCONFDIR "$(sysconfdir)"'; \
>         echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \
>         echo '#define LOCALSTATEDIR "$(localstatedir)"'; \

I would prefer to do this at configure.ac level. Because if a package has
C code which accesses DATAROOTDIR or LOCALEDIR, chances are high that it
also has Makefile rules that install files into $(datarootdir) or $(localedir).
The change that you propose handles the C code but not the Makefile.am rules.

Bruno



reply via email to

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