2020-04-24 23:49:46 +00:00
|
|
|
project('wrentest', 'cpp',
|
|
|
|
version: '1.0.0',
|
|
|
|
meson_version: '>=0.49.2',
|
|
|
|
default_options: ['debug=true', 'cpp_std=c++17', 'b_ndebug=if-release'],
|
|
|
|
)
|
|
|
|
|
|
|
|
wren_dep = dependency('wren', version: '>=0.2.0', fallback: ['wren', 'wren_dep'])
|
|
|
|
|
2020-04-26 20:06:53 +00:00
|
|
|
os = host_machine.system()
|
|
|
|
if os == 'gnu'
|
|
|
|
os = 'hurd'
|
|
|
|
elif os == 'linux'
|
|
|
|
os = 'gnu'
|
|
|
|
endif
|
|
|
|
|
|
|
|
arch = host_machine.cpu()
|
|
|
|
if arch == 'x86_64'
|
|
|
|
arch = 'amd64'
|
|
|
|
endif
|
|
|
|
|
|
|
|
ptr_size = 0
|
|
|
|
func_ptr_size = 0
|
|
|
|
|
|
|
|
conf = configuration_data()
|
|
|
|
if os == 'gnu' and arch == 'amd64'
|
|
|
|
ptr_size = 8
|
|
|
|
func_ptr_size = 8
|
|
|
|
endif
|
|
|
|
|
|
|
|
conf.set('POINTER_SIZE', ptr_size)
|
|
|
|
conf.set('FUNC_POINTER_SIZE', func_ptr_size)
|
|
|
|
|
|
|
|
project_config_file = configure_file(
|
|
|
|
input: 'src/config.h.in',
|
|
|
|
output: 'config.h',
|
|
|
|
configuration: conf
|
|
|
|
)
|
|
|
|
|
2020-04-24 23:49:46 +00:00
|
|
|
executable(meson.project_name(),
|
2020-04-26 20:06:53 +00:00
|
|
|
project_config_file,
|
2020-04-24 23:49:46 +00:00
|
|
|
'src/main.cpp',
|
2020-04-25 18:45:59 +00:00
|
|
|
'src/wren/vm.cpp',
|
|
|
|
'src/wren/configuration.cpp',
|
|
|
|
'src/wren/def_configuration.cpp',
|
2020-04-26 15:19:02 +00:00
|
|
|
'src/wren/dynafunc_maker.cpp',
|
2020-04-26 20:06:53 +00:00
|
|
|
'src/dynafunc_' + arch + '_' + os + '.S',
|
2020-04-24 23:49:46 +00:00
|
|
|
dependencies: [wren_dep],
|
|
|
|
install: true,
|
|
|
|
)
|