mirror of
https://github.com/nunuhara/xsystem4.git
synced 2026-09-26 17:07:55 +03:00
Add a new debugger interface using a simple command language. This is
less powerful than the scheme interface (which still exists) but more
ergonomic for interactive debugging.
This debugger has no external dependencies (it will however use readline
if available) and is included in builds by default.
A sample interaction might look like:
xsystem4 --debug /path/to/game
dbg(cmd)> breakpoint bar
Set breakpoint at function 'bar' (0x00001234)
dbg(cmd)> continue
Hit breakpoint at function 'bar' (0x00001234)
dbg(cmd)> backtrace
#0 0x00001234 in bar
#1 0x00002222 in foo
#2 0x00004444 in main
dbg(cmd)> locals
[0] i: 2
[1] s: "baz"
dbg(cmd)> locals 1
[0] j: 3
[1] obj: { m_i = 0; m_s = "" }
dbg(cmd)> quit
43 lines
1.3 KiB
Meson
43 lines
1.3 KiB
Meson
project('system4', 'c',
|
|
default_options : ['c_std=c11'])
|
|
add_project_arguments('-D_DEFAULT_SOURCE', language : 'c')
|
|
add_project_arguments('-DXSYS4_DATA_DIR="' + get_option('prefix') / get_option('datadir') / 'xsystem4"', language : 'c')
|
|
|
|
zlib = dependency('zlib')
|
|
libm = meson.get_compiler('c').find_library('m', required: false)
|
|
sdl2 = dependency('sdl2')
|
|
sdl2ttf = dependency('SDL2_ttf')
|
|
ffi = dependency('libffi')
|
|
tj = dependency('libturbojpeg')
|
|
webp = dependency('libwebp')
|
|
png = dependency('libpng')
|
|
cglm = dependency('cglm', fallback : ['cglm', 'cglm_dep'])
|
|
sndfile = dependency('sndfile')
|
|
|
|
if get_option('use_gles')
|
|
gles = dependency('glesv2')
|
|
gl_deps = [gles]
|
|
add_project_arguments('-DUSE_GLES', language : 'c')
|
|
else
|
|
gl = dependency('GL')
|
|
glew = dependency('glew')
|
|
gl_deps = [gl, glew]
|
|
endif
|
|
|
|
chibi = dependency('chibi-scheme', required : false)
|
|
readline = dependency('readline', required : false)
|
|
|
|
flex = find_program('flex')
|
|
bison = find_program('bison')
|
|
|
|
incdir = include_directories('include')
|
|
|
|
libsys4_proj = subproject('libsys4')
|
|
libsys4_dep = libsys4_proj.get_variable('libsys4_dep')
|
|
|
|
subdir('src')
|
|
|
|
install_subdir('shaders', install_dir : get_option('datadir') / 'xsystem4')
|
|
install_subdir('fonts', install_dir : get_option('datadir') / 'xsystem4')
|
|
install_data('debugger.scm', install_dir : get_option('datadir') / 'xsystem4')
|