Commit Graph

1820 Commits

Author SHA1 Message Date
Cameron Cawley
ea7a15a2c4 RISCOS: Increase the optimization level 2022-06-20 00:30:42 +03:00
Cameron Cawley
be82c63d77 RISCOS: Improve flags when building with plugins 2022-06-19 00:36:25 +01:00
Orgad Shaneh
9e5ef28456 CONFIGURE: Deduplicate simple compiler flag support tests 2022-06-19 01:33:12 +03:00
Le Philousophe
84baac903a RISCOS: Add LDFLAGS to plugins too 2022-06-18 17:42:38 +02:00
Le Philousophe
bab7027bab PLUGINS: Fix PLUGIN_LDFLAGS value inherited from environment
It was not always taken into account because lines in _mak_plugins were
overwriting it
2022-06-18 17:38:12 +02:00
Le Philousophe
02808a019a RISCOS: Add an ELF plugin provider
This will allow do dynamically load plugins and not be limited by
24-bits relocations
2022-06-17 21:31:04 +02:00
Le Philousophe
9a8ed07914 PLUGINS: Use host_os instead of backend to select PLUGIN_DIRECTORY
RiscOS uses SDL backend but needs a different PLUGIN_DIRECTORY
2022-06-17 21:31:04 +02:00
Le Philousophe
052477ab7a PLUGINS: Allow use of commas in executable name
That's how RiscOS files store their type
2022-06-17 21:31:04 +02:00
Christian Kündig
bc3679e928 EMSCRIPTEN: Major build improvements
- Updated Emscripten to version 3.1.8 (+ additional patches)
- Support for dynamic plugins
- Adding ScummvmFS with support for HTTP Range Requests for game data
- Automated games/demos bundling and ini config generation during build
- Allow passing CLI arguments via fragment identifier of the website (i.e. scummvm.html#—debuglevel=9 )
- UI improvements with nicer status messages, splash screen + favicon
- Fixed HiDPI handling and responsiveness
- Bugfix: Don't crash if gamepad support isn't available
2022-06-12 14:34:13 +02:00
Christian Kündig
8f0174689b EMSCRIPTEN: Merging parts of scummvm/scummvm#3686 for fullscreen support, disabling exit buttons (openURL has been fixed in libsdl-org/SDL@15ebad6e7d and is not needed anymore) 2022-06-12 14:34:13 +02:00
Donovan Watteau
a7922fc772 CONFIGURE: Don't use -pedantic on OpenBSD
OpenBSD is fine with std_variant=c++ with C++11, but -pedantic is still
noisy for some system header files.
2022-06-12 10:26:39 +02:00
Donovan Watteau
657b0fd8ab CONFIGURE: Let the endianness test compile if there's no __attribute__ support
__attribute__((used)) here comes from Fedora which uses LTO by default
but this is a GCC-ism, so let this code compile if the compiler is not
GCC-compatible.
2022-06-12 10:26:39 +02:00
Donovan Watteau
81e43764a0 CONFIGURE: Disable SEQ MIDI on OpenBSD
OpenBSD removed its /dev/sequencer support in 2013, and uses the sndio
API instead.
2022-06-12 10:26:39 +02:00
Thierry Crozat
4ce8636640 MACOSX: Build ARM version of Dock plugin when building ARM version of ScummVM 2022-06-05 15:08:44 +01:00
Thierry Crozat
4d2bd56cd2 BUILD: Add the original LDFLAGS and sanitizer LDFLAGS to PLUGIN_LDFLAGS
Adding the sanitizer flags to the PLUGIN_LDFLAGS fixes link errors
for the plugins when asan, tsan, or ubsan is enabled.

Adding the original LDFLAGS to PLUGIN_LDFLAGS means we no longer needs
to use both in the link command for plugins.
2022-06-02 19:23:02 +01:00
Donovan Watteau
3d82857b79 MACOS: Drop PowerPC static builds workarounds, and suggest dynamic plugins
-mlongcall -Os would work until ScummVM 2.2.0, but now the engines are
too big to fit in a single static binary on Mac PowerPC.

(On ELF platforms, some flags like -Wl,--relax or -Wl,--gc-sections
can be used as well, but macOS uses Mach-O, and its old linker doesn't
have as many workarounds.  -Wl,-dead_strip helped a bit but that's not
enough and you start hitting ld internal errors.)

So, recommend dynamic plugins on Mac PPC, now, and drop -Os -mlongcall
since working around the linker limits is not possible anymore.  Using
compiler defaults probably means less bugs when using such an obscure
toolchain, anyway.

(Making a static release it still possible, but only with a very small
set of engines.)
2022-06-02 19:17:19 +01:00
Donovan Watteau
1a9d251a68 MACOS: Don't run codesign on the bundle when running on Leopard or below
codesign didn't exist on Tiger, and didn't have a --deep option on
Leopard.

Moreover, it was rarely used on these older systems, and previous
releases of ScummVM on Mac PowerPC weren't signed either.
2022-06-02 19:17:19 +01:00
Donovan Watteau
808134e3c9 BUILD: Use strip -x when using plugins and stripping the main binary on macOS
Global symbols should be kept when building dylibs.
2022-05-22 23:42:45 +01:00
Hubert Maier
bc10c22560 AMIGAOS: Revert use of -ldl to satisfy buildbot 2022-05-22 17:41:28 +02:00
Hubert Maier
7f55b1016b AMIGAOS: Revert automatically added flags
As it seems those two optimizations flags are already automatically added by using -O2
2022-05-21 22:13:14 +03:00
Hubert Maier
21150d398f AMIGAOS/MORPHOS: Split dynamic targets
I think it´s better to split the targets, that way i can break my target without bothering the MorphOS maintainer
2022-05-21 22:13:14 +03:00
Hubert Maier
f53966e72c AMIGAOS/MORPHOS: Configure - Use DL and "strip" flag
@BeWorld2018

- Change plugin naming
- Add using dl library for dynamic
- Add "x" flag for strip to preserve global symbols with dynamic (honestly stolen from @dwatteau and #3877) ;-)

I'd like to get your confirmation on this, since it also touches MorphOS.
Otherwise i'll have to split targets.

Conforming to many of the other platforms use of plugin naming
and to distinguish between ScummVM's engine plugins and the OS'
shared objects/libraries names.
2022-05-21 22:13:14 +03:00
Hubert Maier
a3d0edd57e EMSCRIPTEN: Configure - Sort emscripten target alphabetically 2022-05-21 22:13:14 +03:00
Hubert Maier
dc0a7ccd19 AMIGAOS: Configure - Streamline platform target
- Add some gcc safeguard switches
-  Comments and typo
2022-05-21 22:13:14 +03:00
sluicebox
1aabe9087e CONFIGURE: Disable SEQ MIDI on Mac builds
Fixes bug #12817
2022-05-16 21:36:16 +01:00
Hubert Maier
0a7f7f6b84 AMIGAOS: Update configure script
- Remove hardcoded newlib toolchain (there´s an open-source clib2 toolchain
  available). Let the user decide which toolchain using LDFLAGS env var.
- Minor comment fixes.
2022-05-14 09:55:55 +03:00
Francisco Javier Trujillo Mata
652846cac0 PSP: Remove standard libraries 2022-05-02 17:11:10 -05:00
Donovan Watteau
954cb53ee1 CONFIGURE: Avoid "file has no symbols" noise from ranlib on macOS 2022-05-01 13:59:22 +01:00
Le Philousophe
60ad44fff6 VITA: Add missing library
New SDL2 requires it
2022-04-19 18:42:09 +02:00
BeWorld
eac9be3825 MORPHOS: add morphos to use gnu++ (std_variant) 2022-04-18 07:52:03 +03:00
Donovan Watteau
f6641e18b2 BUILD: Remove support for ancient SGI MIPSpro
This very old compiler has no C++11 support, so we're now sure that
its support (and workarounds) can be removed.
2022-04-15 22:43:57 +02:00
Cameron Cawley
460bc32cd9 OPENGL: Fix OpenGL ES v1 builds without GLAD 2022-03-07 17:40:01 +01:00
Torbjörn Andersson
288fc13b95 BUILD: Support Mold linker in configure (opt-in)
This supposedly has the potential to be even faster than the LLD linker,
though for me the difference is minimal.
2022-03-05 20:44:12 +01:00
Thierry Crozat
8e183b3f6d CONFIGURE: Add clang++ to the list of compilers to try 2022-02-28 20:35:58 +00:00
Le Philousophe
9f84198643 ANDROIDSDL: Remove deprecated port 2022-02-06 21:34:08 +01:00
Paweł Kołodziejski
fb3a63c78c
PS3: Implemented getting IP address for local web server 2022-02-06 21:20:49 +01:00
Le Philousophe
6fbd4a3abc ANDROID3D: Remove deprecated backend 2022-02-05 21:50:00 +01:00
NMIError
221fa4c841
AUDIO: Add support for RetroWave OPL3
This commit adds support for the SudoMaker RetroWave OPL3 sound card. Requires
the retrowave library.

Add the following settings to scummvm.ini:
retrowaveopl3_bus=serial
retrowaveopl3_port=<port> f.e. COM3 or ttyACM0
2022-01-29 17:33:29 +01:00
Thunderforge
fd129ebc0c JANITORIAL: "Mac OS X" and "OS X" to "macOS" in comments
Apple's desktop operating system was formerly called "Mac OS X" and "OS X", but since 2016 it has been called "macOS" (starting with version 10.12).

Changing across all comments and documentation to use this current terminology, except in cases where the historical versions are explicitly referenced. No code changes are made; we should consider changing those in future PRs.
2022-01-29 14:15:05 +01:00
Le Philousophe
2e2d72d429 PS3: Disable OpenGL as there is no support for it 2022-01-23 10:18:04 +01:00
Le Philousophe
1c18c269dc ANDROID: Add GLAD support 2022-01-18 16:49:03 +01:00
Le Philousophe
a9418f8f63 GRAPHICS: Rework OpenGL detection
With GLAD it's not needed anymore to link against OpenGL libraries.
As configure knows better whether a platform supports GLAD, detection is
moved here.
To allow platforms where OpenGL should be linked at build time, the
tests are kept. Android uses them for now.
The OpenGL for Games was completely decoupled from the OpenGL for 2D
engines. This not the case anymore.
2022-01-18 16:49:03 +01:00
Le Philousophe
d9b4e457e8 ALL: Remove USE_GLES2 define
Replace it with USE_FORCED_GLES2
2022-01-18 16:49:03 +01:00
neuromancer
c400455e25 CONFIGURE: added --enable-ubsan to enable the undefined behavior sanitizer 2022-01-04 00:56:33 +02:00
Le Philousophe
325c47f954 ANDROID: Use Android runtime to open touch controls image
This allows to use PNG file for sure and don't make us use TGA decoder
2022-01-02 17:45:32 +01:00
Eugene Sandulenko
c8fd73a228
CONFIGURE: Add description for --disable-detection-full option 2022-01-01 20:33:30 +01:00
Le Philousophe
d5c5f65827 CONFIGURE: silence GOLD linker check 2021-12-31 20:55:45 +01:00
Le Philousophe
f316caa309 ANDROID: Define dwp binary like others 2021-12-31 20:50:05 +01:00
Le Philousophe
1c922e6e77 CONFIGURE: Don't use DWARF in nasm when linking using gold
This raises `internal error in relocate_section, at ../../gold/i386.cc:3683`
2021-12-31 20:50:05 +01:00
Cameron Cawley
21b0d6ded1 BACKENDS: Replace GLEW with GLAD, part of PR #3463 2021-12-30 14:53:48 +01:00