Commit Graph

1901 Commits

Author SHA1 Message Date
Zach Bacon 535a2d5a32 Merge pull request #118 from kwkam/patch-1
wx/wxvbam: fix GetAbsolutePath
2017-05-12 09:02:37 -04:00
kwkam 7405efef5f wx/wxvbam: fix GetAbsolutePath
Makes battery/state directory setting work when set as relative path
2017-05-12 20:40:37 +08:00
Zach Bacon 9a5833b8c1 Forgot the zip program for the build 2017-05-11 22:18:10 -04:00
Zach Bacon e95c083466 this should fix the windows build 2017-05-11 22:13:11 -04:00
Zach Bacon dd34951d2f Windows doesn't have sterror_r 2017-05-11 21:34:18 -04:00
Zach Bacon 8840b62b27 I swear, I need to double check these things. 2017-05-11 21:15:00 -04:00
Zach Bacon 095e4f2849 added instructions for git submodule because we need some headers that mingw doesn't have yet. 2017-05-11 21:11:05 -04:00
Zach Bacon 8f12629d30 Seems no matter what I did last time, the generator wasn't properly set. 2017-05-11 21:05:49 -04:00
Zach Bacon 0d70c227f3 added github integration. 2017-05-11 21:02:12 -04:00
Zach Bacon ce39651984 forgot msys makefile generator 2017-05-11 15:03:16 -05:00
Zach Bacon 587d162490 Helps if I added build stuff to it. 2017-05-11 15:53:24 -04:00
Zach Bacon dfb22709ce added drone.yml file for tea-ci integration 2017-05-11 15:49:14 -04:00
Zach Bacon 10e1b7a6dd added tea-ci badge 2017-05-11 15:38:17 -04:00
Zach Bacon 27034bf2ca Merge pull request #116 from orbea/cmake
Add BIN_INSTALL_DIR and MAN_INSTALL_DIR
2017-05-11 09:44:32 -04:00
orbea 7ea1616afc Add BIN_INSTALL_DIR and MAN_INSTALL_DIR 2017-05-11 06:39:37 -07:00
Rafael Kitover fed6f2389e Add #include <cmath> for std::ceil() #113
A couple files that use the std::ceil() math ceiling function were not
including the required header <cmath> and this seemed to have been
causing build errors on some Linux distributions.

Add the necessary #include <cmath> statement to both files.
2017-05-05 10:21:03 -07:00
Rafael Kitover 01dd7cef45 fix portability issue with strerror_r()
If _GNU_SOURCE is defined on linux, then strerror_r() is an alternate,
non-POSIX version.

Undefine _GNU_SOURCE when including <string.h> in ConfigManager.cpp to
get the POSIX version of strerror_r(), and initialize the error string
buffer to "unknown error" so that the code does not crash whichever
version of the library function is being used, or strerror_r() fails for
some reason.
2017-04-27 13:16:16 -07:00
Rafael Kitover 05555a23a8 SDL: fix deflt bat saving, improve dir checking
By default the SDL port tried to save the battery to a nonexistant
directory in saveDir, because if (saveDir) {...} evaluted to true since
saveDir was a non-NULL pointer but empty.

Change sdlCheckDirectory to return a bool indicating if the directory is
good or not, and if not set screenShotDir, saveDir and batteryDir to
NULL so that code that checks for their existance works correctly.
2017-04-27 08:52:14 -07:00
Rafael Kitover 02a1e38e6c SDL: improve error msg for unwritable config #105
Following up on 1ba2eef which fixed a crash caused by trying to write to
a NULL FILE* due to fopen() failure: write the error message to stderr
instead of trace.log and show the OS error using strerror_r().
2017-04-27 08:46:03 -07:00
Rafael Kitover cab6f0f026 delete memory in common/array.h on destruction
Hopefully fix a memory leak in common/array.h by adding a destructor
that does a delete on the underlying array if it was previously
allocated.
2017-04-27 08:35:25 -07:00
Christopher Snowhill a5ebd8d2b4 Merge pull request #109 from condret/elf-parser-security
fix some potential buffer-overflows
2017-04-23 13:45:48 -07:00
condret a9b1251b88 fix some potential buffer-overflows 2017-04-23 22:28:17 +00:00
Christopher Snowhill 48f7437612 Merge pull request #108 from condret/master
fix gameboy header-detection in libretro interface
2017-04-23 13:45:25 -07:00
condret 63b0760329 hotfix for potential buffer-overflow 2017-04-23 22:07:28 +00:00
condret d3b459ba0d fix gameboy header-detection in libretro interface 2017-04-23 21:54:56 +00:00
Jeremy Newton 1ba2eefebe Fix glibc crash: add log message on fopen failure
glibc's fclose implementation does not do a NULL check and will crash on "fclose(NULL)". A bunch of Fedora users have been sending in traces for this issue. I've added a log on failure case, likely if the user does not have permission to write to the file.
2017-04-17 12:04:07 -07:00
Rafael Kitover b59b7b394c add Linux joystick reference to issue template
Add a link to the Joystick page in the Arch Wiki so that users hopefully
use it to troubleshoot their joystick issues before filing an issue.

Also note that any joystick issues would be SDL related.
2017-04-10 04:13:02 -07:00
Rafael Kitover 247e584fe0 better fix for clipped video in GL fullscreen #89
In d1918c12 I manually sent a SIZE event to the DrawingPanel after
calling Layout() in the setup code in OnIdle().

But the obvious problem is that the ->Connect() calls to set up the
event handlers, including SIZE, are after all the setup code including
the Layout().

Move the ->Connect() calls to the top of the setup code and remove the
manual SIZE event sending. This is a much better solution that for some
reason I didn't notice at the time.

Tested to also fix the problem.
2017-04-04 13:30:56 -07:00
Zach Bacon b217f8b40b Oops, forgot Unices etc are case sensitive. 2017-03-25 07:23:30 -05:00
Rafael Kitover 7b0078d2c1 ./installdeps tweaks for fedora/rawhide
When installing rpmfusion repos, try going back up to 3 releases in case
the latest rawhide release does not have an rpmfusion repo, and install
the repo packages with --nodeps so that they don't conflict with
system-release(XX).

If installing rpmfusion repos fails, continue without ffmpeg (and adjust
build instructions accordingly.)

If ffmpeg fails to install for any reason, show a warning and adjust
build instructions.
2017-03-25 04:02:52 -07:00
Rafael Kitover 5d4ce82d54 make bins built with asm disable exec stack #98
Add the `section .note.GNU-stack` markers to .asm files built with nasm
to make sure the final executables do not have an executable stack.

This is described here:

https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart
2017-03-25 03:58:30 -07:00
Rafael Kitover f56794e8a3 fix ./installdeps m32 for Solus
When calculating 32 bit dependencies, look only for -devel packages, and
match only -devel packages when checking for corresponding -32bit-devel
packages.
2017-03-24 01:38:34 -07:00
Zach Bacon 9324318373 Working on getting libretro updated 2017-03-24 07:59:10 -04:00
Zach Bacon fec17c7900 libretro: this should solve the configmanager stuff and libretro 2017-03-23 22:14:38 -04:00
Zach Bacon 93bb1d3417 Merge branch 'master' of https://github.com/visualboyadvance-m/visualboyadvance-m 2017-03-23 22:05:07 -04:00
Rafael Kitover 41ead88dcb 32 bit cross compiling support on Linux
Add the `m32` parameter to ./installdeps to fetch 32 bit multilib
dependencies on Fedora, Arch and Solus linuxes and add a cmake toolchain
file to build with them.

For MSYS2 support both an `m32` and an `m64` to choose deps for 32 bit
or 64 bit mingw targets.

Adjust build instructions from ./installdeps to support both usages.

Other changes:

- use --nogpgcheck --best --allowerasing for dnf invocations for Fedora,
  the --nogpgcheck is necessary when Rawhide is confused about which
  keys it has, and the latter two are needed for upgrades that remove
  unneeded deps etc

- when finding GTK2, first try using pkg-config, and only fall back to
  the cmake script when that fails, pkg-config works better for cross
  builds

- add cairo to dep lists in ./installdeps for the time being

- for arch, list individual packages from base-devel instead of
  base-devel that do not require gcc-libs because of potential conflicts
  between gcc and gcc-multilib
2017-03-23 14:09:17 -07:00
Zach Bacon 352527254b Merge pull request #102 from JoshStrobl/patch-1
Simplified Solus installdeps
2017-03-22 20:50:57 -04:00
Joshua Strobl 8013d226a0 Simplified Solus installdeps
Multiple previously specified packages are either already in system.devel or are dependencies of items such as libgtk-2-devel or libgtk-3-devel, dependencies of those dependencies, etc.
2017-03-23 02:49:08 +02:00
Zach Bacon 105bbba888 Almost there, just a few more blocks to go. 2017-03-21 21:52:28 -04:00
Rafael Kitover 3a7c18da11 add gitter.im badge to top of README.md 2017-03-21 16:05:28 -07:00
Rafael Kitover 0dc175cdb4 basic ./installdeps support for Solus Linux
Add basic support for installing deps for a Solus host build and update
README.md .

Support for mingw and 32 bit cross-builds may be added later.
2017-03-19 19:09:33 -07:00
Rafael Kitover 6af5525ac1 cmake: default to ENABLE_ASM_CORE=OFF #98 #54
The inline assembly in src/gba/GBA-thumb.cpp which is turned on with the
cmake ENABLE_ASM_CORES option, sometimes causes weird behavior on
windows (see: #54) and a crash on startup in linux (see: #98, confirmed
on both Fedora and Arch Linux.)

Previously the default for this option was ON for 32 bit builds, set the
default to OFF always for the time being, until it is either fixed or
replaced.
2017-03-18 19:04:39 -07:00
Rafael Kitover e1c1a5c95f fix src/filters/2xSaImmx.asm linking issues #98
Because of how asm subroutines are linked to C/C++ programs,
src/filters/2xSaImmx.asm had an %ifdef __DJGPP__ (the DOS port of gcc)
with the subroutine names prepended with an extra underscore.

In 902a7a7e I removed the %ifdef and just kept the extra underscore for
all symbols, and this worked fine until #98 where some version of Fedora
did not like that and would not link the code.

So adopt the behavior of the other asm filters, which have a NEWSYM
macro that defines the symbol name both with and without the extra
underscore, by listing the symbol twice, both with and without the extra
underscore, this is confirmed to fix the linking issue on that Fedora
build host.
2017-03-18 18:44:39 -07:00
Zach Bacon a575cc9295 Small tweaks to the installer 2017-03-16 19:23:12 -04:00
Zach Bacon 3a141be6c1 Added initial installer script to install either the 64bit or 32bit versions depending on platform. 2017-03-15 22:58:02 -04:00
Rafael Kitover 2e8bee117d cmake: use add_compile_options for ssp-buffer-size
In 82c8a1e3 I made "--param ssp-buffer-size=4" one argument instead of
two because when added to CMAKE_REQUIRED_LIBRARIES the ssp-buffer-size=4
part was being recognized as a library, breaking the compile tests.

This broke the build on mac, which I fixed in 915e2d1e by using ssp
flags for gcc only and not clang.

Now apparently it is breaking mxe, so instead of adding this particular
parameter to the MY_C_FLAGS variable which is then added to
CMAKE_REQUIRED_* variables for compile tests, add it directly via
ADD_COMPILE_OPTIONS().

This should hopefully resolve any remaining issues with this compiler
flag.
2017-03-14 10:33:24 -07:00
Rafael Kitover 915e2d1ec2 activate libssp compiler flags for gcc only
In 82c8a1e3 I made "--param ssp-buffer-size=4" one argument instead of
two to fix another problem when passing compiler flags to
CMAKE_REQUIRED_LIBRARIES, clang cannot deal with this and this breaks
the build on mac.

Enable libssp related flags for gcc only, because clang does not support
them anyway. This fixes the build issue on mac.
2017-03-11 19:19:47 -08:00
Rafael Kitover 82c8a1e3fa fix linux build broken in 687c08a
Stop saving and restoring the CMAKE_REQUIRED_* variables for the compile
test, because the subsequent Wx header symbol tests need them set up for
Wx support as well.

Also --param foo=bar needs to be a single string in the list of compiler
flags, or cmake can misinterpret the second part as a library when it is
passed to libraries/link-options.
2017-03-10 06:38:50 -08:00
Zach Bacon 145f6d433c Some debian stuff, I honestly don't like debian packaging... but it's important for some people 2017-03-09 04:06:25 -05:00
Zach Bacon 015e0af857 Start removing ancient history of gvbam, may it rest in peace 2017-03-09 03:58:00 -05:00