Commit graph

1149 commits

Author SHA1 Message Date
Rémi Verschelde
afd73a43a7
OSX/iOS: Make .dSYM extraction opt-in 2025-11-26 21:50:02 +01:00
Rémi Verschelde
1ddcab6312
Linux: Don't hardcode i386 lib paths when cross-compiling, unnecessary 2025-11-26 21:49:40 +01:00
Leon Krause
8535939b27
Fix HTML5 gamepad logic for Emscripten 1.38.22 compat breakage
(cherry picked from commit 0d47dccda9)
2025-11-21 11:07:14 +01:00
Leon Krause
ed8e61dc5d
Fix HTML5 gamepad input
(cherry picked from commit cd7c0f67b9)
2025-11-21 11:07:14 +01:00
Rémi Verschelde
da6ec98e8e
JavaScript: Remove unnecessary CCCOM and CXXCOM overrides
The CXXCOM one was wrong too (using CFLAGS).
2025-01-03 15:41:29 +01:00
Rémi Verschelde
e6b0829d76
SCons: Ensure written files are properly flushed/closed
This broke at least the generation of AndroidManifest.xml with Python 3.13.1.
2025-01-03 12:22:48 +01:00
Rémi Verschelde
a87391d256
Linux: Allow building with GCC > 8, only GCC 6/7 trigger the Object::cast_to optimization issue
And likewise, prevent building with mingw-gcc for Windows if it's GCC 6/7.

The check for the Server platform was unnecessary as its `release` template
doesn't use `-O3`/`-Ofast`.
2025-01-03 11:30:22 +01:00
Rémi Verschelde
64a9c5ac65
Android: Replace deprecated distutils LooseVersion usage
(cherry picked from commit 9e9ea714ad)
2025-01-03 11:30:22 +01:00
Xavier Sellier
3401d97ee6
Cannot export to OSX
OSX template name misses the 64
2020-09-03 14:18:22 +02:00
Fredia Huya-Kouadio
11fba315ec Enable legacy external storage for Android 10
(cherry picked from commit 2e7e3dcfe4)
2020-08-18 01:11:30 +02:00
Rémi Verschelde
07bf2467e3 HTML5: Fix build regression from 995eddf714
I forgot to remote the `-o` flag previously with `emcc` instead of `emar`.
2020-08-15 13:41:59 +02:00
Rémi Verschelde
408667f597 Android: Target API level 29 as required by Google Play
This is required for new apps since August 3, 2020:
https://support.google.com/googleplay/android-developer/answer/113469#targetsdk
2020-08-15 12:57:08 +02:00
Rémi Verschelde
87abfad7e2 OSX: Remove support for 32-bit and fat binaries
Mac OS X is 64-bit only since 10.7 (Lion), which has reached End-Of-Life in October 2014.
Therefore it no longer makes sense to support exporting 32-bit binaries for Mac OS X,
and we can now default to 64-bit instead of bigger "fat" binaries.

(cherry picked from commits f04958cd5d,
42c5af5e48, 3e6f2b7d98,
and 1602e0cdb9)
2020-08-14 14:58:49 +02:00
bruvzg
834f427cf5
[macOS] Return exit code specified by OS.exit_code parameter. 2020-08-14 09:15:00 +03:00
bruvzg
f2b51815c7
Hack to force macOS window activation for non-bundled app. 2020-08-14 09:14:59 +03:00
bruvzg
45f4300edd
[macOS] Fix locale detection. 2020-08-14 09:14:59 +03:00
Daniel Ting
91f7af48eb
Fix opening URLS with special characters in macOS
The Online Tutorials section of InputMap in the editor's built-in
documentation viewer contains this link:

docs.godotengine.org/en/latest/tutorials/inputs/inputevent.html#inputmap

The macOS implementation for opening a link percent-encodes it before
sending it to the browser, resulting in a 404. This is to fix #13422
where filenames with special characters could not be opened in Finder.
However, this breaks URLS so I added a check to see if the resource
scheme is file:// and if so, only then is it escaped. This allows other
schemes like `http`, `ftp`, and `mailto` to be used.
2020-08-14 09:14:58 +03:00
bruvzg
31d84838ac
[macOS] Make move_window_to_foreground to take focus in addition to moving window to front. 2020-08-14 09:14:58 +03:00
bruvzg
0b118594f9
[macOS] Send resize event without actually resizing window on backing change.
Co-authored-by: Haoyu Qiu <timothyqiu32@gmail.com>
2020-08-14 09:14:57 +03:00
Rémi Verschelde
b97401f304 Update copyright statements to 2020
And apply clang-format 10 to the codebase.
2020-08-13 22:58:13 +02:00
Max
18484dd45e Fix crash on exit or resume on iOS 13
Fixes #7966.

(cherry picked from commit 29bde8cd74)
2020-05-28 14:09:23 +02:00
Rémi Verschelde
1d2aa22438 Windows: Appease capricious MSVC versions with moody headers
Fixes #37799.
Fixes #37986.

(cherry picked from commit 4d3a18d9ff)
2020-05-28 14:09:23 +02:00
bruvzg
7894c6176c Replace IOHIDDeviceRegisterRemovalCallback with IOHIDManagerRegisterDeviceRemovalCallback to fix gamepad disconnection callback on macOS Catalina.
(cherry picked from commit 6b23e36dbc)
2020-05-28 14:09:22 +02:00
Ibrahn Sahir
9344851b05 Fixed hang when segfaulting after OS object destroyed (OSX and X11)
The two POSIX style crash handlers (OSX and X11) now remove their signal
handlers when they are destroyed.
Additonally if they are called while no OS singleton is set, they will
simply abort(). This should not happen now that they remove themselves,
but if a future change seperates OS object and crash handler lifetimes,
this may be easier to report/debug than hanging on SIGSEGV.
2020-02-22 08:44:16 -05:00
Xavier Sellier
400e273eee Fallback to the dummy audio driver if no other driver works
Fix this issue https://github.com/godotengine/godot/issues/1684
2019-12-19 10:16:01 -05:00
Rémi Verschelde
32f64e5f99 HTML5: Explicitly link idbfs.js for IDBFS support
Upstream Emscripten changed this in 1.39.1+, so IDBFS is no longer
included by default and has to be linked manually.

The explicit linking doesn't seem to be problematic on earlier
versions (tested `1.38.47-upstream`).

Fixes #33724.

(cherry picked from commit e5dfcb5edd)
2019-11-29 16:04:14 +01:00
Rémi Verschelde
995eddf714 HTML5: Fix support for Emscripten 1.39.1+
A change in upstream Emscripten 1.39.1+ made our buildsystem error
out where it was previously only issuing a warning:
```
[  5%] Linking Static Library ==> main/libmain.javascript.opt.bc
shared:WARNING: Assuming object file output in the absence of `-c`, based on output filename. Please add with `-c` or `-r` to avoid this warning
Ranlib Library         ==> main/libmain.javascript.opt.bc
/opt/emsdk/upstream/bin/llvm-ranlib: error: unable to load 'main/libmain.javascript.opt.bc': file too small to be an archive
```

As advised on emscripten-core/emscripten#9806, we should be using
`emar` here to create the static library and not `emcc`.
This was apparently done to workaround Emscripten issues in the past,
but evidently this is no longer necessary.

The rest of the `env` redefinitions should probably be re-assessed
against the current state of Emscripten.

Fixes #33374.

(cherry picked from commit e9e2a4b044)
2019-11-29 16:01:19 +01:00
bruvzg
36eb43fff7 Fix non-HiDPI mode on HiDPI displays on macOS Catalina.
(cherry picked from commit 509afcea92)
2019-10-25 16:31:02 +02:00
Rémi Verschelde
01e65c4555 Android: Fix support for android_stl=no with NDK r20
Fixes #30688.
2019-07-30 15:11:36 +02:00
J Andrew Long
860365bef1 fix detecting ndk platform
python maps are not subscriptable, so we need to use a list
2019-07-22 13:38:53 -04:00
Wojciech Milkowski
8a95782e5a No need to link with libandroid_support in NDK 17
According to https://github.com/bytedeco/javacpp/pull/244 in NDK 17
libandroid_support library is not needed any more, and on armv8 is
already gone which breaks compilation.

(cherry picked from commit 3a3ea6d514)
2019-07-21 16:18:53 +02:00
J Andrew Long
5ac248264a fix string split() call 2019-07-18 11:37:07 -04:00
Rémi Verschelde
7249992b62 Android: Target SDK 28, required by Google from Aug 2019 2019-07-08 14:01:42 +02:00
Rémi Verschelde
717d79e540 SCons: Default to builtin libpng/freetype on Linux (+ openssl)
The rationale for keeping those shared by default is that they're typical
dependencies found on any Linux system, and it saves compilation time and
binary size to link their dynamically.

But since official builds default to all-builtin, and Debian/Ubuntu still
don't have libpng16 (which we now require) readily available on all their
supported releases, it's simpler to bundle all the things.

This does not change the fact that those dependencies *can* be unbundled
on Linux, it's only the default option changing.

(cherry picked from commit 1769cbc0e2)

For 2.1, also building by default against bundled openssl.
2019-07-02 15:03:16 +02:00
Juan Linietsky
9e8dc70240 HiDPI support on Windows.. yes this is all it took. 2019-06-06 11:58:56 -04:00
Rémi Verschelde
9ef833ec6d HTML5: Do not error on undefined symbols
Emscripten used not to error out on those warnings, but this behaviour changed
recently, so we revert it to be able to compile as we used to for previous 2.1.x
releases. It would be good to fix those undefined symbols though.
2019-06-04 13:35:24 +02:00
Rémi Verschelde
7562ce053a Update copyright statements to 2019 2019-06-04 11:41:49 +02:00
Rémi Verschelde
24d516c50f iOS: Link against SDK 12.1 as required by Apple Store
Fixes #26593.
2019-06-04 09:42:08 +02:00
Rémi Verschelde
04ea848116 SCons: Fix Python 3 support in GCC version check 2019-06-03 16:26:13 +02:00
Pedro J. Estébanez
5f795e6261 Upgrade & fix Android build scripts 2019-03-19 21:53:54 +01:00
Rémi Verschelde
e898b0a3a8 Android: Enable arm64-v8a export by default
From August 1, 2019, Google Play requires that all new apps and app updates
include 64-bit versions, so we enable ARM64 by default.

IINM support for x86 and x86_64 is still be optional, so not enabling them
out of the box.

Part of #25030.

(cherry picked from commit 9e820cdf20)
2019-01-16 14:02:54 +01:00
Rémi Verschelde
b768381998 Android: Add support for x86_64 architecture
Like arm64v8, this is only supported by API 21 and later,
so we enforce 21 as min API for x86_64.

Part of #25030.

(cherry picked from commit 7f4ee36469)
2019-01-16 13:28:04 +01:00
allkhor
7bdd22312f Fixed built templates for android 2018-11-15 21:09:34 +06:00
allkhor
52c63f7cfd Don't copying libc++_shared.so when module android_stl is disabled 2018-10-26 23:53:44 +06:00
Leon Krause
723c14cdfc Enable Theora module for HTML5 platform
(cherry picked from commit b4b816c122)
2018-09-18 11:48:52 +02:00
Guilherme Felipe
72d4fd8f0d Fix Input::set_custom_mouse_cursor showing cursor when it's invisible 2018-09-17 12:24:44 -03:00
Ridwan Abdul Hafidh
6e62a1e4de add support libc++_shared on android 2018-09-17 15:13:40 +02:00
Rémi Verschelde
bb13fa896e Style: Format code with clang-format 6.0.1 2018-07-18 17:56:12 +02:00
Hein-Pieter van Braam
a2cdc82b78 Write new permissions to the AndroidManifest.xml
Instead of editing the placeholder permissions actually write new ones.
This should solve the privacy statement problems for the Play store.
This means we also no longer need to placeholder permissions in the
template.
2018-07-10 14:24:12 +02:00
Rémi Verschelde
e3339862f2 iphone: Link against SDK version 11.4
Fixes #18995.
2018-06-28 11:31:02 +02:00