Commit Graph

61 Commits

Author SHA1 Message Date
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
Stephen Anthony fb6e573263 Update UNIX configure script for gcc7 and above. 2017-04-17 18:52:04 -02:30
Stephen Anthony c80f72b367 Allow configure script to run with clang-5, and fixed a minor
warning when compiling with clang++-5.
2017-02-10 21:32:58 -03:30
Stephen Anthony 49a11e2ce1 Updated PNG and ZLIB libraries to latest released versions.
Since Zlib 1.2.10, it seems that zlib and png need to be paired
together.  The UNIX 'configure' script has been updated to either use
system png and zlib libraries, or both as built-in libraries.  This
shouldn't affect Windows (which uses both built-in anyway), but it
does require changes to OSX (which currently doesn't build at all).
2017-01-15 13:28:41 -03:30
Stephen Anthony 4d0147f3d1 Made new TIA core the default (code now compiles). 2016-12-10 13:38:28 -03:30
Stephen Anthony b9630f5e2a Re-enable compilation with DEBUGGER_SUPPORT. The TIA stuff in the
debugger is currently broken, but at least the code compiles (needed
for the Windows and OSX test releases, as they aren't set up to be
compiled without the debugger.
2016-12-04 16:05:21 -03:30
Christian Speckner 4fd2c71510 Merge remote-tracking branch 'remotes/upstream/git-svn' 2016-11-26 14:48:40 +01:00
Christian Speckner a99a4e1efd Stub implementation of new core. 2016-11-08 01:26:57 +01:00
Christian Speckner 4188d766fb Tabs vs. spaces. 2016-10-30 21:03:52 +01:00
Christian Speckner 2075ff082a Prepare build system for new core. 2016-10-30 21:00:08 +01:00
Christian Speckner 83417e976f Isolate TIA implementation in sub-module, remove all direct references in favor of AbstractTIA. 2016-10-30 00:31:55 +02:00
stephena 431a148011 Detect clang 4.0 in the configure script.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3318 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-10-10 17:43:31 +00:00
stephena be2f6f5b64 Fixed cross-compile bug in configure script, thanks to patch from Vlad Zakharov.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3315 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-08-24 14:43:30 +00:00
stephena dd480fdb7e Updated configure script for GCC6, and in general cleaned up
some obsolete cruft.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3293 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-29 22:41:18 +00:00
stephena b02059dc5f Updated Linux configure script to work with g++-6.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3289 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2016-02-26 19:38:22 +00:00
stephena 8232045971 Make configure script work with gcc 5+.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3158 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-04-22 14:11:11 +00:00
stephena a4023be98b Removed 'SNAPSHOT_SUPPORT' from configure, since building this is
no longer an option that can be disabled.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3103 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-25 19:21:25 +00:00
stephena b646ba5c26 Some cleanup of configure/Makefile scripts.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3089 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-19 12:32:08 +00:00
stephena cf10f4c24f Now that we're using C++11 and cstdint is standard, we no longer need to
worry about inttypes.h and associated defines.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3085 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 20:57:15 +00:00
stephena db5867e345 Updated configure to support newer versions of Hurd, thanks to S. Kitt.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2953 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-07-02 12:16:16 +00:00
stephena a1ea1b0c96 OK, SDL2 is in the building! This is the first pass at porting the code
to SDL2.  For now, there are many things broken, namely keyboard handling
and fullscreen modes.  But the launcher does show up, allows to start a
game and enter/exit the debugger, etc.

The code will only compile on Linux for now, and sometimes maybe not even
then.  Expect breakage on a regular basis over the next month or so.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2854 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-02-19 15:34:22 +00:00
stephena 9137b93c80 Some more code pruning. Basically, all classname references to OpenGL
have been changed to 'SDL2'.  From this point on, the OpenGL-specific
code will be removed, and replaced by SDL2-specific hardware-accelerated
code.

Cleaned up (mostly) the API of FrameBuffer vs FrameBufferSDL2.  Since the
FrameBuffer class is an emucore object, it should have no knowledge of SDL,
or any particular rendering toolkit for that matter (just in case we want
to move to SDL3 eventually :) ).

At this point, all checks for OpenGL have been removed, so if you don't
have it on your system, Stella will fail to compile and/or run.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2832 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-28 00:51:10 +00:00
stephena 40f9da7839 The first casualty of code pruning; specific code for window
centering has been removed (SDL2 provides this natively).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2831 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-27 20:59:23 +00:00
stephena 01f7c2c2f3 Renamed 'Win32' in various locations as 'Windows', to be more
in line with the other ports.  Besides, the code now also supports
64-bit Windows, so the name was incorrect anyway.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2830 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-09-27 20:41:24 +00:00
stephena 8487a60faa Fixed configure script wrt Thumb ARM support; the help message
never actually included info on how to enable/disable it.

StringParser is now width-sensitive, in that it can also split
on a maximum string length.  This is useful for making the various
UI items font-size independent, and to flow the text accordingly.

Increased minimum size of debugger window to 1080x720, which allows
things to be laid out a little nicer, and gives some much needed
extra room.  Sorry guys, the most common resolution now in use
is 1366x768, so it's time to move with the times.

Cleaned up some of the descriptions in the ROM debugger tab(s).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2694 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2013-04-17 15:00:32 +00:00
stephena 216f0ab19e The TIA palette is now passed to NTSCFilter, so it can calculate its own
YIQ-format palette.

Removed compile-time option for DISPLAY_TV.  NTSC filtering will always
be compiled into the app, but will only actually be used in OpenGL mode.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2396 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-26 20:11:59 +00:00
stephena cf10e216f4 And so it begins. Added ability to enable/disable TV filtering to the
Linux configure script.  Of course, there's no actual code yet ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2391 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2012-02-21 19:19:23 +00:00