If you would like to help out with moz.build conversions simply begin maintaining build information within the moz.build file along with porting existing Makefile.in content.
Logic to support individual variables will need to exist within mozbuild before porting can take place.
To determine if a variable has already been converted there are a few options:
A list of supported tokens can be found mentioned in the VARIABLES= assignment.
- Bugzilla/wiki – variables with ‘logic’ in the in_mozbuild column are supported.
- Simple answer: just try it
- Add a variable in moz.build: FOO_BAR += [‘value’]
- Run ./mach configure
- If configure fails, scroll back and search for ‘ERROR PROCESSING MOZBUILD FILE’. If the error reported was “The underlying problem is an attempt to read a reserved UPPERCASE variable that does not exist”. Chances are good support for the variable has not yet been added in moz.build. Feel free to open bugs for missing variables as needed so they can be included and converted.
Code reviews for Makefile.in/moz.build changes can be forwarded to:
Code reviews for python/mozbuild changes to support new variables can be forwarded to:
or build::config peers
0:02.72 mozbuild.frontend.reader.BuildReaderError: 0:02.72 ERROR PROCESSING MOZBUILD FILE 0:02.72 0:02.72 The error occurred while processing the following file: 0:02.72 0:02.72 /media/_Q/mozilla/bugs/870407/mfbt/moz.build 0:02.72 0:02.72 The error was triggered on line 11 of this file: 0:02.72 0:02.72 INVALID 0:02.72 0:02.72 The underlying problem is an attempt to read a reserved UPPERCASE variable that does not exist. 0:02.72 0:02.72 The variable read causing the error is: 0:02.72 0:02.72 INVALID 0:02.72 0:02.72 Please change the file to not use this variable. 0:02.72 0:02.72 For reference, the set of valid variables is: 0:02.72 0:02.72 ASFILES, CMMSRCS, CONFIGURE_SUBST_FILES, CPP_SOURCES, CSRCS, DEFINES, DIRS, EXPORTS, EXTERNAL_MAKE_DIRS, EXTRA_COMPONENTS, HOST_CSRCS, HOST_LIBRARY_NAME, MODULE, PARALLEL_DIRS, PARALLEL_EXTERNAL_MAKE_DIRS, PROGRAM, SIMPLE_PROGRAMS, TEST_DIRS, TEST_TOOL_DIRS, TIERS, TOOL_DIRS, XPCSHELL_TESTS_MANIFESTS, XPIDL_FLAGS, XPIDL_MODULE, XPIDL_SOURCES