autoconf and AM_MAINTAINER_MODE

14 views
Skip to first unread message

Qian Yun

unread,
Mar 4, 2021, 10:24:03 AM3/4/21
to fricas...@googlegroups.com
I found this problem during windows CI:

When you clone from a git repo, configure.ac can be newer
than configure, thus "make" will try to run "autoconf"
to update it.

I found this not very nice.

I found 2 ways to improve this:

1. manually "touch configure" before everything.
2. use "AM_MAINTAINER_MODE".

What's your opinion?

- Qian

Waldek Hebisch

unread,
Mar 4, 2021, 10:42:42 AM3/4/21
to fricas...@googlegroups.com
Could you say more about the problem? Our build machinery
requires explicit run of 'build_setup.sh' to update
'configure'. And the reason is exactly to avoid problems
like above. So, why 'autoconf' runs?

--
Waldek Hebisch

Ralf Hemmecke

unread,
Mar 4, 2021, 10:45:52 AM3/4/21
to fricas...@googlegroups.com
I actually never saw this, but anyhow.

I would actually like that generated files like configure do not live in
the source repository, because these are no primary sources. Since
opinions may differ on this view, I accept it in the repo.

That reduces the number of tools needed to build FriCAS by a few items
(autotools), but otherwise the FriCAS source code repo is intended to be
compiled on the users site. Since we explicitly distribute configure, it
should never be build on a users site (except for us developers and we
certainly know how to regenerate it).

Your issue can easily be worked around in the CI action script by adding
a "touch configure". However, your issue might also apply for an
ordinary user who cloned the repo and wants to build FriCAS.

I would not like to introduce a "AM_MAINTAINER_MODE" dependency.

Simply adding the line "touch configure" to the documentation "How to
build FriCAS" should do. I am not sure whether I would generally like to
add some code so that "./configure && make" never tries to rebuild the
"configure" script.

Ralf

Qian Yun

unread,
Mar 4, 2021, 11:06:31 AM3/4/21
to fricas...@googlegroups.com

> Could you say more about the problem? Our build machinery
> requires explicit run of 'build_setup.sh' to update
> 'configure'. And the reason is exactly to avoid problems
> like above. So, why 'autoconf' runs?
>

'build-setup.sh' is recommended? I never knew that.
So in the same spirit, shall we update the scripts
under 'config/' as well? They are seriously outdated.
See also https://github.com/fricas/fricas/issues/11 .

My opinion is that, since we ships both configure.ac
and configure, so end users should not have to run
autoconf again.

In my case, since git may mess up timestamps, configure.ac
can be newer than configure, then Makefile automatically
implicitly checks this and try to update configure,
you can see this by "make -d".

Dima Pasechnik

unread,
Mar 4, 2021, 11:22:52 AM3/4/21
to fricas...@googlegroups.com
What is your reason for not using AM_MAINTAINER_MODE macro?

all the reasoning against it is hopelessly outdated, and just irregular for projects using git.

--
You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/7074d46c-c34d-9b65-85d2-138b2a0bbf70%40hemmecke.org.

Waldek Hebisch

unread,
Mar 6, 2021, 6:28:46 PM3/6/21
to fricas...@googlegroups.com
On Thu, Mar 04, 2021 at 11:23:48PM +0800, Qian Yun wrote:
> I found this problem during windows CI:
>
> When you clone from a git repo, configure.ac can be newer
> than configure, thus "make" will try to run "autoconf"
> to update it.
>
> I found this not very nice.

This was a bug, old rule which for some reason was ineffective
recently fired and caused trouble. I have now removed this
rule and things should be as desired, that is no automatic
rebuild of 'configure'. So do not forget to run
'build-setup.sh' if you really want to update 'configure'.

--
Waldek Hebisch
Reply all
Reply to author
Forward
0 new messages