From 0c70cd5f7ef0169a16ce66775b5aca667e97e5e2 Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 11:56:15 +0100 Subject: [PATCH 01/11] add embryo of meson.build --- meson.build | 40 +++++++++++++++++++++++++++++++ src/backends/isa-l/meson.build | 5 ++++ src/backends/jerasure/meson.build | 4 ++++ src/backends/meson.build | 10 ++++++++ src/backends/null/meson.build | 3 +++ src/backends/phazrio/meson.build | 3 +++ src/backends/rs_vand/meson.build | 3 +++ src/backends/shss/meson.build | 3 +++ src/backends/xor/meson.build | 3 +++ src/builtin/meson.build | 4 ++++ src/builtin/null_code/meson.build | 3 +++ src/builtin/rs_vand/meson.build | 4 ++++ src/builtin/xor_codes/meson.build | 4 ++++ src/meson.build | 12 ++++++++++ src/utils/chksum/meson.build | 1 + src/utils/meson.build | 1 + 16 files changed, 103 insertions(+) create mode 100644 meson.build create mode 100644 src/backends/isa-l/meson.build create mode 100644 src/backends/jerasure/meson.build create mode 100644 src/backends/meson.build create mode 100644 src/backends/null/meson.build create mode 100644 src/backends/phazrio/meson.build create mode 100644 src/backends/rs_vand/meson.build create mode 100644 src/backends/shss/meson.build create mode 100644 src/backends/xor/meson.build create mode 100644 src/builtin/meson.build create mode 100644 src/builtin/null_code/meson.build create mode 100644 src/builtin/rs_vand/meson.build create mode 100644 src/builtin/xor_codes/meson.build create mode 100644 src/meson.build create mode 100644 src/utils/chksum/meson.build create mode 100644 src/utils/meson.build diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..cb8fbcb --- /dev/null +++ b/meson.build @@ -0,0 +1,40 @@ +project('erasurecode', 'c', default_options : ['buildtype=debugoptimized', 'c_std=c17', 'optimization=2', 'werror=true']) + +ec_inc = include_directories('include/erasurecode', 'include/isa_l', 'include/rs_vand', 'include/xor_codes') +# ec_files = [files('get_flags_from_cpuid.c')] +ec_files = [] + +c_compiler = meson.get_compiler('c') + +flags = [['-mmmx','-DINTEL_MMX'], + ['-msse', '-DINTEL_SSE'], + ['-msse2','-DINTEL_SSE2'],['-msse3','-DINTEL_SSE3'],['-mssse3','-DINTEL_SSSE3'],['-msse4.1','-DINTEL_SSE41'], + ['-msse4.2','-DINTEL_SSE42'],['-mavx','-DINTEL_AVX']] + +optim_flags = [] + +foreach f : flags + if c_compiler.has_argument(f[0]) + optim_flags += f + endif +endforeach + +subdir('src') + +zlib_dep = c_compiler.find_library('z') +m_dep = c_compiler.find_library('m') +dl_dep = c_compiler.find_library('dl') + +ec_deps = [zlib_dep, m_dep, dl_dep] + +c_args = ['-D_GNU_SOURCE=1', '-pedantic'] +c_args += optim_flags + +ec_lib = library('erasurecode', ec_files, include_directories: ec_inc, dependencies: ec_deps, c_args: c_args) + +ec_dep = declare_dependency(link_with : ec_lib, dependencies: ec_deps, + include_directories : ec_inc) + +liberasurecode_test = executable('liberasurecode_test', files('test/liberasurecode_test.c'), dependencies: [ec_dep]) + +test('liberasurecode_test', liberasurecode_test) diff --git a/src/backends/isa-l/meson.build b/src/backends/isa-l/meson.build new file mode 100644 index 0000000..cc93eaf --- /dev/null +++ b/src/backends/isa-l/meson.build @@ -0,0 +1,5 @@ +ec_files += [files( +'isa_l_common.c', +'isa_l_rs_cauchy.c', +'isa_l_rs_vand.c', +)] diff --git a/src/backends/jerasure/meson.build b/src/backends/jerasure/meson.build new file mode 100644 index 0000000..0df4ce5 --- /dev/null +++ b/src/backends/jerasure/meson.build @@ -0,0 +1,4 @@ +ec_files += [files( +'jerasure_rs_cauchy.c', +'jerasure_rs_vand.c', +)] \ No newline at end of file diff --git a/src/backends/meson.build b/src/backends/meson.build new file mode 100644 index 0000000..242234c --- /dev/null +++ b/src/backends/meson.build @@ -0,0 +1,10 @@ +subdir('isa-l') + +subdir('jerasure') +subdir('null') +subdir('phazrio') + +subdir('rs_vand') +subdir('shss') + +subdir('xor') diff --git a/src/backends/null/meson.build b/src/backends/null/meson.build new file mode 100644 index 0000000..36f9591 --- /dev/null +++ b/src/backends/null/meson.build @@ -0,0 +1,3 @@ +ec_files += [files( +'null.c', +)] diff --git a/src/backends/phazrio/meson.build b/src/backends/phazrio/meson.build new file mode 100644 index 0000000..51be229 --- /dev/null +++ b/src/backends/phazrio/meson.build @@ -0,0 +1,3 @@ +ec_files += [files( +'libphazr.c', +)] diff --git a/src/backends/rs_vand/meson.build b/src/backends/rs_vand/meson.build new file mode 100644 index 0000000..c9e1a5b --- /dev/null +++ b/src/backends/rs_vand/meson.build @@ -0,0 +1,3 @@ +ec_files += [files( +'liberasurecode_rs_vand.c', +)] \ No newline at end of file diff --git a/src/backends/shss/meson.build b/src/backends/shss/meson.build new file mode 100644 index 0000000..d223bf3 --- /dev/null +++ b/src/backends/shss/meson.build @@ -0,0 +1,3 @@ +ec_files += [files( +'shss.c', +)] diff --git a/src/backends/xor/meson.build b/src/backends/xor/meson.build new file mode 100644 index 0000000..e6d7507 --- /dev/null +++ b/src/backends/xor/meson.build @@ -0,0 +1,3 @@ +ec_files += [files( +'flat_xor_hd.c', +)] diff --git a/src/builtin/meson.build b/src/builtin/meson.build new file mode 100644 index 0000000..179fb12 --- /dev/null +++ b/src/builtin/meson.build @@ -0,0 +1,4 @@ +subdir('null_code') +subdir('rs_vand') +subdir('xor_codes') + diff --git a/src/builtin/null_code/meson.build b/src/builtin/null_code/meson.build new file mode 100644 index 0000000..36b282c --- /dev/null +++ b/src/builtin/null_code/meson.build @@ -0,0 +1,3 @@ +ec_files += [files( +'null_code.c', +)] diff --git a/src/builtin/rs_vand/meson.build b/src/builtin/rs_vand/meson.build new file mode 100644 index 0000000..e6a49a0 --- /dev/null +++ b/src/builtin/rs_vand/meson.build @@ -0,0 +1,4 @@ +ec_files += [files( +'liberasurecode_rs_vand.c', +'rs_galois.c', +)] diff --git a/src/builtin/xor_codes/meson.build b/src/builtin/xor_codes/meson.build new file mode 100644 index 0000000..ce0abc1 --- /dev/null +++ b/src/builtin/xor_codes/meson.build @@ -0,0 +1,4 @@ +ec_files += [files( +'xor_code.c', +'xor_hd_code.c', +)] \ No newline at end of file diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..9d1b157 --- /dev/null +++ b/src/meson.build @@ -0,0 +1,12 @@ +message('dump') +# message(ec_files) + +ec_files += [files('erasurecode.c', +'erasurecode_helpers.c', +'erasurecode_postprocessing.c', +'erasurecode_preprocessing.c', +)] + +subdir('backends') +subdir('builtin') +subdir('utils') diff --git a/src/utils/chksum/meson.build b/src/utils/chksum/meson.build new file mode 100644 index 0000000..55da498 --- /dev/null +++ b/src/utils/chksum/meson.build @@ -0,0 +1 @@ +ec_files += [files('alg_sig.c', 'crc32.c', 'md5.c')] \ No newline at end of file diff --git a/src/utils/meson.build b/src/utils/meson.build new file mode 100644 index 0000000..6731b14 --- /dev/null +++ b/src/utils/meson.build @@ -0,0 +1 @@ +subdir('chksum') \ No newline at end of file From 970dd860ababf76daedbf4d5ef46a0d83b2fbe6a Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 12:52:00 +0100 Subject: [PATCH 02/11] use meson by default --- .github/workflows/ccpp.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 677b212..90a0232 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -9,13 +9,13 @@ jobs: steps: - uses: actions/checkout@v1 - - name: autogen - run: ./autogen.sh - - name: configure - run: ./configure - - name: make - run: make - - name: make check - run: make check - - name: make test - run: make test + - name: install meson + run: | + sudo apt-get install python3-pip ninja-build + sudo python3 -m pip install meson + - name: compile & test + run: | + meson build + cd build + ninja + ninja test From b325b76bdb9a811a3f162c0f2b7f5c3f8a990980 Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 12:56:09 +0100 Subject: [PATCH 03/11] fixup --- .github/workflows/ccpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 90a0232..966f07e 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/checkout@v1 - name: install meson run: | - sudo apt-get install python3-pip ninja-build + sudo apt-get install -y python3-pip ninja-build python3-setuptools sudo python3 -m pip install meson - name: compile & test run: | From 9a604755b7255d428af5bab2376bbbdbfb706475 Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 12:57:57 +0100 Subject: [PATCH 04/11] fixup --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index cb8fbcb..f54fb1d 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('erasurecode', 'c', default_options : ['buildtype=debugoptimized', 'c_std=c17', 'optimization=2', 'werror=true']) +project('erasurecode', 'c', default_options : ['buildtype=debugoptimized', 'c_std=c11', 'optimization=2', 'werror=true']) ec_inc = include_directories('include/erasurecode', 'include/isa_l', 'include/rs_vand', 'include/xor_codes') # ec_files = [files('get_flags_from_cpuid.c')] From 78755244dc87409f0b67fb7e2c19fbafb776178f Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 13:35:35 +0100 Subject: [PATCH 05/11] fixup --- meson.build | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index f54fb1d..572d231 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('erasurecode', 'c', default_options : ['buildtype=debugoptimized', 'c_std=c11', 'optimization=2', 'werror=true']) -ec_inc = include_directories('include/erasurecode', 'include/isa_l', 'include/rs_vand', 'include/xor_codes') +ec_inc = [include_directories('include/erasurecode', 'include/isa_l', 'include/rs_vand', 'include/xor_codes')] # ec_files = [files('get_flags_from_cpuid.c')] ec_files = [] @@ -19,6 +19,60 @@ foreach f : flags endif endforeach +conf_data = configuration_data() +if c_compiler.has_function('calloc') +conf_data.set('HAVE_CALLOC', 1) +endif + +if c_compiler.has_header('ctype.h') + conf_data.set('HAVE_CTYPE_H', '1') +endif + +conf_data.set('HAVE_DLFCN_H', '1') +conf_data.set('HAVE_ERRNO_H', '1') +conf_data.set('HAVE_FREE', '1') +conf_data.set('HAVE_ICONV_H', '1') +conf_data.set('HAVE_INTTYPES_H', '1') +conf_data.set('HAVE_LIMITS_H', '1') +conf_data.set('HAVE_MALLOC', '1') +conf_data.set('HAVE_MEMORY_H', '1') +conf_data.set('HAVE_OPENLOG', '1') +conf_data.set('HAVE_PTHREAD_H', '1') +conf_data.set('HAVE_SIGNAL_H', '1') +conf_data.set('HAVE_STDARG_H', '1') +conf_data.set('HAVE_STDDEF_H', '1') +conf_data.set('HAVE_STDINT_H', '1') +conf_data.set('HAVE_STDIO_H', '1') +conf_data.set('HAVE_REALLOC', '1') +conf_data.set('HAVE_STRINGS_H', '1') +conf_data.set('HAVE_STRING_H', '1') +conf_data.set('HAVE_UNISTD_H', '1') +conf_data.set('HAVE_STDLIB_H', '1') +conf_data.set('HAVE_SYSLOG_H', '1') +conf_data.set('HAVE_SYS_STAT_H', '1') +conf_data.set('HAVE_SYS_TYPES_H', '1') +conf_data.set('STDC_HEADERS', '1') +conf_data.set('_ALL_SOURCE', '1') +conf_data.set('_POSIX_PTHREAD_SEMANTICS', '1') +conf_data.set('_TANDEM_SOURCE', '1') +conf_data.set('__EXTENSIONS__', '1') +conf_data.set_quoted('PACKAGE', 'liberasurecode') +conf_data.set_quoted('PACKAGE_BUGREPORT', 'tusharsg AT gmail DOT com, kmgreen2 AT gmail DOT com') +conf_data.set_quoted('PACKAGE_NAME', 'liberasurecode') +conf_data.set_quoted('PACKAGE_STRING', 'liberasurecode -') +conf_data.set_quoted('PACKAGE_TARNAME', 'liberasurecode') +conf_data.set_quoted('PACKAGE_URL', 'https://github.com/openstack/liberasurecode') +conf_data.set('SIZEOF_LONG', '8') +conf_data.set('_GNU_SOURCE', '1') +conf_data.set_quoted('VERSION', '-') +conf_data.set_quoted('PACKAGE_VERSION', '-') + +inc = configure_file(input : 'include/config_liberasurecode.h.in', + output : 'config_liberasurecode.h', + configuration : conf_data) + +ec_inc += [include_directories('.')] + subdir('src') zlib_dep = c_compiler.find_library('z') @@ -30,7 +84,7 @@ ec_deps = [zlib_dep, m_dep, dl_dep] c_args = ['-D_GNU_SOURCE=1', '-pedantic'] c_args += optim_flags -ec_lib = library('erasurecode', ec_files, include_directories: ec_inc, dependencies: ec_deps, c_args: c_args) +ec_lib = library('erasurecode', ec_files + [inc], include_directories: ec_inc, dependencies: ec_deps, c_args: c_args) ec_dep = declare_dependency(link_with : ec_lib, dependencies: ec_deps, include_directories : ec_inc) From 553cb4e4437c44df990fefe830d766d14050a700 Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 13:42:33 +0100 Subject: [PATCH 06/11] fixup --- include/config_liberasurecode.h.in | 144 +++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 include/config_liberasurecode.h.in diff --git a/include/config_liberasurecode.h.in b/include/config_liberasurecode.h.in new file mode 100644 index 0000000..a2d9c5b --- /dev/null +++ b/include/config_liberasurecode.h.in @@ -0,0 +1,144 @@ +/* include/config_liberasurecode.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `calloc' function. */ +#mesondefine HAVE_CALLOC + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_CTYPE_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_ERRNO_H + +/* Define to 1 if you have the `free' function. */ +#mesondefine HAVE_FREE + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_ICONV_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_LIMITS_H + +/* Define to 1 if you have the `malloc' function. */ +#mesondefine HAVE_MALLOC + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_MALLOC_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_MEMORY_H + +/* Define to 1 if you have the `openlog' function. */ +#mesondefine HAVE_OPENLOG + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_PTHREAD_H + +/* Define to 1 if you have the `realloc' function. */ +#mesondefine HAVE_REALLOC + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_SIGNAL_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_STDARG_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_STDDEF_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_STDIO_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#mesondefine HAVE_UNISTD_H + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#mesondefine LT_OBJDIR + +/* Name of package */ +#mesondefine PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#mesondefine PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#mesondefine PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#mesondefine PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#mesondefine PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#mesondefine PACKAGE_URL + +/* Define to the version of this package. */ +#mesondefine PACKAGE_VERSION + +/* The size of `long', as computed by sizeof. */ +#mesondefine SIZEOF_LONG + +/* Define to 1 if you have the ANSI C header files. */ +#mesondefine STDC_HEADERS + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +#mesondefine _ALL_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +#mesondefine _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +#mesondefine _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +#mesondefine _TANDEM_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +#mesondefine __EXTENSIONS__ +#endif + + +/* Version number of package */ +#mesondefine VERSION + +/* Define to 1 if on MINIX. */ +#mesondefine _MINIX + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#mesondefine _POSIX_1_SOURCE + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#mesondefine _POSIX_SOURCE From bf0ce11c9b089e28d281575839b31ebf890af761 Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 13:44:38 +0100 Subject: [PATCH 07/11] fixup --- meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 572d231..1cdffd6 100644 --- a/meson.build +++ b/meson.build @@ -78,8 +78,8 @@ subdir('src') zlib_dep = c_compiler.find_library('z') m_dep = c_compiler.find_library('m') dl_dep = c_compiler.find_library('dl') - -ec_deps = [zlib_dep, m_dep, dl_dep] +threads_dep = dependency('threads') +ec_deps = [zlib_dep, m_dep, dl_dep, threads_dep] c_args = ['-D_GNU_SOURCE=1', '-pedantic'] c_args += optim_flags From c0a38c6efd8916d7d6235574cc30fca513c087be Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 14:21:57 +0100 Subject: [PATCH 08/11] WIP --- meson.build | 2 +- src/builtin/null_code/meson.build | 4 ++-- src/builtin/rs_vand/meson.build | 6 ++---- src/builtin/xor_codes/meson.build | 7 ++++++- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/meson.build b/meson.build index 1cdffd6..fc7e65d 100644 --- a/meson.build +++ b/meson.build @@ -84,7 +84,7 @@ ec_deps = [zlib_dep, m_dep, dl_dep, threads_dep] c_args = ['-D_GNU_SOURCE=1', '-pedantic'] c_args += optim_flags -ec_lib = library('erasurecode', ec_files + [inc], include_directories: ec_inc, dependencies: ec_deps, c_args: c_args) +ec_lib = library('erasurecode', ec_files + [inc], include_directories: ec_inc, dependencies: ec_deps, c_args: c_args, install: true) ec_dep = declare_dependency(link_with : ec_lib, dependencies: ec_deps, include_directories : ec_inc) diff --git a/src/builtin/null_code/meson.build b/src/builtin/null_code/meson.build index 36b282c..4a06c61 100644 --- a/src/builtin/null_code/meson.build +++ b/src/builtin/null_code/meson.build @@ -1,3 +1,3 @@ -ec_files += [files( +library('nullcode', [files( 'null_code.c', -)] +)], install: true) diff --git a/src/builtin/rs_vand/meson.build b/src/builtin/rs_vand/meson.build index e6a49a0..ad742f9 100644 --- a/src/builtin/rs_vand/meson.build +++ b/src/builtin/rs_vand/meson.build @@ -1,4 +1,2 @@ -ec_files += [files( -'liberasurecode_rs_vand.c', -'rs_galois.c', -)] +library('erasurecode_rs_vand', files('liberasurecode_rs_vand.c', 'rs_galois.c'), include_directories: ec_inc) +# library('erasurecode_rs_galois', files('rs_galois.c'), include_directories: ec_inc) \ No newline at end of file diff --git a/src/builtin/xor_codes/meson.build b/src/builtin/xor_codes/meson.build index ce0abc1..8baf265 100644 --- a/src/builtin/xor_codes/meson.build +++ b/src/builtin/xor_codes/meson.build @@ -1,4 +1,9 @@ ec_files += [files( 'xor_code.c', 'xor_hd_code.c', -)] \ No newline at end of file +)] + +library('Xorcode', files( +'xor_code.c', +'xor_hd_code.c', +), include_directories: ec_inc) \ No newline at end of file From 4c3e403e3871abe72310904816046814f5d7cccf Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 14:28:56 +0100 Subject: [PATCH 09/11] WIP --- meson.build | 6 +++--- src/builtin/xor_codes/meson.build | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index fc7e65d..72a42ad 100644 --- a/meson.build +++ b/meson.build @@ -73,6 +73,9 @@ inc = configure_file(input : 'include/config_liberasurecode.h.in', ec_inc += [include_directories('.')] +c_args = ['-D_GNU_SOURCE=1', '-pedantic'] +c_args += optim_flags + subdir('src') zlib_dep = c_compiler.find_library('z') @@ -81,9 +84,6 @@ dl_dep = c_compiler.find_library('dl') threads_dep = dependency('threads') ec_deps = [zlib_dep, m_dep, dl_dep, threads_dep] -c_args = ['-D_GNU_SOURCE=1', '-pedantic'] -c_args += optim_flags - ec_lib = library('erasurecode', ec_files + [inc], include_directories: ec_inc, dependencies: ec_deps, c_args: c_args, install: true) ec_dep = declare_dependency(link_with : ec_lib, dependencies: ec_deps, diff --git a/src/builtin/xor_codes/meson.build b/src/builtin/xor_codes/meson.build index 8baf265..3f653e3 100644 --- a/src/builtin/xor_codes/meson.build +++ b/src/builtin/xor_codes/meson.build @@ -6,4 +6,4 @@ ec_files += [files( library('Xorcode', files( 'xor_code.c', 'xor_hd_code.c', -), include_directories: ec_inc) \ No newline at end of file +), include_directories: ec_inc, c_args: c_args) \ No newline at end of file From 2786c5bab8c1e6d6e76dedc2eecda9e8c29fe7be Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 14:36:40 +0100 Subject: [PATCH 10/11] WIP --- meson.build | 2 +- src/builtin/null_code/meson.build | 2 +- src/builtin/rs_vand/meson.build | 2 +- src/builtin/xor_codes/meson.build | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index 72a42ad..36475b4 100644 --- a/meson.build +++ b/meson.build @@ -84,7 +84,7 @@ dl_dep = c_compiler.find_library('dl') threads_dep = dependency('threads') ec_deps = [zlib_dep, m_dep, dl_dep, threads_dep] -ec_lib = library('erasurecode', ec_files + [inc], include_directories: ec_inc, dependencies: ec_deps, c_args: c_args, install: true) +ec_lib = library('erasurecode', ec_files + [inc], include_directories: ec_inc, dependencies: ec_deps, c_args: c_args, install: true, soversion: 1) ec_dep = declare_dependency(link_with : ec_lib, dependencies: ec_deps, include_directories : ec_inc) diff --git a/src/builtin/null_code/meson.build b/src/builtin/null_code/meson.build index 4a06c61..1fe11f1 100644 --- a/src/builtin/null_code/meson.build +++ b/src/builtin/null_code/meson.build @@ -1,3 +1,3 @@ library('nullcode', [files( 'null_code.c', -)], install: true) +)], soversion: 1, install: true, c_args: c_args) diff --git a/src/builtin/rs_vand/meson.build b/src/builtin/rs_vand/meson.build index ad742f9..0854f48 100644 --- a/src/builtin/rs_vand/meson.build +++ b/src/builtin/rs_vand/meson.build @@ -1,2 +1,2 @@ -library('erasurecode_rs_vand', files('liberasurecode_rs_vand.c', 'rs_galois.c'), include_directories: ec_inc) +library('erasurecode_rs_vand', files('liberasurecode_rs_vand.c', 'rs_galois.c'), include_directories: ec_inc, c_args: c_args, soversion: 1, install: true) # library('erasurecode_rs_galois', files('rs_galois.c'), include_directories: ec_inc) \ No newline at end of file diff --git a/src/builtin/xor_codes/meson.build b/src/builtin/xor_codes/meson.build index 3f653e3..d5b0842 100644 --- a/src/builtin/xor_codes/meson.build +++ b/src/builtin/xor_codes/meson.build @@ -6,4 +6,4 @@ ec_files += [files( library('Xorcode', files( 'xor_code.c', 'xor_hd_code.c', -), include_directories: ec_inc, c_args: c_args) \ No newline at end of file +), include_directories: ec_inc, c_args: c_args, soversion: 1, install: true) \ No newline at end of file From 4f4e22999c526d783c2c5531d589fb9418052e49 Mon Sep 17 00:00:00 2001 From: Benoit A Date: Thu, 28 Nov 2019 14:38:32 +0100 Subject: [PATCH 11/11] WIP --- .github/workflows/ccpp.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 966f07e..8ad16f2 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -18,4 +18,6 @@ jobs: meson build cd build ninja + sudo ninja install + sudo ldconfig ninja test