Commit Graph
1925 Commits
Author SHA1 Message Date
Torbjörn Andersson f29c7103d9 CONFIGURE: Update DWARF version comment after Discord feedback 2023-10-15 07:39:34 +02:00
Torbjörn Andersson 18fbb84d00 CONFIGURE: Work around segfault when detecting best debug mode
I'm not pretending I understand this, but until someone comes up with a
better way, forcing it to use DWARF version 4 instead of the default
(which is 5 "for most targets") seems to work for me. But if it breaks
for anyone else, please don't hesitate to speak up.
2023-10-14 19:21:23 +02:00
Lars Sundström f6585ae5f5 IOS7: Disable SCUMMVM_NEON in iOS builds
Due to the current graphic problems when enabling the NEON
optimisations, disable it for the iOS port until the problems
have been fixed.
2023-10-10 20:55:48 +02:00
Miro Kropacek dcab5d3369 CONFIGURE: Add support for m68k-atari-mintelf
This is basically the same as m68k-atari-mint host os but with a
different compiler/file format.
2023-09-24 17:48:54 +02:00
Eugene Sandulenko 1193ca12ef CONFIGURE: Fix output when libmikmod is not present 2023-09-19 16:32:10 +02:00
Ankush Dutt 4ae119d63f DLC: Add USE_DLC in configure for general DLC integration
- Developers will need to use --enable-dlc with configure if they want to integrate
the DLC downloader. The kFeatureDLC will determine if the target platform is supported
- USE_SCUMMVMDLC will be used specifically to compile curl based ScummVMCloud (USE_DLC
will be automatically enabled if ScummVMCloud is supported)
2023-09-14 08:22:56 +02:00
Ankush Dutt 22f912d7e0 DLC: Wrap ScummVM DLC in configure enabled feature, disabled by default 2023-09-14 08:22:56 +02:00
Cameron Cawley 0c98d170ca CONFIGURE: Enable NEON for all IOS7 targets
The SCUMMVM_NEON definition is alredy added by default for aarch64
host cpus. NEON is also supported on iOS devices running on armv7
cpus. Make sure to enable NEON for all ios7 devices.
2023-09-03 22:26:37 +02:00
Silke Hofstra 7798ab4ccc CONFIGURE: Ignore --runstatedir
Silently ignore `--runstatedir` flag, which was introduced in Autoconf 2.70.
2023-08-28 22:32:53 +02:00
Le Philousophe a1d97ffbe2 GRAPHICS: Use -mfpu=neon flag only on armv7
aarch64 doesn't need it and it fails to build with GCC when it's present

Enable NEON by default on Android
2023-08-14 00:39:43 +02:00
Le Philousophe 79c3063979 ANDROID: Improve CPU detection
CPU architecture can be determined at build time.
Add support for x86 extensions.
2023-08-13 12:58:45 +02:00
Le Philousophe 3b1465120a ANDROID: Fix build
cpu-features needs to be compiled by us
2023-08-13 12:58:45 +02:00
Eugene Sandulenko 7cf76b22fa CONFIGURE: Fix architecture names for CPU features 2023-08-13 00:23:41 +02:00
Wyatt Radkiewicz 41f82fbab8 BUILD: Change wording for AVX2 option 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz f802ad16d0 BUILD: Simplify SIMD options 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz c45918ea91 BUILD: SIMD flags only enabled on blit-blend.o 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz bf7b6c1cf6 BUILD: Fixed typo in Arm NEON feature 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz 9b312eb16a BUILD: Removed unnessesary SIMD engine features 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz 480a77f310 BUILD: Configure automatically detects SIMD 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz 01e2183161 BUILD: Make ./configure POSIX compliant 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz e4c984cd3a BUILD: Configure flags for SIMD extensions
--enable-ext-neon
--enable-ext-sse2
--enable-ext-avx2
2023-08-13 00:22:10 +02:00
Cameron Cawley 37764d86fc AUDIO: Support building the EAS MIDI driver on non-Android platforms 2023-08-06 14:10:50 +02:00
Le Philousophe 29a02151d1 COMMON: Only apply alignment on supported platforms 2023-07-14 20:48:13 +02:00
Lars Sundström fb4f7d6de2 IOS7: Remove old IOS7 graphic handling
Delete the old graphic handling in the IOS7 backend which is not
used anymore after implementing iOSGraphicsManager.

The Accelerate framework is not used anymore. The OpenGLGraphics
manager handles the different color formats.
2023-07-03 21:50:32 +02:00
Lars Sundström e6232547d5 IOS7: Add iOSGraphicsManager class
The ios7 backend implements the graphic handling in the backend code.
iOS supports OpenGL through the OpenGL Framework since iOS 2.0. It's
marked as deprecated but is still shipped with the SDKs for iPhoneOS
and tvOS and will hopefully be so for some time.
The ios7 backend can therefore utilize the OpenGLGraphicsManager to
handle all graphics.

Implement an iOSGraphicsManager class that can be used in the ios7
backend. The iOSGraphicsManager will require some callback functions
in the ios7 backend. createOpenGLContext() will be called to ask the
backend to create an OpenGL context in which the graphic manager can
draw. The function returns the ID of the renderbuffer which shall be
used when creating the framebuffer object this differ iOS from other
platforms). A custom RenderBufferTarget class is added to address
this.

destroyOpenGLContext() will be called to make sure that the old GLES
context is not reused. notifyContextDestroy() does call the function
OpenGLContext.reset() but that will not destroy the context.

refreshScreen() will be called to ask the backend to present the
drawn graphics on the screen. getSystemHiDPIScreenFactor() is called
to get the screen scaling factor. getScreenWidth() and
getScreenHeight() are called to get the width and height of the
surface to draw on.

This commit adds the class but the ios7 backend doesn't make use of
it quite yet. To use it require the ios7 to be a child class of the
ModularGraphicsBackend. That change requires a lot of changes which
will be targeted in separate commits.

Update docportal and github ci worker to only disable the feature
opengl_classic_game since opengl and opengl_shaders are required to
compile the OpenGLGraphicsManager.
2023-07-03 21:50:32 +02:00
Miro Kropacek 5537759c53 BACKENDS: ATARI: Rework
- Atari TT support
- all video and audio is now handled via XBIOS
- reworked IKBD handling using Kbdvbase vectors, esp. Kbdvec()
- video uses proper triple buffer
- arbitrary game screen size support
- many fixes and optimizations
2023-06-15 22:57:55 +02:00
Thierry Crozat 7af069b110 CONFIGURE: Rename iphone host_os to iphoneos 2023-05-31 19:33:48 +01:00
Thierry Crozat 0eca37a262 BACKENDS: Remove old iPhone backend
This backend was no longer maintained and have had no release
and no daily builds for several years.
2023-05-31 19:31:19 +01:00
D G Turner f1d2ba701a WII: Add Code for GDB Debugging Over Ethernet using TCP
The Gecko USB serial adapter is no longer easy to obtain and using
the Ethernet adapter instead is supported by devkitPro/libogc.

However, when enabled, this fails to link when dynamic plugins are
enabled due to missing symbols for gdbstub_getoffsets() found in
devkitPro/libogc/libdb/debug_supp.c. To be exact, this is the
u8 __text_fstart[],__data_fstart[],__bss_fstart[] which should be
implicitly provided by the linker(?)

A monolithic static build with this enabled does succeed, but has not
yet been tested.
2023-05-15 00:51:27 +01:00
Miro Kropacek 76d3706492 BACKENDS: ATARI: Add build scripts
- consolidate public #define's (just ATARI)
- cpu compiler flags are specified in the script
- allow explicit move16, SV and SV Blitter features enabled/disabled

Provide two build scripts:

1. "Fat" one targeted at 040/060 machines (possibly with SuperVidel)

This one is optimized for 68020-60 (so it's still possible to try
highres engines on 68030 machines).

2. "Slim" one targeted at 030 machines (Falcon030+DFB/CT2 or TT030)

This one is optimized for 68030 and stripped from even more features:
"fancy" (highres) themes, move16 & SuperVidel routines and most
importantly the highres engines.
2023-05-10 22:58:26 +02:00
Einar Johan Trøan Sømåen 0c4190679f BUILD: Add support for flagging opengl_game_classic as an engine dep. 2023-04-29 13:01:08 +02:00
Thierry Crozat a0e32ee370 IOS7: Remove support for non-sandboxed mode 2023-04-26 22:31:31 +01:00
Miro Kropacek 740aefcedf BACKENDS: ATARI: Re-enable DOSBOX OPL
After hearing the difference between MAME and DOSBOX OPL I have decided
to keep it available. Some games select it by default (and therefore
the game takes more CPU time) but the reason is valid.
2023-04-08 20:27:44 +02:00
Miro Kropacek cb5b2dc021 ATARI: DISABLE_SID, DISABLE_NES_APU & DISABLE_DOSBOX_OPL
Doesn't save much space but limits the number of options to confuse
users.

For instance if DOSBOX OPL is compiled in, it is automatically used for
the Gob engine which perhaps sounds better but making the engine crawl
without further user interaction.
2023-04-03 20:36:33 +02:00
Miro Kropacek d3ba1c49ee ATARI: Add DISABLE_TEXT_CONSOLE for release builds
Saves about 900 KB and relaxes a few games like Toonstruck (11.17% CPU
utilisation) or Bear Stormin' (1.26%).

Not the same as --disable-text-console (USE_TEXT_CONSOLE_FOR_DEBUGGER),
this one is better enabled as it saves a few KBs from Debugger class.

Compile as:

./configure --backend=atari --host=m68k-atari-mint --enable-release --disable-mt32emu --disable-lua --disable-nuked-opl --disable-16bit --disable-scalers --disable-translation --disable-eventrecorder --disable-tts --disable-bink --opengl-mode=none --enable-verbose-build --enable-text-console && make -j 16 && rm -rf dist-generic; make dist-generic
2023-04-03 20:19:46 +02:00
Le Philousophe 1af55ed1dc ANDROID: Remove ANDROID_PLAIN_PORT defines
They are not used anymore and we don't have any other kind of port
anymore
2023-04-02 11:39:44 +02:00
Le Philousophe 5c2252186e ANDROID: Don't set DATA_DIR and PLUGIN_DIRECTORY
Android doesn't have the concept of prefix so these pointed to something
invalid
2023-04-02 11:39:44 +02:00
Miro Kropacek 0e2cb19de7 ATARI: Use dlmalloc for final release 2023-03-25 21:45:50 +01:00
Miro Kropacek 6c5e3dbfd5 BACKENDS: ATARI: Refactor 2023-03-25 21:45:50 +01:00
Eugene Sandulenko 3a4b032bfc CONFIGURE: Fix libmikmod detection under macOS homebrew 2023-03-25 00:11:10 +01:00
Harishankar Kumar afa9ccbf62 AUDIO: Add support for Impulse Tracker using libmikmod 2023-03-24 23:59:53 +01:00
Le Philousophe bd4adcec66 CONFIGURE: Fix libvpx detection when it's static 2023-03-13 23:25:13 +01:00
Le Philousophe 693ebf2ec3 PSP: Use toolchain provided pkg-config 2023-03-12 17:37:02 +01:00
Donovan Watteau 5c2a6c17f2 CONFIGURE: Define USE_SDL2 in the preprocessor when found 2023-03-09 01:30:34 +01:00
Donovan Watteau 3e49159bf7 CONFIGURE: Recognize more common architectures, and sort them 2023-03-07 20:41:57 +01:00
Donovan Watteau a5106d86ef BUILD: Disable -Wshadow and -Wmissing-field-initializers before GCC 5
They just gave many false positives creating a lot of noise in build
logs for ports using an older GCC.
2023-03-07 20:41:16 +01:00
Donovan Watteau c1fd025a64 CONFIGURE: ENET: Add more system headers in checks
They mostly come from OpenBSD 7.2 and Debian 11 manual pages, and they
shouldn't hurt since backends/networking/enet/source/unix.cpp already
includes them.
2023-03-06 17:11:55 +01:00
Little Cat fd89b8c82f CONFIGURE: Disable ENet if send/recvmsg is missing 2023-03-05 21:24:48 -04:00
Little Cat bd1872c2ab BACKENDS: ENET: Now compiles on Windows. 2023-03-06 00:07:13 +01:00
Little Cat cef3054212 BACKENDS: ENET: Check and set additional defines. 2023-03-06 00:07:13 +01:00