gecko-dev/python
Nika Layzell 568787b95f Bug 1448426 - Wrap windows.h to avoid problematic define statements, r=froydnj,glandium
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.

As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.

The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.

This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.

Differential Revision: https://phabricator.services.mozilla.com/D10932
2018-11-28 12:56:20 -05:00
..
devtools/migrate-l10n Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
docs Bug 1490253 - Update documentation on vendoring Python packages based on switch to pip-tools; r=ahal 2018-10-15 13:36:30 +00:00
l10n/fluent_migrations Bug 1507301 - Migrate about:sessionrestore and about:welcomeback to use Fluent for localization r=Gijs,flod,zbraniecki 2018-11-19 22:01:58 +00:00
mach Bug 1506759: remove `try-except` block which swallows `OSError` r=ted 2018-11-14 16:33:22 +00:00
mozboot Bug 1509296 - Download clang based static-analysis during bootstrap. r=nalexander 2018-11-27 19:43:37 +00:00
mozbuild Bug 1448426 - Wrap windows.h to avoid problematic define statements, r=froydnj,glandium 2018-11-28 12:56:20 -05:00
mozlint Backed out 5 changesets (bug 1498640, bug 1436037, bug 1497660, bug 1505579) for mass failures on a CLOSED TREE 2018-11-15 07:53:41 +02:00
mozrelease Bug 1482395: [mozrelease] Add support for generating update metadata; r=mtabara 2018-11-27 18:47:14 +00:00
mozterm Bug 1471171 - Indicate that mozterm is universal and works on any version of Python; r=emorley 2018-07-02 12:03:10 +01:00
mozversioncontrol Bug 1472177 - Run mozversioncontrol tests under python 3 r=gps 2018-07-24 21:21:46 +00:00
safety Bug 1476003 Update python virtual environment for |mach python-safety| r=davehunt 2018-07-16 15:36:50 +00:00
README Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
mach_commands.py bug 1505205 - don't write telemetry for recursive mach command invocations. r=firefox-build-system-reviewers,chmanchester 2018-11-10 19:04:30 +00:00
moz.build Bug 1508248 - Update in-tree bugzilla metadata to use 'Firefox Build System :: Mach Core' for mach files r=froydnj 2018-11-19 13:35:14 +00:00

README

This directory contains common Python code.

The basic rule is that if Python code is cross-module (that's "module" in the
Mozilla meaning - as in "module ownership") and is MPL-compatible, it should
go here.

What should not go here:

* Vendored python modules (use third_party/python instead)
* Python that is not MPL-compatible (see other-licenses/)
* Python that has good reason to remain close to its "owning" (Mozilla)
  module (e.g. it is only being consumed from there).

Historical information can be found at
https://bugzilla.mozilla.org/show_bug.cgi?id=775243
https://bugzilla.mozilla.org/show_bug.cgi?id=1346025