1
0
Fork 0
Commit graph

5041 commits

Author SHA1 Message Date
Patryk Obara
f49eb0904b Implement starts_with and ends_with functions
There are many options for implementing these functions; using C++14
std::equals is the simplest one, and allows for marking the function as
noexcept.
2020-05-11 01:18:21 +02:00
Patryk Obara
064108c9c4 Switch to using C++14 2020-05-11 01:18:21 +02:00
Patryk Obara
2463626c96 Upgrade AX_CXX_COMPILE_STDCXX_* macro to C++14 2020-05-11 01:18:21 +02:00
Patryk Obara
8a3a9bfc75 Update internal links to BUILD.md 2020-05-10 22:20:58 +02:00
kcgen
fe6674f9eb Move build-script procedures to top-level 2020-05-10 21:58:52 +02:00
kcgen
d423a4363b Add empty configs for remaining package managers 2020-05-10 21:58:52 +02:00
kcgen
72a8ffb0a7 Refresh build docs against current scripts 2020-05-10 21:58:52 +02:00
Patryk Obara
ac01935d70 Introduce gating based on MSVC warnings
This is the last compiler setup we have, that was missing a warning
counter. Initial limit we use is different than number reported by MSVC
internally, because MSVC simply sums warnings from all projects (without
removing duplicates, the way our script does).
2020-05-09 19:00:31 +02:00
Patryk Obara
01fb4f303e Parse build log in MSVC format 2020-05-09 19:00:31 +02:00
kcgen
a495aefe83 Add Haiku OS support to build system 2020-05-09 18:46:08 +02:00
kcgen
5fdb4acb5e Fix APT package names and minimum OS ver
libopusfile0 References:
-  (Debian SID) https://packages.debian.org/sid/libs/libopusfile0
- (Debian Buster)  https://packages.debian.org/buster/libs/libopusfile0

- (Ubuntu 16.04  - latest dev) https://packages.ubuntu.com/search?keywords=libopusfile0&searchon=names

SDL packages:
- (Ubuntu 16.04 to latest) https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=libsdl2-2.0-0&searchon=names
- (Ubuntu 16.04 to latest) https://packages.ubuntu.com/search?suite=default&section=all&arch=any&keywords=libsdl2-net-2.0-0&searchon=names
2020-05-08 11:45:41 +02:00
Patryk Obara
0d9670ada9 Document contributing guidelines 2020-05-06 13:49:39 +02:00
kcgen
d7b8590026 Allow GCC's LTO on all platforms 2020-05-06 09:11:58 +02:00
Patryk Obara
17de912e43 Adjust file export paths injected by Inkscape 2020-05-05 09:54:09 +02:00
Patryk Obara
365a298ee0 Clean code around setting png "Software" keyword
There's no reason to copy strings back and forth in here - libpng will
use the pointers we'll pass, and we know all lengths at compile time.

To verify, make a screenshot and use ImageMagick to display strings:

  $ identify -verbose dosbox_001.png | grep Software

"Software" is one of few built-in libpng keywords, but it does not seem
to be very popular.
2020-05-04 18:17:57 +02:00
Patryk Obara
4ed5f93e9c Update allowed warnings limits 2020-05-04 17:55:32 +02:00
Patryk Obara
4ae5528a62 Prevent SDL2 crash on exit when using Wayland
The correct way to cleanup after SDL_Init is to call
"atexit(SDL_Quit);", so all SDL internals are correctly closed, even in
abnormal circumstances.

See: https://wiki.libsdl.org/SDL_Quit

However, when using SDL_VIDEODRIVER=wayland (as of SDL 2.0.12), this
causes crash in SDL, as MESA might've cleaned up some of driver
internals already.

Replace useless SDL_Init_Wrapper with simpler SDL_Init, and create
wrapper for SDL_Quit to accomodate multiple exit scenarios (those
triggered by erros, but also by window managers or directly by users).

Directly call SDL_Quit before atexit queue to prevent crash on normal
process termination (leaving main); the crash was not happening when
process terminates due to exit syscall.
2020-05-04 12:31:48 +02:00
Patryk Obara
19267d00e2 Rename boolean flag "exit" to "exit_flag"
Otherwise it's confusing when grepping code, and it confuses syntax
highlighter in various programs as well.
2020-05-04 12:31:48 +02:00
Vladimir Serbinenko
c183992dc2 Fix pointer declarations
This change fixes compilation on devkit pro toolchain; it's a GCC
cross-compiler targeting PPC intended for homebrew development for
various Nintendo devices (like GameCube).

Signed-off-by: Nikos Chantziaras <realnc@gmail.com>
Signed-off-by: Patryk Obara <dreamer.tan@gmail.com>
2020-05-04 12:22:43 +02:00
Patryk Obara
bf614c61b7 Prevent platform builds failure
Don't count warnings if there's no build log.
2020-05-04 09:09:45 +02:00
kcgen
c803db02aa Limit string concatenation to the target's length
This commits covers a single class of string-cat
issues, all of which involve writing an unchecked
quantity of bytes into a string of a fixed length (ie:
char[]).
2020-05-04 08:26:30 +02:00
Troy Campbell
e417d06289 Scan Windows release package using Microsoft Defender
Things aren't perfect, but they're the best we can do given what we're
left to work with. For example:

- We cannot update the virus signatures, because that command simply
fails, despite being copy-and-paste'd from Microsoft's documentation.

- When queried, Windows reports its virus signature age is
4,294,967,295 days old, which, on geological time scales, pre-dates
even the Pleistocene era by 9.7 million years.

Despite these issues, my hunch is that the signatures are current as of
the date when the VM's base-image was generated; and because we're in
the Holocene era of zero-day network threats, my guess is GitHub is
re-generating images at least weekly if not more frequently (and sure
enough, Defender catches the EICAR dummy virus.

Note that we're not using Start-MpScan because it does not provide any
useful output on status of scans (indeed!), so I've moved that here into
the commit message.
2020-05-04 08:06:08 +02:00
kcgen
71af263cf5 Count and limit the string-copy target's length
In this case, the target string's head-pointer is
walked forward dynamically in the prior code, where
each increment reduces the remaining string-length
that's available into which to write.

We use pointer artithmetic to count how far the head
pointer has moved from the base (subtracting that from
the available length), but also adding a safety net to
never exceed the original length if the prior
pointer-moving code were go off the rails (and exceed
the max length).
2020-05-01 17:27:47 +02:00
kcgen
e8acb7f0d7 Use C++ pointer-type casting to be more explicit
The prior C-style casts are ambiguous when it comes to
describing what type of cast is being performed. In
this case, we're changing the undering the pointer type
(from an unsigned char * to a char *), which a simple
static_cast<...> cannot do.
2020-05-01 17:27:47 +02:00
kcgen
e603337c17 Limit string copies to the target's length
This commits covers a single class of string-copy
issues, all of which involve writing an unchecked
quantity of bytes into a string of a fixed length (ie:
char[]).
2020-05-01 17:27:47 +02:00
Patryk Obara
e0ab23ad67
Add build status badge for non-x86 architectures 2020-04-29 22:05:35 +02:00
Patryk Obara
f18800760d Update allowed warnings limits 2020-04-29 21:52:03 +02:00
Patryk Obara
23f4c5bb1b Fix branding in metadata for PNG screenshots 2020-04-29 21:45:39 +02:00
krcroft
e62d903d6a AV scan the macOS package prior to upload 2020-04-29 21:04:30 +02:00
krcroft
e6311d36b8 AV scan the Linux package prior to upload 2020-04-29 21:04:30 +02:00
Patryk Obara
de3e030a4d Update documentation for --printconf and --editconf
Also, use the same order of parameters listed in man page and README
manual file.
2020-04-29 04:08:00 +02:00
Patryk Obara
4675596dcd Unify macOS configuration paths in a single location
Duplicated hardcoded path was updated in only 1 of 2 locations.

Fixes: #311
2020-04-29 04:08:00 +02:00
Patryk Obara
62a469a89b Use consistent order for GNU-style params 2020-04-29 04:08:00 +02:00
Patryk Obara
2ccae54e84 Improve --editconf option
No user expects, that editor name needs to be manually supplied, and
documentation is not clear about this either.

Add GNU-style double-dash long parameter. Unfortunately, --opt=value
style does not work with DOSBox non-standard parameter handling
implementation.

When user won't supply value for the parameter, following editors will
be tried in order:

- Program supplied via EDITOR environment variable
- nano
- vim
- vi
- notepad++.exe
- notepad.exe
2020-04-29 04:08:00 +02:00
Patryk Obara
d230e0759c Cleanup PrintConfigLocation function
Do not exit inside function, return error code instead.

Print error to stderr, and not stdout, to make life easier for users
invoking dosbox from within scripts.

Include double-dash GNU-style parameter: '--printconf'.
2020-04-29 04:08:00 +02:00
Patryk Obara
83e1a3a944 Move config dir detection earlier
Setting up configuration file location is a dependency for:

$ dosbox -printconf
$ dosbox -editconf vim
$ dosbox -eraseconf

Wee need to have cache initialized before these parameters are handled.
2020-04-29 04:08:00 +02:00
kcgen
1bd770b5b4 Cleanup and add warning count to platform build 2020-04-29 03:17:14 +02:00
Patryk Obara
d289e64291 Merge branch 'svn/trunk' r4338 2020-04-29 03:04:21 +02:00
ripsaw8080
a4edebe60e Correct cdrom sector size field length according to docs.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4338
2020-04-28 16:06:29 +00:00
krcroft
106b45ef2d Move to GitHub's v2 API when checking out
v2 will:
- Checkout over SSH
- use Git's REST API, when git is version 2.18 or newer
- No longer detaches HEAD when checking out a branch
- Fetches one-commit deep by default

When building releases where we expect full history plus tags,
we explicitly get them with `git fetch --prune --unshallow`.
2020-04-27 03:52:41 +02:00
kcgen
ec43dabba4 Enable NEON SIMD for corresponding ARM platforms 2020-04-27 03:32:26 +02:00
kcgen
2f4830830e Add nightly ARM & IBM platform builds 2020-04-27 03:32:26 +02:00
kcgen
01728f719e Drop xvfb, and add autotools for apt-repos 2020-04-27 03:32:26 +02:00
kcgen
892a6f61a2 Print the log if configure fails 2020-04-27 03:32:26 +02:00
Tyrell Sassen
de43073145 Convert existing shaders to C++11 raw strings
Shaders were previously saved as standard C++ string concatenations.
This commit converts them to the C++11 raw string syntax using a raw
string delimiter of `GLSL`.

This format is preferable as it will allow the shaders to be viewed and
edited directly, without having to make considerations for any escape
characters within the code.
2020-04-27 03:05:09 +02:00
David Reid
9c90722ee7 Sync dr_mp3 with upstream (v0.6.5) 2020-04-26 05:42:16 +02:00
kcgen
9de8f1255e Add mailmap file to update maintainer information 2020-04-26 05:15:41 +02:00
Patryk Obara
237577101b Merge branch 'svn/trunk' r4337 2020-04-26 00:38:29 +02:00
Peter Veenstra
8e74e307a9 time keeps ticking
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4337
2020-04-25 20:05:04 +00:00
Patryk Obara
333a771a63 Fix typo resulting in broken ARM builds 2020-04-22 22:02:01 +02:00