Commit Graph
1812 Commits
Author SHA1 Message Date
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
Christophe Branchereau 7242a2aaa4 OPENDINGUX: enable the local web server
Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com>
2021-12-28 11:51:38 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Le Philousophe 706de81bb0 ANDROID: Switch to GLES2 2021-11-29 00:04:45 +01:00
Jelle Raaijmakers 6547ecf673 BUILD: Support SerenityOS in configure script 2021-11-23 23:22:52 +01:00
Le Philousophe c681c3f64f RASPBERRYPI: Don't make use of obsolete Broadcom libraries 2021-11-21 18:57:56 +01:00
Cameron Cawley 267f1f18fb ANDROID: Enable scalers by default 2021-11-20 01:06:23 +01:00
Cameron Cawley 4d206e5286 GRAPHICS: Clean up OpenGL defines (#3551) 2021-11-18 00:56:21 +01:00
Le Philousophe 213168047e OPENDINGUX: Integrate all OpenDingux platforms in configure script 2021-11-12 11:59:48 +01:00