STR: * Add Makefile in subdir/ that has: export USE_EXTENSION_MANIFEST = 1 * Add a moz.build in that directory that includes other dirs via DIRS Results: * The export is not honored when building in make -C objdir * The export *is* taken into account when calling make -C objdir/subdir Unfortunately we are missing some nightly builds, but it happened some time between 2014-07-25 and 2014-08-04. The above steps apply to Lightning using the comm-central build system so there might be slight differences. I hope you can help me find the root cause and tell me if this is an issue with the build system or if I have to make changes calendar/. Example usage: http://mxr.mozilla.org/comm-central/source/calendar/lightning/Makefile.in#15 http://mxr.mozilla.org/comm-central/source/calendar/lightning/moz.build (USE_EXTENSION_MANIFEST unset in:) http://mxr.mozilla.org/comm-central/source/calendar/base/jar.mn
Relying on "export" to propagate down to subdirectories was wrong in the first place. Just define USE_EXTENSION_MANIFEST everywhere it needs to be set.
We used this to separate general calendaring components from those related to the Lightning extension: something in calendar/base does not necessarily have to be part of Lightning, therefore USE_EXTENSION_MANIFEST and XPI_NAME don't always apply. This originated from times where we still had Sunbird, so you could argue that its time to change this, but this would mean I need to define USE_EXTENSION_MANIFEST in every calendar/ directory, adding in Makefile.in's where we've already gotten rid of them in favor of moz.build. Shouldn't exporting rather be fixed? Similarly XPI_NAME is also exported, but this is done in moz.build where it seems to work.
Ok, its not actually that bad, I just need to define USE_EXTENSION_MANIFEST in every directory that has a jar.mn and they all currently have a Makefile.in anyway. I guess your goal is to get rid of the Makefiles alltogether so exports don't have to work there, but if someone is expecting an export to work then this might bite them. Its used in a few locations in m-c too: http://mxr.mozilla.org/mozilla-central/search?string=^export+®exp=on&find=Makefile.in As we have a workaround I'm fine with having this bug closed, but maybe you want to keep it open to fix the regression. I'll leave that up to you.
If someone is expecting an export to work, it hasn't worked for months on mozilla-central, so they've been broken for months. C-c only switched to the new directory traversal recently, and it's impossible to "fix" export in it, and the old directory traversal is gone.
Ah ok, I didn't know it has been this way for m-c for a while. I'll leave that to specific bugs then and close this one. Thanks for the info!