Commit Graph

1806 Commits

Author SHA1 Message Date
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
Le Philousophe
ded4ab6c23 WIN32: Enable GNU extensions for mingw
This way old mingw gets its __argc and __argv. Using gnu++11 instead of
undefining __STRICT_ANSI__ makes GCC11 happy.

Closes #3473
2021-11-02 20:52:36 +01:00
Le Philousophe
af7500a06b CONFIGURE: long long is not an extension anymore in C++11 2021-11-02 20:51:34 +01:00
Le Philousophe
fcca692e56 CONFIGURE: Rework strict ANSI and pedantic arguments 2021-11-01 21:46:15 +01:00
Le Philousophe
9d5d7aca6f CONFIGURE: Remove compiler versions checks as they are now outdated
C++11 mandatory support expects a recent compiler.
Version parsing is still present to allow adding back tests for more
recent checks.
2021-11-01 21:46:15 +01:00
Le Philousophe
7afd15149c CONFIGURE: Move C++11 test before compiler detection
As C++11 is mandatory now, just ensure we've got a proper compiler
2021-11-01 21:46:15 +01:00
Christophe Branchereau
849d05b5e2 OPENDINGUX: Add support for Opendingux Beta
OD Beta is a mips linux OS based on buildroot, that runs on ingenic gaming handhelds
like the gcw0, rg350 and many more.

There was a previous GCW0 port, that was running on legacy opendingux, but that
OS is not maintained since 2014 and has an outdated kernel and toolchain.

Od Beta on the other hand, runs with linux 5.15, has a GCC 10 toolchain and
an active developpment community.

This adds support for 3 flavors :

gcw0 that runs on all jz4770 cpus
lepus that runs on all jz4760 cpus
rg99 which is a jz4725 device

Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com>
2021-11-01 17:39:26 +01:00