Commit graph

1826 commits

Author SHA1 Message Date
Le Philousophe
b016fcae34 RISCOS: Prevent garbage collection of plugins code 2022-07-14 11:00:37 +02:00
Hubert Maier
153a9112e1
AMIGAOS: Revert dynamic detection features 2022-07-13 18:19:16 +02:00
Cameron Cawley
3d9eb53c5b RISCOS: Use makerun to calculate the wimpslot 2022-07-08 22:08:37 +01:00
Cameron Cawley
bbb5766234 RISCOS: Remove the -mno-poke-function-name compiler flag 2022-07-07 21:43:55 +01:00
Cameron Cawley
dee595561d
CONFIGURE: Fix compilation with SDL 2.23.0 or later 2022-07-02 22:50:19 +02:00
Hubert Maier
214c267272
AMIGAOS: Add DEBUG_BUILD define to configure 2022-06-22 01:41:56 +02:00
Cameron Cawley
dffcaa5afb RISCOS: Disable the ARM assembly code for now 2022-06-21 00:35:14 +01:00
Cameron Cawley
c6cd23db9a RISCOS: Increase the optimization level 2022-06-19 22:33:10 +01:00
Cameron Cawley
69ad49728d RISCOS: Improve flags when building with plugins 2022-06-19 00:39:00 +01:00
Le Philousophe
a2f12d5788 RISCOS: Add LDFLAGS to plugins too 2022-06-18 18:23:58 +02:00
Le Philousophe
8e6b6a5e67 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 18:23:58 +02:00
Le Philousophe
262944cde1 RISCOS: Add an ELF plugin provider
This will allow do dynamically load plugins and not be limited by
24-bits relocations
2022-06-18 11:28:36 +02:00
Le Philousophe
1425662822 PLUGINS: Use host_os instead of backend to select PLUGIN_DIRECTORY
RiscOS uses SDL backend but needs a different PLUGIN_DIRECTORY
2022-06-18 11:28:35 +02:00
Le Philousophe
af8586cf97 PLUGINS: Allow use of commas in executable name
That's how RiscOS files store their type
2022-06-18 11:28:35 +02:00
Christian Kündig
6a90a32a1f
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:41:32 +02:00
Christian Kündig
42e500dd32
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:41:08 +02:00
Donovan Watteau
1a7ae16bf7
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:27:38 +02:00
Donovan Watteau
c8de1c993c
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:27:38 +02:00
Donovan Watteau
f944543146
CONFIGURE: Disable SEQ MIDI on OpenBSD
OpenBSD removed its /dev/sequencer support in 2013, and uses the sndio
API instead.
2022-06-12 10:27:38 +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