kodev: Use getopt instead of a hand-rolled hack (#6980)

* Update log android to match the current issue template
* Fix GUI gdb frontends getting wrecked by the older glib library we ship w/
KOReader
* Slightly more aggressive valgrind defaults
  It's slower, but interpreting results without leak-check=full ends up
  costing more time than just running with it.
* Add a callgrind shortcut
* Use getopt instead of a hand-rolled hack for option parsing
* Make it clearer that complex args should be quoted
* Document prompt
* Add a Valgrind suppression file for libdrm/mesa on AMD hardware
  Because mesa/libdrm isn't built w/ -D valgrind=enabled on Gentoo,
  and Valgrind is very much not happy with mesa ;p.
* Allow toggling reader.lua's sane return mode
  (Enabled automatically under gdb/valgrind).
  Should hopefully weed out some noise from valgrind reports.
* Propagate reader.lua's return code
* Sim a few other common devices
* Handle assigning values to short options with an equal instead of a space, like the previous solution
  (This is purely for backward compatibility purposes, this is a syntax that'd fail with the C getopt, too).
* Add gnu-getopt to the build requirement on macOS, because of course everything is terrible.
This commit is contained in:
NiLuJe
2020-12-18 18:26:32 +01:00
committed by GitHub
parent 348d47365b
commit 04a980649f
4 changed files with 326 additions and 107 deletions

View File

@@ -41,12 +41,12 @@ Install the prerequisites using [Homebrew](https://brew.sh/):
```
brew install nasm ragel binutils coreutils libtool autoconf automake cmake makedepend \
sdl2 lua@5.1 luarocks gettext pkg-config wget
sdl2 lua@5.1 luarocks gettext pkg-config wget gnu-getopt
```
You will also have to ensure Homebrew's gettext is in your path, e.g., via
You will also have to ensure Homebrew's gettext & gnu-getopt are in your path, e.g., via
```
export PATH="/usr/local/opt/gettext/bin:${PATH}"
export PATH="$(brew --prefix)/opt/gettext/bin:$(brew --prefix)/opt/gnu-getopt/bin:${PATH}"
```
See also `brew info gettext` for details on how to make that permanent in your shell.