On Tue, May 3, 2016 at 1:45 PM, Christopher Manchester <
chmanches...@gmail.com> wrote:

> We're moving some things currently defined in various confvars.sh files to
> Python configure (moz.configure), and have reached a point where feedback
> would be helpful, as we are replacing a relatively longstanding thing, and
> many are likely to interact with these options in the future.
>
> The competing proposals are:
>
> 1. Define options in a central location, and set them with imply_option in
> a project-specific moz.configure. For example:
>
> in toolkit/moz.configure:
>
> +project_option('MOZ_MOBILE_FOO',
> +                     help="Build foo if required")
>
> in mobile/android/moz.configure and any others that need it:
>
> +imply_option('MOZ_MOBILE_FOO', True)
>
> 2. Define options in a central location, and allow setting them with a
> templated function (imply_option in a project specific moz.configure might
> still be permitted, which would be useful for projects outside of the
> tree). Same example:
>
> in toolkit/moz.configure:
>
> +project_option('MOZ_MOBILE_FOO',
> +                     help="Build foo if required",
> +                     condition=enabled_for("mobile/android", "b2g"))
>
> Just one point in favor of each: option 1 is quite close to what we have
> today, while 2 puts more information about a flag in a single location,
> which might make things easier to understand.
>

I like option 1 because all the project options for a specific app are
located together. If you are a browser/ developer, you an see everything
enabled for browser. And it is similar to what we have today.

The flip side of this is that if you add a new option, you'll need to know
to update configs for multiple apps. But you have that problem no matter
what: the only difference is if you are updating 1 file or N.

The increased visibility of each option in #2 is nice. But we can always
write a tool to load the moz.configure files to find all project options
and which apps define them.
_______________________________________________
dev-builds mailing list
dev-builds@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-builds

Reply via email to