Closed Bug 1340850 Opened 7 years ago Closed 7 years ago

Make it possible to skip running configure in autospider.py.

Categories

(Core :: JavaScript Engine, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla54
Tracking Status
firefox54 --- fixed

People

(Reporter: arai, Assigned: arai)

References

Details

Attachments

(1 file)

Now I'm trying to create a workflow with autospider.py,
and I guess it should be nice to make it possible to skip running configure when building second time.

so, suppose --noconf option that skips configure, the workflow becomes like following:

  # first time
  ./js/src/devtools/automation/autospider.py --build-only warnaserrdebug

  # second time, after modifying only source
  ./js/src/devtools/automation/autospider.py --build-only --noconf --dep warnaserrdebug
Added --noconf option, and run configure only if --noconf option is not specified.
Attachment #8838901 - Flags: review?(sphink)
Comment on attachment 8838901 [details] [diff] [review]
Add --noconf option to autospider.py to skip running configure before building.

Review of attachment 8838901 [details] [diff] [review]:
-----------------------------------------------------------------

I haven't really made any effort to make autospider.py usable for regular workflows, only for automation and replicating automation locally. It's true that a few things have slipped in (--build-only etc), but that was just for speeding up my testing cycles when working on these builds.

But I certainly have no objection to it being used this way. Feel free to add or remove any options that would make it more convenient for you (as long as the basic invocations work, the ones used in automation.)

The one thing I've sometimes wanted when using this for local builds is for the objdir naming to be smarter. obj-spider gives no hint of what sort of build it is. I'd like it to indicate maybe the variant, and opt/debug. Maybe it should default to obj-spider only if AUTOMATION is set, and otherwise be obj-<variant>? I don't know, it's just an idea if it makes it more useful to you.
Attachment #8838901 - Flags: review?(sphink) → review+
Thank you for reviewing :)

(In reply to Steve Fink [:sfink] [:s:] from comment #2)
> The one thing I've sometimes wanted when using this for local builds is for
> the objdir naming to be smarter. obj-spider gives no hint of what sort of
> build it is. I'd like it to indicate maybe the variant, and opt/debug. Maybe
> it should default to obj-spider only if AUTOMATION is set, and otherwise be
> obj-<variant>? I don't know, it's just an idea if it makes it more useful to
> you.

actually I'm using autospider.py from a wrapper that does following:
  A. generates objdir name for given configuration and pass it via "--objdir=" argument
  B. touch js/src/configure file if configure.in or old-configure.in is newer than it
     (necessary for build after update)
  C. compose custom variant from existing variant
     for following cases:
       * to disable optimization for some variant for debugging
       * to build x86 on OSX
       * to build mips32 simulator
       * to build mips64 simulator
       * and some more cases like bug 1321498

about objdir naming with opt/debug, and C above, it would be nice to split --enable-optimize/--disable-optimize from "configure_args" property to "optimize" boolean property,
so that it can be used for objdir naming easily.
(In reply to Tooru Fujisawa [:arai] from comment #3)
> about objdir naming with opt/debug, and C above, it would be nice to split
> --enable-optimize/--disable-optimize from "configure_args" property to
> "optimize" boolean property,
> so that it can be used for objdir naming easily.

Sounds good to me. You could also have a command line option that overrode the variant's setting. Though perhaps you would never use that, if you're using a wrapper script already.
(In reply to Steve Fink [:sfink] [:s:] from comment #4)
> (In reply to Tooru Fujisawa [:arai] from comment #3)
> > about objdir naming with opt/debug, and C above, it would be nice to split
> > --enable-optimize/--disable-optimize from "configure_args" property to
> > "optimize" boolean property,
> > so that it can be used for objdir naming easily.
> 
> Sounds good to me. You could also have a command line option that overrode
> the variant's setting. Though perhaps you would never use that, if you're
> using a wrapper script already.

it would be nice if I can port more from wrapper to autospider.py itself.
I'll file followup bugs for each.
See Also: → 1342378
https://hg.mozilla.org/integration/mozilla-inbound/rev/3cb9642e344d98f71576303a96c7e11364d0d77a
Bug 1340850 - Add --noconf option to autospider.py to skip running configure before building. r=sfink
>  B. touch js/src/configure file if configure.in or old-configure.in is newer than it
>     (necessary for build after update)

looks like this is wrong.
I guess I misinterpret what happened before.
https://hg.mozilla.org/mozilla-central/rev/3cb9642e344d
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
You need to log in before you can comment on or make changes to this bug.