Commit Graph

87 Commits

Author SHA1 Message Date
Christian Speckner 2fff5ec118 Pull in gtest for unit tests. 2024-07-11 00:57:16 +02:00
Christian Speckner be80e6b0f7 Port and hook up ELF basic parser. 2024-07-02 22:39:05 +02:00
Stephen Anthony ce6cc2ef02 Move codebase to requiring C++20, and fix resultant non-standard code. 2024-05-08 19:13:23 -02:30
Stephen Anthony e5af3b20d3 Attempt to fix macOS automated builds. 2023-02-16 17:57:30 -03:30
Stephen Anthony 423a6e01a9 Add experimental 'mold' linker support to configure for UNIX. 2022-12-27 10:58:01 -03:30
Stephen Anthony f7e6e61d8a Default to using system-wide libsqlite3 on Linux/UNIX systems.
Fix for slow exit from app in this mode is now fixed.
2022-12-18 21:18:56 -03:30
Stephen Anthony bf541f0696 Move `yacc` directory to `src/debugger`. 2022-08-17 12:38:40 -02:30
Stephen Anthony 18534a4876 Move various libs to `src/lib`. Again, expect some breakage. 2022-08-17 11:41:31 -02:30
Stephen Anthony d654994c78 First pass at moving platform-specific code to src/os.
Likely there *will* be breakage.
2022-08-17 10:50:57 -02:30
Stephen Anthony 13d933c429 Fixed tinyexif in Linux. Now to fix it in Windows. 2022-08-17 07:48:27 -02:30
Stephen Anthony f5d6760f0d Second pass at JPG support. nanojpeg *really* doesn't like being split into h/c files. 2022-08-16 21:45:19 -02:30
Stephen Anthony 6be7544fa4 Fix PNG/JPG loading in Linux. 2022-08-16 21:20:09 -02:30
Stephen Anthony 13aa034221 Added some missing help options to configure script. 2021-12-19 23:40:19 -03:30
Stephen Anthony bd2f5cc866 Make configure script use system libsqlite3, if requested (disabled by default). 2021-12-19 23:36:13 -03:30
Stephen Anthony 1f8666bde5 Fix for missing 'CC' compiler in configure script (fixes #856). 2021-12-18 12:47:53 -03:30
Fabrice Fontaine 143cf9fa13
configure: add CC (#854)
Add CC to fix the following build failure when cross-compiling which is
raised since
771b5b44e3:

out/src/sqlite/sqlite3.o: file not recognized: file format not recognized

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-12-12 18:16:52 -03:30
Stephen Anthony b94a6ca63c Wrap calls to httplib inside a define. This allows to build without such support.
- Linux has this enabled by default, R77 disabled by default
- Still TODO is get it working for Windows and Mac
2021-08-30 19:30:45 -02:30
Stephen Anthony ef7fd33a27 Fix compilation in Linux for missing http_lib header file. 2021-08-30 18:51:21 -02:30
Christian Speckner 08cb68fea9 Tune sqlite build, remove the possibility of linking against system libsqlite3. 2021-01-02 14:39:12 +01:00
Stephen Anthony 0b63649735 Fixed configure bug in Linux. 2020-12-15 21:08:05 -03:30
Christian Speckner 771b5b44e3 Sqlite3 is not conditional anymore, support amalgamation on UNIX. 2020-12-14 00:10:11 +01:00
Stephen Anthony 43fafb45ef Wrap json.hxx in another header, which disables warnings for code we don't control.
Eventually we can add directives here for other compilers too (in json_lib.hxx).
2020-11-28 17:02:25 -03:30
Christian Speckner 730932355f Merge remote-tracking branch 'origin/master' into feature/json-mappings 2020-11-28 20:45:51 +01:00
Stephen Anthony fe2b4d630e Move Linux builds to use C++17 by default. 2020-11-28 10:48:00 -03:30
Christian Speckner ffb366f273 Less noise from clang. 2020-11-11 23:41:20 +01:00
Stephen Anthony c165c9b159 Add '--enable-release' to configure script, which for now sets the Makefile to use LTO. 2020-08-26 15:27:41 -02:30
Stephen Kitt 64dc9dde86 Handle GCC versions after 9
This simplifies the interpretation of GCC versions, and handles all
versions greater than 4, hopefully for good.

Fixes: #590
Signed-off-by: Stephen Kitt <steve@sk2.org>
2020-03-10 13:52:03 -02:30
Stephen Anthony 83a3bdd6cd GUI support is now conditional in Stella. This is enabled by default for all ports except libretro.
- When disabled, it also disables the debugger and cheatcode support
- UI-wise, this reverts Stella to 1.x functionality (before any internal UI was added)
- Eliminates 47000 lines of code for those ports (like libretro) that don't need it.
2019-05-02 17:58:39 -02:30
Christian Speckner a6e7dcf399 Revert accidental change to configure. 2019-04-29 00:56:45 +02:00
Christian Speckner b1f485e2bd Implement sqlite repository, fix link against sqlite3. 2019-04-29 00:46:27 +02:00
Christian Speckner f9554ee3df Hook up SQLite in build system, scaffold SQLite repository. 2019-04-26 23:08:55 +02:00
Stephen Anthony 00e464afc3 Enable conditional compilation for ZIP/zlib support. 2019-04-24 15:36:20 -02:30
Stephen Anthony eb13d515fb Enable conditional compilation for PNG support. Some ports (libretro) don't need it at all. 2019-04-21 20:07:56 -02:30
Fabrice Fontaine 72932aa09e Add cross-compilation support
Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com>
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Retrieved (and slightly updated) from:
https://git.buildroot.net/buildroot/tree/package/stella/0001-Add-cross-compilation-support.patch]
2019-03-10 18:57:21 -02:30
Stephen Anthony f508ca2634 First pass at porting R77-specific changes to mainline.
- more work is required here, since I'm unable to test on a real R77 yet
- changes will also be required in the manually generated config.mak
2019-03-09 12:22:33 -03:30
Christian Speckner 24305371c7 Add pgo builds with GCC and LLVM to Makefile 2019-03-03 16:51:52 +01:00
Stephen Anthony 933c4d7d3c Mac-related files/folders are now using 'macOS' naming scheme. 2018-12-19 11:46:09 -03:30
Christian Speckner 0715b691a0 Fix CLI builds for XCode 10 2018-09-19 23:36:26 +02:00
Stephen Anthony cb6c04815e Remove HAVE_GETTIMEOFDAY defines for all ports.
- gettimeofday() is no longer used, so we don't need the define anymore
2018-07-01 21:21:01 -02:30
Stephen Anthony 819850f971 Fixed configure/Makefile to work without patches in OpenBSD. 2018-06-06 18:23:27 -02:30
Dan Church 77479cc0dd Fix overriding CXX setting
If user specifies CXX, use it as-is, since that's the user's choice.

Closes #292
2018-02-04 18:16:03 -03:30
Christian Speckner 6500ab0613 Compile thumbulator unconditionally. 2017-12-10 00:22:18 +01:00
Stephen Anthony 9b4443d555 Only automatically enable clang extended warnings in version 5+. 2017-10-16 14:39:40 -02:30
Christian Speckner be877f8503 Merge branch 'master' into refactoring/frame_manager 2017-10-15 20:28:27 +02:00
Stephen Anthony 10bdcd58d2 Third pass at fixing warnings:
- added very stringent checks when compiling under clang; for now, there will still be warnings,
  since I haven't addressed the specific code yet (probably issues in OSX too)
- no issues when compiling with gcc; still need to check VS.
2017-10-11 21:49:31 -02:30
Christian Speckner 58b38269a6 Fix compile. 2017-09-27 23:42:14 +02:00
Stephen Anthony 8cf8200908 Fixed logic error in detecting 'Alt' key.
DirtyHairy, it looks like you removed a negation and replaced it with
a positive (ie, you removed an _ifndef_, not an _ifdef_) :)
2017-08-30 19:41:16 -02:30
Christian Speckner a101df0269 Typo. 2017-08-30 23:17:30 +02:00
Christian Speckner fd85f9d0d5 Basic support for plain UNIX-style builds on OSX. 2017-08-30 23:13:07 +02:00
Stephen Anthony cd689941b6 Move to C++14, now that all the minimum required compilers support it.
Clang 3.8, gcc 5, Visual Studio 2017 and Xcode 8 are now the minimum
supported compilers, and they all support C++14, so we may as well use it.

 - Change all make_ptr to make_unique
 - Change iterator begin(), end(), etc to const versions where appropriate
 - Remove UniquePtr, since C++14 supports it natively
2017-07-21 21:10:13 -02:30