On Sun, 2 Feb 2014 18:56:01 +0100 infirit <infirit@xxxxxxxxx> wrote: > On Sun, 02 Feb 2014 23:21:03 +1000 > Peter Johansson <trojkan@xxxxxxxxx> wrote: > > [adding bug-automake] > > On 02/02/14 12:25, infirit wrote: > > > So for a project we wanted to make the tarball different from from > > > the package name. So we updated AC_INIT and added the tarname and > > > indeed now the tarball generated changes. > > > > > > However, we noticed that now the $PACKAGE variable is also changed > > > to what we set as tarname. Which then caused files being installed > > > in the wrong place as now $(pkgdatadir) changed as well. > > > > The first argument in AC_INIT is used to set variable $PACKAGE_NAME. > > The variable $PACKAGE is set by Automake within AM_INIT_AUTOMAKE > > somehow inferred from your AC_INIT call, so this looks like a bug > > (or feature) in Automake (cc:d here). I think you can solve your > > problem by adding no-define to AM_INIT_AUTOMAKE and define > > variables PACKAGE and version yourself. Hopefully the gurus on the > > list have some better idea. > > Thanks for the reply and the suggestion but it does not fix > the problem unfortunately. I tried this: > > -- > AC_INIT([this_is_package], [0.0.1], [http://someurl/], > [this_is_package_tarname]) > AC_DEFINE([PACKAGE], ["this_is_package"], []) > AC_DEFINE([VERSION], ["0.0.1"], []) > AM_INIT_AUTOMAKE([1.9 foreign dist-xz no-dist-gzip no-define]) > > AC_OUTPUT > AC_CONFIG_FILES([Makefile]) > > echo ${PACKAGE} > echo ${PACKAGE_NAME} > echo ${PACKAGE_TARNAME} > -- > > But $PACKAGE is still set to "this_is_package_tarname" while I set it > to be "this_is_package" with AC_DEFINE. I think I found the problem why setting tarname causes $PACKAGE to change. In the init.m4 file AC_PACKAGE_TARNAME is explicitely used to set $PACKAGE [1]. This is a bug and AC_PACKAGE_NAME should be used as it is done a little bit up for a check. AC_PACKAGE_TARNAME should only set how the tarball is named. However I think there is a second bug in that adding no-define as an option still sets $PACKAGE and $VERSION. ~infirit [1] http://git.savannah.gnu.org/cgit/automake.git/tree/m4/init.m4#n72 > > > As an example, we changed > > > AC_INIT([this_is_package], [0.0.1], [http://someurl/]) > > > > > > to > > > AC_INIT([this_is_package], [0.0.1], [http://someurl/], > > > [this_is_package_tarname]) > > > > > > I tested this with a small configure.ac and empty Makefile.am. The > > > example is below. > > <updated example configure.ac above> > > > > I put in some echo's at the end of the configure.ac and indeed the > > > variables $PACKAGE and $PACKAGE_TARNAME *both* change when adding > > > the tarname to AC_INIT. > > > > > > Is this a bug in autoconf or are we missing something? > > > > > > I am not subscribed so please cc me on replies. _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx https://lists.gnu.org/mailman/listinfo/autoconf