First implementation

It seems to work but I think the ticker value returned
by the remote call is wrong. Maybe I'm calling the wrong
endpoint ¯\_(ツ)_/¯ I don't know trying to work it out
This commit is contained in:
King_DuckZ 2022-05-12 23:40:27 +02:00
commit 1d61cc7f2f
21 changed files with 1474 additions and 0 deletions

View file

@ -0,0 +1,36 @@
project('simdjson', 'cpp',
version: '1.0.2',
meson_version: '>=0.49.2',
default_options: ['buildtype=release', 'cpp_std=c++11', 'b_ndebug=if-release'],
license: 'Apache',
)
public_incl = include_directories('include')
compiler_opts = []
if not get_option('simdjson_implementation_haswell')
compiler_opts += ['-DSIMDJSON_IMPLEMENTATION_HASWELL=0']
endif
if not get_option('simdjson_implementation_westmere')
compiler_opts += ['-DSIMDJSON_IMPLEMENTATION_WESTMERE=0']
endif
if not get_option('simdjson_implementation_arm64')
compiler_opts += ['-DSIMDJSON_IMPLEMENTATION_ARM64=0']
endif
if not get_option('simdjson_implementation_fallback')
compiler_opts += ['-DSIMDJSON_IMPLEMENTATION_FALLBACK=0']
endif
if not get_option('simdjson_exceptions')
compiler_opts += ['-DSIMDJSON_EXCEPTIONS=0']
endif
thread_dep = dependency('threads', required: get_option('simdjson_enable_threads'))
if thread_dep.found()
compiler_opts += ['-DSIMDJSON_THREADS_ENABLED=1']
endif
cpp_comp = meson.get_compiler('cpp')
if cpp_comp.get_argument_syntax() == 'gcc' and (host_machine.cpu_family() == 'x86_64' or host_machine.cpu_family() == 'x86')
compiler_opts += ['-mno-avx256-split-unaligned-load', '-mno-avx256-split-unaligned-store']
endif
subdir('src')

View file

@ -0,0 +1,6 @@
option('simdjson_implementation_haswell', type: 'boolean', value: true, description: 'Include the haswell implementation')
option('simdjson_implementation_westmere', type: 'boolean', value: true, description: 'Include the westmere implementation')
option('simdjson_implementation_arm64', type: 'boolean', value: true, description: 'Include the arm64 implementation')
option('simdjson_implementation_fallback', type: 'boolean', value: true, description: 'Include the fallback implementation')
option('simdjson_exceptions', type: 'boolean', value: true, description: 'Enable simdjson\'s exception-throwing interface')
option('simdjson_enable_threads', type: 'feature', value: 'auto', description: 'Link with thread support')

View file

@ -0,0 +1,12 @@
simdjson = static_library(meson.project_name(),
'simdjson.cpp',
include_directories: public_incl,
install: not meson.is_subproject(),
cpp_args: compiler_opts,
dependencies: [thread_dep],
)
simdjson_dep = declare_dependency(
link_with: simdjson,
include_directories: public_incl,
)