On 2017/11/18 6:29, Tom Prince wrote:
It would be nice if the entry points that comm-central's buildbot configuration continued working until after 59 branches. I am planning to not use buildbot for the 59 release, but I'd like to have buildbot still working as a fallback.

I'm not sure exactly what interfaces it is using, but I can do some work to figure it out. Off-hand, I know it at least calls `./configure` and calls `make` in the objdir. These happen via the `client.mk <http://client.mk>` in comm-central, directly in the buildbot configs and in various scripts in the build-tools repo.


I am, like Tom, contributing C-C patches, and I have a nagging feeling that if client.mk and configure disappears, something bad may happen.
But, right now it  is a feeling only.

I suspect C-C developers will notice the bust caused by the new change first.


On Fri, Nov 17, 2017 at 2:06 PM Gregory Szorc <g...@mozilla.com <mailto:g...@mozilla.com>> wrote:

    As I'm working to remove client.mk <http://client.mk>, I'm
    encountering quite the spiderweb of dependencies between:

    * mach
    * client.mk <http://client.mk>
    * configure.in <http://configure.in> and configure
    * moz.configure / configure.py
    * config.status
    * build backend (Makefile.in, etc)

    Today, it is possible to bypass our frontends (mach and client.mk
    <http://client.mk>) and invoke the underlying components (configure,
    moz.configure, Makefile) directly. This results in hacks like
    configure.in <http://configure.in> being both a valid shell and m4
    file. (The build system copies it to configure but you can also run
    `autoconf` to achieve a similar result.)

    While my work to remove client.mk <http://client.mk> is centered
    around eliminating the redundancy between `mach` and client.mk
    <http://client.mk> by effectively moving logic into mach, as I'm
    touching the code it is obvious that all the code around
    configure[.in], moz.configure, config.status, etc could use a major
    overhaul. I'd love to say that "`mach` is the only supported
    interface to build Firefox." After all, from my perspective as a
    build system maintainer, it is much, much easier to support 1 thing
    instead of N>1.

    This poses the question: is it important to preserve the illusion
    that our build system is following autotools "standards"? If not,
    can we declare `mach` is the only supported interface and [re]move
    things like configure.in <http://configure.in>, configure,
    configure.py, config.status, and Makefile.in at our leisure?
    _______________________________________________
    dev-builds mailing list
    dev-builds@lists.mozilla.org <mailto:dev-builds@lists.mozilla.org>
    https://lists.mozilla.org/listinfo/dev-builds


_______________________________________________
dev-builds mailing list
dev-builds@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-builds

Reply via email to