summaryrefslogtreecommitdiffstats
path: root/platform/x11/detect.py
Commit message (Collapse)AuthorAgeFilesLines
* SCons: Reduce spam from x11:can_buildRémi Verschelde2019-03-021-2/+0
| | | | | When cross-compiling for non-X11 on Linux, it used to be quite spammy. Now it will only print errors if you miss more than just pkg-config and x11.
* Come up with use_gcc.marxin2019-02-231-5/+6
| | | | Add new method. Fix wrong version condition for -fpie.
* Add -Wshadow=local to warnings and fix reported issues.marxin2019-02-201-13/+6
| | | | Fixes #25316.
* Rename sanitizer option names.marxin2019-01-211-7/+15
| | | | | | | Make the sanitizer names more explicit (use_ubsan, use_asan, use_lsan). Comment has been adjusted to include GCC as supported compiler for these and exclude -fno-omit-frame-pointer option (should not cause any problems).
* Don't use -ffast-math or other unsafe math optimizationsHein-Pieter van Braam2019-01-091-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Godot supports many different compilers and for production releases we have to support 3 currently: GCC8, Clang6, and MSVC2017. These compilers all do slightly different things with -ffast-math and it is causing issues now. See #24841, #24540, #10758, #10070. And probably other complaints about physics differences between release and release_debug builds. I've done some performance comparisons on Linux x86_64. All tests are ran 20 times. Bunnymark: (higher is better) (bunnies) min max stdev average fast-math 7332 7597 71 7432 this pr 7379 7779 108 7621 (102%) FPBench (gdscript port http://fpbench.org/) (lower is better) (ms) fast-math 15441 16127 192 15764 this pr 15671 16855 326 16001 (99%) Float_add (adding floats in a tight loop) (lower is better) (sec) fast-math 5.49 5.78 0.07 5.65 this pr 5.65 5.90 0.06 5.76 (98%) Float_div (dividing floats in a tight loop) (lower is better) (sec) fast-math 11.70 12.36 0.18 11.99 this pr 11.92 12.32 0.12 12.12 (99%) Float_mul (multiplying floats in a tight loop) (lower is better) (sec) fast-math 11.72 12.17 0.12 11.93 this pr 12.01 12.62 0.17 12.26 (97%) I have also looked at FPS numbers for tps-demo, 3d platformer, 2d platformer, and sponza and could not find any measurable difference. I believe that given the issues and oft-reported (physics) glitches on release builds I believe that the couple of percent of tight-loop floating point performance regression is well worth it. This fixes #24540 and fixes #24841
* Use XInput2 RawMotion to generate MouseMotion eventsCosmic Chip Socket2018-12-141-5/+6
| | | | | | | | | | | | | | | | | | | | The current system for capturing the mouse and generating motion events on X11 has issues with inaccurate and lopsided input. This is because both XQueryPointer and XWarpPointer work in terms of integer coordinates when the underlying X11 input driver may be tracking the mouse using subpixel coordinates. When warping the pointer, the fractional part of the pointer position is discarded. To work around this issue, the fix uses raw motion events from XInput 2. These events report relative motion and are not affected by pointer warping. Additionally, this means Godot is able to detect motion at a higher resolution under X11. Because this is raw mouse input, it is not affected by the user's pointer speed and acceleration settings. This is the same system as SDL2 uses for its relative motion. Multitouch input on X requires XInput 2.2. Raw motion events require XInput 2.0. Since 2.0 is old enough, this is now the minimum requirement to use Godot on X.
* Fix gcc version check when running scons in python 3.Ibrahn Sahir2018-11-141-0/+2
|
* Fix compile recent compile issues with gcc 5.5Marcelo Fernandez2018-11-121-2/+2
|
* Fix binaries incorrectly detected as shared libraries on some linux distrosMarcelo Fernandez2018-11-071-0/+12
|
* SCons: Remove avoidable defines from main env's CPPPATHRémi Verschelde2018-10-011-2/+3
| | | | | | Also finally move freetype to its own env and disable warnings for it. Still needs some work to fix the awkward situation of the freetype and svg modules used in scene/ and editor/ respectively.
* SCons: Fix checks for clang in env['CXX']Rémi Verschelde2018-09-251-3/+3
| | | | They would match the whole path instead of only the filename.
* Merge pull request #20154 from marcelofg55/midi_driverRémi Verschelde2018-07-251-1/+1
|\ | | | | Added a new MIDIDriver class
| * Added a new MIDIDriver classMarcelo Fernandez2018-07-211-1/+1
| |
* | SCons: Add "execinfo" option to force linking libexecinfoRémi Verschelde2018-07-221-0/+4
| | | | | | | | Fixes #20035.
* | -Fix disable_3d flagJuan Linietsky2018-07-211-2/+10
|/ | | | -Add extra flag optimize=[size,speed] to be able to prioritize size
* Tweak some help texts in the build systemHugo Locurcio2018-06-071-2/+2
| | | | | This also removes `unix_global_settings_path` from SConstruct since it is no longer used.
* SCons: Allow unbundling libwebsockets and miniupnpcRémi Verschelde2018-06-071-12/+18
|
* Merge pull request #14622 from bruvzg/non-rectangular-windowsHein-Pieter van Braam2018-05-081-0/+6
|\ | | | | Experimental support for windows with per-pixel transparency.
| * Experimental support for windows with per-pixel transparency (macOS, X11 and ↵bruvzg2018-04-071-0/+6
| | | | | | | | Windows).
* | Added new audio device functions to set/get the audio deviceMarcelo Fernandez2018-03-261-2/+2
|/
* X11: Link libgcc statically with use_static_cpp optionRémi Verschelde2018-02-161-3/+3
| | | | | | | | | We were already linking libstdc++ statically for official binaries, protecting us against most portability issues. But apparently since we started using GCC 7 for official builds, we also need to link libgcc statically for at least 32-bit builds to be portable. Fixes #16409.
* Allow building with system wide mbedtls on X11Fabio Alessandrelli2018-02-141-0/+4
| | | | | Using builtin_mbedtls=yes is still the default as many distributions do not ship with mbedtls included.
* Deleting OpenSSL module and libraryFabio Alessandrelli2018-02-141-4/+0
|
* Make separate debug symbols opt-inHein-Pieter van Braam2018-01-261-0/+1
| | | | | | | This adds a separate_debug_symbols option to the x11, windows, and osx targets. This will default to adding normal debugging symbols to the artifacts and only splits them when separate_debug_symbols=yes on the Scons command line.
* Bullet: allow unbundling only if > 2.87Rémi Verschelde2018-01-261-3/+3
| | | | | Looks like we are using cutting edge methods which are not even if the current stable 2.87.
* SCons: Allow unbundling bullet on Linux (only 2.87+)Rémi Verschelde2018-01-131-0/+10
|
* SCons: Fix usage of LD when we meant LINKRémi Verschelde2018-01-051-1/+1
| | | | | | | Also made LINK and CXXFLAGS configurable as command line options. Note that LINK currently expects the *compiler* that will be used for linking and will call its configured linker behind the scenes (so g++, clang++, etc., not ld.gold). See #15364 for details.
* -Removed OpenMP support, replaced by a custom class.Juan Linietsky2017-12-241-4/+0
| | | | -Disabled Opus, implementation is wrong.
* Do not require OpenMP for non-tools builds (export templates)Rémi Verschelde2017-12-221-1/+1
|
* openmp: Simplify linking on X11, fixing clang buildRémi Verschelde2017-12-141-2/+1
|
* openmp: Don't try to link GCC's implementation on ClangRémi Verschelde2017-12-141-2/+3
| | | | | Also disable openmp build on Travis, breaks on Trusty's Clang. Group deps more naturally.
* Added indent_style to editorconfig, fixed inconsistent use of tabs and ↵Colin Kinloch2017-12-141-2/+2
| | | | spaces in indentation.
* -Add lightmapperJuan Linietsky2017-12-141-0/+6
| | | | | | -Fixes to unwrapper (remove degenerates), makes Thekla not crash -Added optional cancel button in EditorProgress -Added function to force processing of events (needed for cancel button)
* Implement multitouch on X11Pedro J. Estébanez2017-12-061-0/+9
|
* Cleanup old references to GLES2 rendererRémi Verschelde2017-11-191-1/+1
| | | | | | | | | There are still some left in the Android Java code, even stuff to swap between GLES1 and GLES2 support from early Godot days... would be good to see some cleanup there too one day. The "graphics/api" option for Android exports is removed, as only GLES 3.0 is supported. It can be readded when GLES 2.0 support comes back. Fixes #13004.
* SCons: make use_lto a global option and opt-in for iphoneRémi Verschelde2017-11-021-1/+0
| | | | Supersedes #12553, see discussion in #12552.
* Travis: Simplify matrix, disable iphone and add X11 tools=no/clangRémi Verschelde2017-10-271-0/+4
| | | | | | | Travis always has massive backlog of macOS builds, so we can't rely on them too much. The iphone build was mostly useful to spot tools=no or target=release_debug issues, so replacing it by an appropriate X11 build.
* Fix BSD compile issuesMarcelo Fernandez2017-10-171-0/+3
|
* Reduce gcc lto build time by telling the linker toFelix M. Cobos2017-09-261-1/+4
| | | | use the number of jobs indicated by -j
* Use BoolVariable in platform-specific options.Elliott Sales de Andrade2017-09-251-16/+16
|
* Use BoolVariable for third-party options.Elliott Sales de Andrade2017-09-251-27/+27
|
* Use BoolVariable in target/component/advanced options.Elliott Sales de Andrade2017-09-251-1/+1
|
* Use EnumVariable for choice-based build options.Elliott Sales de Andrade2017-09-251-1/+2
|
* Merge pull request #11519 from hpvb/fix-gcc-ltoRémi Verschelde2017-09-241-0/+3
|\ | | | | | | | | Fix gcc lto [ci skip]
| * Fix gcc ltoHein-Pieter van Braam2017-09-231-0/+3
| | | | | | | | | | This repairs LTO on X11 and adds it to MingW targets. The difference in linktime is substantial, but runtime performance is quite a bit better.
* | Merge pull request #11527 from QuLogic/system-zstdRémi Verschelde2017-09-241-0/+3
|\ \ | | | | | | Enable building against system zstd.
| * | Enable building against system zstd.Elliott Sales de Andrade2017-09-231-0/+3
| |/
* / Add support for OpenSSL 1.1.0.Elliott Sales de Andrade2017-09-241-9/+0
|/ | | | | | | | This release hides many struct members which provides easier forward compatibility but is a break from previous releases. A few small macros provide compatibility between both 1.1.0 and 1.0.x. Fixes #8624.
* Create separate debug info files by defaultHein-Pieter van Braam2017-09-161-5/+8
| | | | | | | | | | | | | | | | | | | | | | Now that we have a built-in stacktrace on a segfault it would be useful to have debug information on debug_release builds so that bugreports can include this information. Without this debug info we will still get function names in the backtrace but not file location. This commit will by default build all targets with minimal debug info and then strip the information into separate files. On MacOS this is a .dSYM file, on Linux/MingW this is a .debug file. MacOSX will automatically load a dSYM file if it exists in its debugger. On Linux/MingW we create a 'gnu debuglink' meaning that gdb and friends will automatically find the debug symbols if they exist. Existing workflow for developers does not change at all, except that we now create two instead of one build artifact by default. This commit also adds a 'debug_symbols' option to X11, MacOS, and MingW targets. The default is 'yes' which corresponds to -g1. The alternatives are 'no' (don't generate debug infos at all) or 'full' which runs with -g2. A target=debug build will now build with -g3.
* Added a crash handler to dump the backtrace on Windows, Linux and OS XMarcelo Fernandez2017-09-131-0/+1
|