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