On 2/6/14, 11:21 AM, Dave Townsend wrote:
On Thu, Feb 6, 2014 at 10:57 AM, Gregory Szorc <g...@mozilla.com
<mailto:g...@mozilla.com>> wrote:

    On 2/6/14, 9:23 AM, Dave Townsend wrote:

        I assume the second section is actually "getcwd() not in objdir
        but is
        in srcdir"?


    Yes.


        I'm crazy enough to want to be able to call mach when getcwd() isn't
        either the objdir or srcdir. I have many of both and use various
        environment flags to say which is active currently. Perhaps it's
        implicit, but I don't see the option to use the directory that
        mach is
        in to find the srcdir, that would work fine for me and solve the
        need
        for my current scripts to change directory just to call mach.


    mach needs to "bind" to a source directory because it needs to load
    Python files from it. The "mach" script at the root of the checkout
    (which can be symlinked or even copied to your heart's content) has
    a mechanism for discovering the source directory. It then calls a
    routine in the source directory which completes the bootstrap process.

    If no source directory can be found, the mach script aborts. This
    commonly happens if you run |mach| outside a source directory.

    We /can/ add a facility for discovering source directories when
    "mach" is not inside of one. If someone says it is a hard workflow
    requirement, I reckon it will be implemented somehow.


I think perhaps I wasn't clear. I'd expect "getcwd() not in objdir nor
srcdir" to have as the first option "look for the srcdir based on the
location of the called mach script". So I can do "<srcdir>/mach" and
have it work, or an alias to mach or something else.

No, you were clear. I forgot to answer that part of the question.

mach looks at argv[0] as a possible srcdir location. Or at least it should.

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

Reply via email to