This fixes the prior logic that relies on the (*)curses library and header existing in compiler-derived default locations such as /usr/include, and /usr/lib. However, if the package manager happens to not install them there, then they will not be found and the check will fail. Four scenarios: 1. `./configure` or `./configure --enable-debug=no` produce: (no mention of debugger; configure continues) 2. `./configure --enable-debug=wrong` produces: configure: error: --enable-debug=wrong was requested but the value "wrong" is invalid (terminates with exit code 1) 3. `./configure --enable-debug` produces: config.h: defines C_DEBUG 1 With only ncurses library installed: configure: debugger was requested, finding curses library ... checking for NCURSES... yes configure: debugger enabled using the ncurses library Makefile: CPPFLAGS = ... -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -I/usr/local/ncurses ... LIBS = ... -L/usr/local/ncurses -lncurses -ltinfo ... With only ncursesw installed: configure: debugger was requested, finding curses library ... checking for NCURSES... no checking for NCURSESW... yes configure: debugger enabled using the ncursesw library Makefile: CPPFLAGS = ... -I/opt/ncursesw ... LIBS = ... -L/opt/ncursesw -lncursesw ... With only pdcurses isntalled: configure: debugger was requested, finding curses library ... checking for NCURSES... no checking for NCURSESW... no checking for PDCURSES... yes configure: debugger enabled using the pdcurses library Makefile: CPPFLAGS = ... -I/usr/local/pdcurses ... LIBS = ... -L/usr/local/pdcurses -lpdcurses -ltinfo ... Without any curses library installed: configure: debugger was requested, finding curses library ... checking for NCURSES... no checking for NCURSESW... no checking for PDCURSES... no configure: error: Package requirements were not met: <pkg-info prints info about missing package> (terminates with exit code 1) 4. `./configure --enable-debug=heavy` produces same as above, but: config.h: defines C_DEBUG 1 defines C_HEAVY_DEBUG 1 The configure message mentions heavy, for example: configure: debugger was requested, finding curses library ... checking for NCURSES... yes configure: debugger with heavy debugging enabled using the ncurses library
120 lines
4.4 KiB
Text
120 lines
4.4 KiB
Text
DOSBox uses the following libraries:
|
|
|
|
SDL
|
|
The Simple DirectMedia Library available at https://www.libsdl.org/
|
|
The dll distributed with the windows version of DOSBox is slightly
|
|
modified. You can find the changes in the sourcepackage of DOSBox
|
|
(src/platform/sdl-win32.diff). If you want the patched sourcetree
|
|
send us an email. (see README)
|
|
Note that only version 1.2 and its subversions (1.2.8, 1.2.13 etc.)
|
|
are currently supported.
|
|
License: LGPLv2+
|
|
|
|
Opusfile, by Xiph
|
|
For compressed audio tracks (.opus) used with CDROM images.
|
|
Sources are available at https://opus-codec.org, however it is
|
|
also conveniently packages by all popular package managers for
|
|
Windows (MSYS2, MinGW, and Chocolatey), Linux (apt, dnf, zypper,
|
|
pacman), and OS X (Homebrew and MacPorts). Opus is today's
|
|
leading compression format and has replaced Vorbis as Ogg's
|
|
recommended lossy format. Is widely used in the largest audio and
|
|
video distribution platforms such as YouTube.
|
|
License: three-clause BSD
|
|
|
|
Curses (optional)
|
|
If you want to enable the debugger you need a curses library.
|
|
On Linux, install ncurses-devel via your distro package manager.
|
|
On macOS, install ncurses via brew or macports.
|
|
On Windows, install pdcurses at https://pdcurses.org/, or ncurses
|
|
via package-manager such as pacman within an MSYS2 environment.
|
|
Licenses:
|
|
ncurses - MIT License
|
|
pdcurses - Public Domain
|
|
|
|
Libpng (optional)
|
|
Needed for the screenshots.
|
|
For win32 get libpng from http://gnuwin32.sourceforge.net/packages.html
|
|
See http://www.libpng.org/pub/png/ for more details.
|
|
License: zlib/libpng
|
|
|
|
Zlib (optional)
|
|
Needed by libpng.
|
|
For win32 get libz (rename to zlib) from http://gnuwin32.sourceforge.net/packages.html
|
|
See https://www.zlib.net/ for more details.
|
|
License: zlib
|
|
|
|
SDL_Net (optional)
|
|
For modem/ipx support.
|
|
Get it from https://www.libsdl.org/projects/SDL_net/release-1.2.html
|
|
License: LGPLv2+
|
|
|
|
alsa-lib (optional)
|
|
For ALSA audio support under linux. Get it from https://www.alsa-project.org/
|
|
Licensed under LGPL
|
|
|
|
If you want compile from developer sources (SVN) under a unix system, you will need:
|
|
- Subversion to checkout the sources, or gzip and tar to unpack them from archive
|
|
- GCC (>=4.8.1) or Clang (>=3.3)
|
|
- automake (>=1.6)
|
|
- autoconf (>=2.50)
|
|
- autoconf-archive (>=2009.x)
|
|
- make (>= 3.8)
|
|
- pkg-config (>= 0.25)
|
|
|
|
For building on unix systems.
|
|
If you are building from developer sources run ./autogen.sh first before doing
|
|
the following:
|
|
|
|
$ ./configure
|
|
$ make
|
|
|
|
You can also run "./configure --help" for extra features to enable/disable.
|
|
Some of them are:
|
|
|
|
--enable-debug
|
|
enables the internal debugger. --enable-debug=heavy enables even more
|
|
debug options. To use the debugger, DOSBox should be run from an xterm
|
|
and when the sdl-window is active press alt-pause to enter the
|
|
debugger.
|
|
|
|
--disable-core-inline
|
|
disables some memory increasing inlines. This speeds up compilation,
|
|
but may result in a slower dosbox.
|
|
|
|
--disable-fpu
|
|
disables the emulated fpu. Although the fpu emulation code isn't
|
|
finished and isn't entirely accurate, it's advised to leave it on.
|
|
|
|
--disable-fpu-x86
|
|
--disable-fpu-x64
|
|
disables the assembly fpu core. Although relatively new, the x86/x64
|
|
fpu core has more accuracy than the regular fpu core.
|
|
|
|
--disable-dynamic-x86
|
|
disables the dynamic x86/x64 specific cpu core. Although it might be
|
|
a bit unstable, it can greatly improve the speed of dosbox on x86 and
|
|
x64 hosts.
|
|
Please note that this option on x86/x64 will result in a different
|
|
dynamic/recompiling cpu core being compiled than the default.
|
|
For more information see the option --disable-dynrec
|
|
|
|
--disable-dynrec
|
|
disables the recompiling cpu core. Currently x86/x64 and arm only.
|
|
You can activate this core on x86/x64 by disabling the dynamic-x86
|
|
core.
|
|
|
|
--disable-dynamic-core
|
|
disables all dynamic cores (same effect as --disable-dynamic-x86
|
|
or --disable-dynrec).
|
|
|
|
--disable-opengl
|
|
disables OpenGL-support (output mode that can be selected in the
|
|
DOSBox configuration file).
|
|
|
|
--disable-unaligned-memory
|
|
disables unaligned memory access.
|
|
|
|
Check the src subdir for the binary.
|
|
|
|
NOTE: If capslock and numlock appear to be broken. open
|
|
src/ints/bios_keyboard.cpp and go to line 30 and read there how to fix it.
|