summaryrefslogtreecommitdiff
path: root/modules/gdnative/gdnative_builders.py
AgeCommit message (Collapse)Author
2020-07-26CI: Install master version of psf/blackRémi Verschelde
Until https://github.com/psf/black/pull/1328 makes it in a stable release, we have to use the latest from Git. Apply new style fixes done by latest black.
2020-06-11GDNative: merge API structs, bump version of merged structs.bruvzg
2020-04-09Renaming all ARVR nodes to XRBastiaan Olij
2020-04-02Replace more occurrences of NULL with nullptrRémi Verschelde
2020-03-30SCons: Format buildsystem files with psf/blackRémi Verschelde
Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
2020-01-31Remove deprecated GDNative wrapper codeEmmanuel Leblond
2019-08-12Fix self reference issue in core structures for GDNative pluginsBastiaan Olij
2019-02-24Fixing C compatiblity for GDNative NET moduleFabio Alessandrelli
Also add net interfaces to gdnative_api.json
2019-02-08Fix generating GDNative API struct for 1.1Karroffel
Fixes #25425.
2018-12-13Added interface for GDNative Videodecoder.Anish
Interface and callback api added for Videodecoder support. Should be able to construct any format videodecoder using only the given interface. GSoC 2018 project.
2018-11-20Remove trailing whitespaceRémi Verschelde
With `sed -i $(rg -l '[[:blank:]]*$' -g'!thirdparty') -e 's/[[:blank:]]*$//g'` (+ manual revert of some thirdparty code under `platform/android`).
2018-08-30[GDNative] add initial core 1.1 extensionThomas Herzog
2018-07-27Running builder (content generator) functions in subprocesses on WindowsViktor Ferenczi
- Refactored all builder (make_*) functions into separate Python modules along to the build tree - Introduced utility function to wrap all invocations on Windows, but does not change it elsewhere - Introduced stub to use the builders module as a stand alone script and invoke a selected function There is a problem with file handles related to writing generated content (*.gen.h and *.gen.cpp) on Windows, which randomly causes a SHARING VIOLATION error to the compiler resulting in flaky builds. Running all such content generators in a new subprocess instead of directly inside the build script works around the issue. Yes, I tried the multiprocessing module. It did not work due to conflict with SCons on cPickle. Suggested workaround did not fully work either. Using the run_in_subprocess wrapper on osx and x11 platforms as well for consistency. In case of running a cross-compilation on Windows they would still be used, but likely it will not happen in practice. What counts is that the build itself is running on which platform, not the target platform. Some generated files are written directly in an SConstruct or SCsub file, before the parallel build starts. They don't need to be written in a subprocess, apparently, so I left them as is.