Re: AC_INIT receiving PACKAGE_VERSION from outside

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

 



Sam Steingold wrote:
> >> >   AC_INIT
> >> >   AC_CONFIG_SRCDIR(foo.c)
> >> >   . $srcdir/version.sh
> >> >   AM_INIT_AUTOMAKE(my package, $VERSION_NUMBER)
> >>
> >> Are you _sure_ it works?
> >> ...
> >> Specifically, the code above will result in empty PACKAGE_* variables.
> >
> > Yes, the PACKAGE_* variables are empty afterwards. If you need them, you
> > have to assign them explicitly:
> >   PACKAGE_NAME='my package'
> >   PACKAGE_VERSION=$VERSION_NUMBER
> >   etc.
>
> no, this does _not_ work.
> all the substitution code is done when AC_INIT is over.
> nothing you can do in configure.ac after AC_INIT can change what
> configure will substitute for @PACKAGE_VERSION@.

Huh? Works for me. When I use this in a configure.ac

  . $srcdir/../version.sh
  AM_INIT_AUTOMAKE(gettext-runtime, $VERSION_NUMBER)
  PACKAGE_NAME=gettext-runtime
  PACKAGE_TARNAME=gettext-runtime-$VERSION_NUMBER
  PACKAGE_VERSION=$VERSION_NUMBER
  PACKAGE_STRING="GNU gettext-runtime $VERSION_NUMBER"
  PACKAGE_BUGREPORT="bug-gnu-gettext@xxxxxxx"

I get this in config.status:

  s,@PACKAGE_NAME@,gettext-runtime,;t t
  s,@PACKAGE_TARNAME@,gettext-runtime-0.14.3,;t t
  s,@PACKAGE_VERSION@,0.14.3,;t t
  s,@PACKAGE_STRING@,GNU gettext-runtime 0.14.3,;t t
  s,@PACKAGE_BUGREPORT@,bug-gnu-gettext@xxxxxxx,;t t

So the substitution of @PACKAGE_VERSION@ works. The only thing that doesn't
work is the C macros PACKAGE_NAME etc. in config.h (they all get defined to
empty strings), but you can easily work around it by using this in
Makefile.am:

  AM_CPPFLAGS = -DMY_PACKAGE_NAME=\"@PACKAGE_NAME@\" ...

Bruno




_______________________________________________
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