summaryrefslogtreecommitdiff
path: root/platform/x11/detect.py
AgeCommit message (Collapse)Author
2017-08-31Merge pull request #10148 from leezh/pcre2Rémi Verschelde
Replacement of internal RegEx with PCRE2
2017-08-30Disable -ffast-math for etc2compHein-Pieter van Braam
Apparently -ffast-math generates incorrect code with recent versions of GCC and Clang. The manual page for GCC warns about this possibility. In my tests it doesn't actually appear to be measurably slower in this case, and this is used in a batch process so it seems safe to disable this. This fixes #10758 and fixes #10070
2017-08-19Replacement of internal RegEx with PCRE2Zher Huei Lee
The pattern and replacement matching behaviour has been changed purely due to the nature of switching to a standards-compliant library. One mistake in the previous behaviour was that named groups didn't have a number. This has been corrected. As names are actually just an alias of numbered groups, RegExMatch::get_name_dict() is now get_names() and is a dict referring to the group number it represents. Duplicate names are enabled and the with the first matching instance used. Due the lack of a suitable equivalent in PCRE2, RegExMatch::expand() was removed.
2017-07-01Buildsystem: Improve detect.py readability and fix issuesRémi Verschelde
Tried to organize the configure(env) calls in sections, using the same order for all platforms whenever possible. Apart from cosmetic changes, the following issues were fixed: - Android: cleanup linkage, remove GLESv1_CM and GLESv2 - iPhone: Remove obsolete "ios_gles22_override" option - OSX: * Fix bits detection (default to 64) and remove obsolete "force_64_bits" option (closes #9449) * Make "fat" bits argument explicit - Server: sync with X11 - Windows: clean up old DirectX 9 stuff - X11: * Do not require system OpenSSL for building (closes #9443) * Fix typo'ed use_leak_sanitizer option * Fix .llvm suffix overriding custom extra_suffix
2017-05-06X11: Abort build if using OpenSSL 1.1.0+Rémi Verschelde
Workaround until #8624 is fixed.
2017-03-26SCons: Add option to toggle warnings (on by default)Rémi Verschelde
All the warnings are factored out of the platform-specific files and moved to SConstruct. Will have to check that it does not introduce regressions on some platforms/compilers. (cherry picked from commit 31107daa1a41fe9ab3c7c1868479e78e16848333)
2017-01-26Use -Ofast on x11. Also introduced use_lto option.Ferenc Arn
debug_release doesn't turn off optimizations for release target now. Ensure that sanitizer options apply to both C and C++ files. Built-in optimization/debug flags are prepended such that user-specified flags can override them. Based on and around the discussion in PR #5194.
2017-01-08x11: Improve logic for cross-dependencies between freetype, zlib and libpngRémi Verschelde
Fixes #7373.
2017-01-06Remove bundled glew, obsoleted by gladRémi Verschelde
Also make Haiku load the glad header for GLES3 too, though I haven't test it.
2017-01-02Merge remote-tracking branch 'origin/gles3' into gles3-on-masterRémi Verschelde
Various merge conflicts have been fixed manually and some mistakes might have been made - time will tell :)
2016-11-19png: Allow building shared freetype with bundled libpngRémi Verschelde
This was the behaviour when building Godot 2.1, which allows to build against Ubuntu 12.04 and its freetype that links old libpng12, while still bundling libpng16.
2016-11-19Revert "libpng: Fix erroneously linking against libpng12 on old distros"Rémi Verschelde
This reverts commits 5fa1bb331ad9be31dbfc752c7d19ccf7caeb8fa and ec4be71fade1ee5c6171e323d09197f3bf528499. Looks like Debian/Ubuntu are not even shipping libpng16 nowadays in their stable releases, we'll have to go back to statically linking our own libpng16 to wait for them to stop being 5 years behind everybody.
2016-11-19libpng: Fix erroneously linking against libpng12 on old distrosRémi Verschelde
This bit us for 2.1.1 binaries built on Ubuntu 12.04 LTS where libpng.pc apparently prioritizes libpng12.
2016-11-03scons: Reorder options for clarityRémi Verschelde
Also prefix all thirdparty-related toggles with `builtin`.
2016-11-01style: Fix PEP8 blank lines issues in Python filesRémi Verschelde
Done with `autopep8 --select=E3,W3`, fixes: - E301 - Add missing blank line. - E302 - Add missing 2 blank lines. - E303 - Remove extra blank lines. - E304 - Remove blank line following function decorator. - E309 - Add missing blank line. - W391 - Remove trailing blank lines.
2016-11-01style: Fix PEP8 whitespace issues in Python filesRémi Verschelde
Done with `autopep8 --select=E2,W2`, fixes: - E201 - Remove extraneous whitespace. - E202 - Remove extraneous whitespace. - E203 - Remove extraneous whitespace. - E211 - Remove extraneous whitespace. - E221 - Fix extraneous whitespace around keywords. - E222 - Fix extraneous whitespace around keywords. - E223 - Fix extraneous whitespace around keywords. - E224 - Remove extraneous whitespace around operator. - E225 - Fix missing whitespace around operator. - E226 - Fix missing whitespace around operator. - E227 - Fix missing whitespace around operator. - E228 - Fix missing whitespace around operator. - E231 - Add missing whitespace. - E231 - Fix various deprecated code (via lib2to3). - E241 - Fix extraneous whitespace around keywords. - E242 - Remove extraneous whitespace around operator. - E251 - Remove whitespace around parameter '=' sign. - E261 - Fix spacing after comment hash. - E262 - Fix spacing after comment hash. - E265 - Format block comments. - E271 - Fix extraneous whitespace around keywords. - E272 - Fix extraneous whitespace around keywords. - E273 - Fix extraneous whitespace around keywords. - E274 - Fix extraneous whitespace around keywords. - W291 - Remove trailing whitespace. - W293 - Remove trailing whitespace.
2016-11-01style: Start applying PEP8 to Python files, indentation issuesRémi Verschelde
Done with `autopep8 --select=E1`, fixes: - E101 - Reindent all lines. - E112 - Fix under-indented comments. - E113 - Fix over-indented comments. - E115 - Fix under-indented comments. - E116 - Fix over-indented comments. - E121 - Fix a badly indented line. - E122 - Fix a badly indented line. - E123 - Fix a badly indented line. - E124 - Fix a badly indented line. - E125 - Fix indentation undistinguish from the next logical line. - E126 - Fix a badly indented line. - E127 - Fix a badly indented line. - E128 - Fix a badly indented line. - E129 - Fix a badly indented line.
2016-10-30Merge pull request #6490 from zaps166/webm-prRémi Verschelde
Add WebM support
2016-10-23Add WebM moduleBłażej Szczygieł
Use already existing libraries: libvorbis and libopus. Also use newly added libraries: libvpx, libwebm, libsimplewebm.
2016-10-17SCons: Use colored output if available, change "colored"->"verbose"Błażej Szczygieł
2016-10-16Theora: Don't compile unnecessary files, rename "x86_opt_*"Błażej Szczygieł
2016-10-15freetype: Make it a module and split thirdparty libraryRémi Verschelde
Comment out the weird workaround for building on Windows at it might not be needed anymore. Testing needed to confirm.
2016-10-15zlib: Split thirdparty files, simplify scons optionRémi Verschelde
2016-10-15glew: Split thirdparty files and isolate envRémi Verschelde
Not fully happy about the way this one interacts with the various platforms. Maybe the platform_config.h should be generated by the SCsub instead of passing a define just to know where is the header.
2016-10-15squish: Move to a module and split thirdparty libRémi Verschelde
2016-10-15theora: Move to a module and split thirdparty libRémi Verschelde
Same rationale as the previous commits.
2016-10-15openssl: Move to a module and split thirdparty libRémi Verschelde
Same rationale as the previous commits.
2016-10-15ogg/vorbis/opus: Make them modules and unbundle thirdparty libsRémi Verschelde
Took the opportunity to undo the Godot changed made to the opus source. The opus module should eventually be built in its own environment to avoid polluting others with too many include dirs and defines. TODO: Fix the platform/ stuff for opus.
2016-10-15webp: Make it a module and unbundle libwebp thirdparty filesRémi Verschelde
Note that there are two Godot-specific changes made to libwebp for the javascript/HTML5 platform. They are documented in the README.md.
2016-10-15enet: Split enet thirdparty files and allow unbundlingRémi Verschelde
Building against shared libraries only implemented for Linux X11 so far. TODO: Document Godot's modifications of upstream enet.
2016-10-15png: Split library to thirdparty dir and allow unbundlingRémi Verschelde
Uses the new structure agreed upon in #6157, but the thirdparty/ folder does not behave following a logic similar to that of modules/ yet. The png driver can't be moved to a module as discussed in #6157, as it's required by core together with a few other ImageLoader implementations (see drivers/register_driver_types.cpp:register_core_driver_types()) Dropped the possibility to disable PNG support, it's a core component of Godot.
2016-10-03Begining of GLES3 renderer:Juan Linietsky
-Most 2D drawing is implemented -Missing shaders -Missing all 3D -Editor needs to be set on update always to be used, otherwise it does not refresh -Large parts of editor not working
2016-09-23Use pkgconfig to locate ALSA libs (#6119)romeojulietthotel
* This allows building when ALSA libs are in a non-standard location. PKG_CONFIG_PATH alone is not enough as the final link fails. Adding this makes the final link succeed. * The extra LIBS flag for alsa is not needed so removing.
2016-07-21Code cleanup in platform/x11Mario Schlack
2016-07-18remove GLU dependency, closes #3787Juan Linietsky
2016-07-04Link libdl only on Linux, fix BSD buildeska
2016-06-27Fix compiling for X11 on non-86, this fixes #5444Ferdinand Thiessen
2016-06-11Merge pull request #4905 from Hinsbart/x11_dpiJuan Linietsky
x11: Implemented dpi detection
2016-06-09-make freetype build for all platforms the same, default as builtin except ↵Juan Linietsky
on x11. closes #5119
2016-06-09x11: Implemented dpi detectionAndreas Haas
depends on XRandR. Had to dynamically load `XRRGetMonitors` as Ubuntu 12.04 doesn't have it. Also removed libudev from travis install list.
2016-06-08GLEW: Define static + enabled and includes via SConsRémi Verschelde
This allows us not to have to hack our definitions in the upstream files, making it easier to upgrade to newer versions in the future. For the include paths to work, the headers are moved to a GL subfolder to match their upstream location.
2016-05-29Finalized DynamicFont implementationJuan Linietsky
-DynamicFont uses Freetype by default -Editor fonts are now scalable thanks to this -Cleaned up documentation browser and added fonts for this
2016-04-02Remove trailing spacesRémi Verschelde
2016-02-14x11: make dependancy on libudev optionalhondres
2016-02-04added option to link libstdc++ staticallyJuan Linietsky
2016-01-26remove dependancy on libevdevhondres
2016-01-10Enable ALSA driver in non-linux X11 when availableeska
2016-01-06Make joydev build using udev and evdev opt-out but blocking (linux)Rémi Verschelde
It is enabled by default, users have to specifically ask for it if they don't want gamepad support. If libudev or libevdev are missing, the build aborts and tells the user the reason and that they can disable gamepad support with the "gamepad=no" option.
2015-12-21Check pkg-config for libudev and enable gamepad code only if found. Linux ↵hondres
only for now
2015-12-21-fixed build system to use pkg-config for evdevJuan Linietsky