After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 667586 - autotools: Move towards GNOME Build API logic
autotools: Move towards GNOME Build API logic
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other All
: Normal enhancement
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2012-01-09 16:58 UTC by Colin Walters
Modified: 2012-06-08 01:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
autotools: Move towards GNOME Build API logic (1.99 KB, patch)
2012-01-09 16:58 UTC, Colin Walters
needs-work Details | Review
autogen.sh: Honor NOCONFIGURE=1 (1.08 KB, patch)
2012-01-09 17:00 UTC, Colin Walters
needs-work Details | Review
autogen.sh: Honor NOCONFIGURE=1 (865 bytes, patch)
2012-06-06 19:05 UTC, Colin Walters
committed Details | Review

Description Colin Walters 2012-01-09 16:58:53 UTC
If configure exists, we now prefer it.  This means in order to rerun
autotools, we'll be relying on maintainer mode normally.  However,
developers can also just "rm configure".

We use NOCONFIGURE=1 for autogen.sh with no arguments, under the now
hard assumption it doesn't run configure.
Comment 1 Colin Walters 2012-01-09 16:58:55 UTC
Created attachment 204887 [details] [review]
autotools: Move towards GNOME Build API logic
Comment 2 Colin Walters 2012-01-09 17:00:55 UTC
Created attachment 204888 [details] [review]
autogen.sh: Honor NOCONFIGURE=1

http://people.gnome.org/~walters/docs/build-api.txt
Comment 3 Colin Walters 2012-01-09 17:03:52 UTC
If we go this route we actually can reduce a lot of the weird/differing logic between tarball versus git builds.  If a tarball has a pregenerated configure script, under this new logic, we use it automatically.  If it doesn't, we run autogen.sh.
Comment 4 Colin Walters 2012-01-09 17:18:57 UTC
This patch will however break a few modules:

http://people.gnome.org/~fpeters/reports/autogen-noconfigure-support.html
Comment 5 Colin Walters 2012-01-10 00:00:46 UTC
Hm, it also breaks e.g. nss and nspr which have configure in a subdirectory.   I think the simplest thing is to make the autogen.sh patches generate a toplevel configure which just execs the sub configure.
Comment 6 Craig Keogh 2012-01-24 05:17:08 UTC
Review of attachment 204887 [details] [review]:

Thank you for the patch. I don't want any modules within [ 'meta-gnome-core', 'meta-gnome-apps-tested' ] that were previously building modules to stop building. nspr and nss patches need to land before this is implemented.

If a moduleset defines autogen-template, autogen.sh is erroneously run twice. For example, if the following attribute is set in a moduleset file:
autogen-template="%(srcdir)s/%(autogen-sh)s --prefix %(prefix)s %(autogenargs)s"

If a module's upstream updates configure.ac, autogen.sh isn't rerun.
Comment 7 Craig Keogh 2012-01-24 05:18:40 UTC
Review of attachment 204888 [details] [review]:

Thank you for the patch.

::: autogen.sh
@@ +218,3 @@
     gettext "gnome-doc-prepare not available"; echo
   fi
+  if test -z "$NOCONFIGURE"; then

configure_without_autotools doesn't need this test as configure_without_autotools doesn't run autotool's configure.
Comment 8 Colin Walters 2012-06-06 19:05:49 UTC
Created attachment 215768 [details] [review]
autogen.sh: Honor NOCONFIGURE=1

http://people.gnome.org/~walters/docs/build-api.txt
Comment 9 Craig Keogh 2012-06-08 00:53:08 UTC
Review of attachment 215768 [details] [review]:

Thank you. Looks good.
Comment 10 Colin Walters 2012-06-08 01:37:02 UTC
Attachment 215768 [details] pushed as 8ea5074 - autogen.sh: Honor NOCONFIGURE=1