summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #66720 from qarmin/unintialized_memoryRémi Verschelde2022-10-052-3/+3
|\ | | | | | | Remove usage of unitialized variables
| * Remove usage of unitialized variablesRafał Mikrut2022-10-012-3/+3
| |
* | Merge pull request #63983 from Calinou/scons-linux-execinfo-muslRémi Verschelde2022-10-051-2/+4
|\ \ | | | | | | | | | Automatically use execinfo for crash handler on *BSD and musl-based Linux
| * | Automatically use execinfo for crash handler on *BSD and musl-based LinuxHugo Locurcio2022-10-041-2/+4
| | | | | | | | | | | | Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* | | Merge pull request #66773 from MladoniSzabi/numpad-no-numlock-bug-linuxRémi Verschelde2022-10-041-11/+15
|\ \ \ | | | | | | | | | | | | Remapped the numpad keys on linux when numlock is off
| * | | Remapped the numpad keys on linux when numlock is offMladoniSzabi2022-10-031-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On Linux, when using the numpad while numlock is off doesn't do anything. Made the numpad keys map to the correct control keys. Resolves: #54814.
* | | | Unix: Remove now unnecessary I/O defines, cleanupRémi Verschelde2022-10-032-14/+5
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - `LIBC_FILEIO_ENABLED` wasn't defined anywhere, even in _other platforms_. - `NO_NETWORK` is also never defined. It probably isn't enough anyway to disable network APIs in the current codebase. - `UNIX_SOCKET_UNAVAILABLE` is never defined in this code but used by some other platforms, clarify that. - `NO_STATVFS` can be removed as Android supports it since API level 19, which is our current min SDK level. It's also only used for `DirAccessUnix::get_space_left()` which is anyway overridden by `DirAccessJAndroid::get_space_left()` so it shouldn't make a difference. * Fixed documentation for `DirAccess.get_space_left()`. - `NO_FCNTL` is likely also a remnant of early Android days, in current NDK r23 it seems to be available. Also cleaned up unused `fcntl.h` includes. - `NO_ALLOCA` is never defined, and we use alloca in many places now.
* | | Fix inconsistent window state on X11.Matthew Munro (mam552)2022-10-011-0/+5
|/ / | | | | | | | | | | | | | | Fixes #66413. DisplayServerX11 tracks some internal state about whether the window is fullscreen, minimized, maximized or none. This commit queries the display server when the window changes, so that this internal state can be correctly updated.
* | Merge pull request #64784 from yedpodtrzitko/yed/ci-add-mypyRémi Verschelde2022-09-301-1/+6
|\ \ | | | | | | | | | ci: add Python static analysis check via mypy
| * | ci: add Python static analysis check via mypyJiri Suchan2022-09-301-1/+6
| | |
* | | Fix typos with codespellRémi Verschelde2022-09-301-1/+1
|/ / | | | | | | | | | | | | Using codespell 2.3-dev from current git. And fix typo in `methods.py` for `vsproj=yes` option (still won't work though).
* | SCons: Unify tools/target build type configurationRémi Verschelde2022-09-261-23/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
* | Style: Cleanup header guards for consistencyRémi Verschelde2022-09-261-3/+5
| | | | | | | | Fix file names for {Static,Lightmap}RaycasterEmbree.
* | SCons: Refactor handling of `production` flag and per-platform LTO defaultsRémi Verschelde2022-09-191-0/+4
|/ | | | | | | Fixup to #63288. See #65583 for the bug report. Co-authored-by: Cyberrebell <chainsaw75@web.de>
* Add get_distribution_name() and get_version() to OSMJacred2022-09-162-0/+41
| | | | | | supports: LinuxBSD, Windows, macOS, iOS, Android, UWP Co-authored-by: bruvzg
* Merge pull request #65496 from MinusKube/popup-capture-mouse-bugRémi Verschelde2022-09-162-3/+25
|\ | | | | | | Fix MOUSE_MODE_CAPTURED not working correctly with popups
| * Fix MOUSE_MODE_CAPTURED not working correctly with popupsMinusKube2022-09-072-3/+25
| |
* | Merge pull request #65509 from gotnospirit/master-os-get_datetimeRémi Verschelde2022-09-131-4/+3
|\ \ | | | | | | | | | get_datetime_* functions can return wrong values
| * | Fixes #65377: get_datetime_* functions can return wrong valuesJames2022-09-101-4/+3
| | |
* | | Fix multiwindow support in GLES3 for X11, Windows, and MacOS.clayjohn2022-09-121-13/+11
|/ / | | | | | | | | | | | | Instead of updating all viewports, then blitting all viewports to the backbuffer, then swapping all buffers, we run through all viewports and render, blit, and swap backbuffer before going to the next viewport.
* | SCons: Refactor LTO options with `lto=<none|thin|full>`Rémi Verschelde2022-09-081-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for LTO on macOS and Android. We don't have much experience with LTO on these platforms so for now we keep it disabled by default even when `production=yes` is set. Similarly for iOS where we ship object files for the user to link in Xcode so LTO makes builds extremely slow to link. `production=yes` defaults to full LTO. ThinLTO is much faster for LLVM-based compilers but seems to produce bigger binaries (at least for the Web platform).
* | Merge pull request #64417 from aaronfranke/has-spaceRémi Verschelde2022-09-061-4/+4
|\ \ | | | | | | | | | Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods
| * | Replace Rect2(i) has_no_area with has_areaAaron Franke2022-09-041-4/+4
| |/
* / Fix XSendEvent crash & bootsplash.MatthewZelriche2022-09-041-17/+8
|/ | | | | | | | | Fixes a crash due to an Xlib error, as well as ensures that Godot holds the correct size of the window after window modes have been applied, before exiting the DisplayServerX11 constructor. This ensures the bootsplash will be displayed with the correct dimensions. Fixes #65320
* Merge pull request #65283 from bruvzg/reenable_per_pix_transpRémi Verschelde2022-09-034-29/+60
|\ | | | | Re-enable per-pixel transparency support on Linux, macOS, and Windows.
| * Re-enable per-pixel transparency support on Linux, macOS, and Windows (for ↵bruvzg2022-09-034-29/+60
| | | | | | | | Vulkan and OpenGL rendering drivers).
* | Merge pull request #65111 from MatthewZelriche/DroppedXEventFixRémi Verschelde2022-09-031-4/+11
|\ \ | |/ |/| Fix dropped XEvents early in main window lifetime.
| * Fix dropped XEvents early in main window lifetime.MatthewZelriche2022-09-011-4/+11
| | | | | | | | | | | | | | | | | | | | The DisplayServerX11 constructor processes pending events shortly after constructing the main window. However, it discards pending events on the event queue that it is not interested in. This results in these events never making it to the main events thread and as a result are never processed. We need to save the events we don't handle in DisplayServerX11 so that they can be resent for later handling by the events thread.
* | Add support for system dark mode (Linux)Raul Santos2022-09-026-1/+231
|/ | | | - Use `org.freedesktop.appearance color-scheme` to support system dark mode.
* Fix minimize/maximize not taking effect in X11.MatthewZelriche2022-08-302-94/+92
| | | | | | | Attempts to construct an X11 window in an initial state of minimized/maximized would fail due to the window being unmapped. We simply check for failed mode changes during an unmap and reapply them if necessary.
* Merge pull request #65066 from aaronfranke/str-path-joinRémi Verschelde2022-08-301-7/+7
|\
| * Rename String `plus_file` to `path_join`Aaron Franke2022-08-291-7/+7
| |
* | Fix fullscreen on X11.MatthewZelriche2022-08-292-0/+15
|/ | | | | | | | | | Attempts to set a Godot window to fullscreen prior to the window being mapped would silently fail. This commit uses _window_fullscreen_check to test if a window had been set to fullscreen while unmapped, and if so, resets it to fullscreen once the window has been successfully mapped. Fixes #54065
* Merge pull request #64943 from MatthewZelriche/FixUnMappedAncestorRémi Verschelde2022-08-291-2/+10
|\
| * Fix X11 menu window bug.MatthewZelriche2022-08-271-2/+10
| | | | | | | | | | | | | | | | Fixes an issue where XSetInputFocus fails due to the window not being viewable. Fixes #62635 Fixes #60690
* | Merge pull request #64507 from RandomShaper/remove_unusedRémi Verschelde2022-08-272-6/+1
|\ \ | | | | | | Remove unused `force_quit` variable from many OS abstractions
| * | Remove unused force_quit variable from many OS abstractionsPedro J. Estébanez2022-08-272-6/+1
| | |
* | | Linux: Fix GNU ld detection for pck_embed linker scriptRémi Verschelde2022-08-261-1/+3
| |/ |/|
* | Improve platform-specific READMEs to add useful linksHugo Locurcio2022-08-251-2/+12
| | | | | | | | This also adds READMEs for all platforms.
* | Unify bits, arch, and android_arch into env["arch"]Aaron Franke2022-08-251-23/+19
| | | | | | | | | | | | Fully removes the `bits` option and adapts the code that relied on it. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* | Replace Array return types with TypedArraykobewi2022-08-222-3/+3
|/
* Fix memory leak when accessing/listing system fonts.bruvzg2022-08-091-0/+3
|
* Only define `keep_screen_on` project setting onceRedMser2022-08-061-1/+1
|
* Merge pull request #61315 from lawnjelly/variant_bucket_poolsRémi Verschelde2022-08-021-0/+5
|\ | | | | Variant memory pools
| * Variant memory poolslawnjelly2022-07-041-0/+5
| | | | | | | | Memory pools via PagedAllocator for Transform2D, Transform3D, Basis and AABB.
* | Merge pull request #63563 from aaronfranke/export-archRémi Verschelde2022-07-303-19/+7
|\ \
| * | Update export dialog to handle many architecturesAaron Franke2022-07-293-19/+7
| | |
* | | [Linux] Fix build with missing DBUS.bruvzg2022-07-291-0/+1
| | |
* | | Merge pull request #63595 from reduz/remove-signal-connect-bindsRémi Verschelde2022-07-291-6/+6
|\ \ \ | |/ / |/| | Remove Signal connect binds
| * | Remove Signal connect bindsJuan Linietsky2022-07-291-6/+6
| | | | | | | | | | | | | | | Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()