mcfgthread: add 1.8.4 version (#5187)
* mcfgthread: add 1.8.4 version * reduce patch size * fix download versionpull/5189/head
parent
24e3e06a4a
commit
786a467e55
3 changed files with 71 additions and 122 deletions
@ -0,0 +1,64 @@ |
|||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index 5cf334b..ad9f5cd 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -291,6 +291,8 @@ install_headers(meson.current_build_dir() / 'version.h', subdir: 'mcfgthread')
|
||||||
|
#===========================================================
|
||||||
|
# Rules for 'lib/libmcfgthread'
|
||||||
|
#===========================================================
|
||||||
|
+if get_option('default_library') == 'shared'
|
||||||
|
+
|
||||||
|
mcfgthread_version_o = import('windows').compile_resources(
|
||||||
|
'mcfgthread/version.rc',
|
||||||
|
args: [ '-I.', '-c65001' ],
|
||||||
|
@@ -320,22 +322,25 @@ lib_mcfgthread_dll = shared_library('mcfgthread',
|
||||||
|
version: '.'.join([ ver.get('abi_major'), ver.get('abi_minor'), '0' ]),
|
||||||
|
install: true)
|
||||||
|
|
||||||
|
-lib_mcfgthread_a = static_library('mcfgthread',
|
||||||
|
- c_pch: 'mcfgthread/xprecompiled.h',
|
||||||
|
- c_args: [ '-ffreestanding', '-fasynchronous-unwind-tables' ],
|
||||||
|
- sources: [ mcfgthread_src_min, mcfgthread_src_ex, ],
|
||||||
|
- dependencies: [ dep_kernel32, dep_ntdll ],
|
||||||
|
- install: true)
|
||||||
|
-
|
||||||
|
import('pkgconfig').generate(lib_mcfgthread_dll,
|
||||||
|
name: 'mcfgthread',
|
||||||
|
url: 'https://github.com/lhmouse/mcfgthread',
|
||||||
|
description: 'Cornerstone library for C++11 threading on mingw-w64',
|
||||||
|
libraries: '-lntdll')
|
||||||
|
|
||||||
|
+elif get_option('default_library') == 'static'
|
||||||
|
+
|
||||||
|
+lib_mcfgthread_a = static_library('mcfgthread',
|
||||||
|
+ c_pch: 'mcfgthread/xprecompiled.h',
|
||||||
|
+ c_args: [ '-ffreestanding', '-fasynchronous-unwind-tables' ],
|
||||||
|
+ sources: [ mcfgthread_src_min, mcfgthread_src_ex, ],
|
||||||
|
+ dependencies: [ dep_kernel32, dep_ntdll ],
|
||||||
|
+ install: true)
|
||||||
|
+endif
|
||||||
|
#===========================================================
|
||||||
|
# Rules for tests
|
||||||
|
#===========================================================
|
||||||
|
+if get_option('build-test')
|
||||||
|
foreach src: test_src
|
||||||
|
test_c_args = []
|
||||||
|
test_cpp_args = []
|
||||||
|
@@ -377,3 +382,4 @@ foreach src: test_src
|
||||||
|
|
||||||
|
test('..' / src, test_exe)
|
||||||
|
endforeach
|
||||||
|
+endif
|
||||||
|
\ No newline at end of file
|
||||||
|
diff --git a/meson.options b/meson.options
|
||||||
|
index d0342f8..b45d572 100644
|
||||||
|
--- a/meson.options
|
||||||
|
+++ b/meson.options
|
||||||
|
@@ -15,3 +15,7 @@
|
||||||
|
option('enable-debug-checks',
|
||||||
|
type: 'boolean', value: false,
|
||||||
|
description: 'enable run-time assertions')
|
||||||
|
+
|
||||||
|
+option('build-test',
|
||||||
|
+ type: 'boolean', value: false,
|
||||||
|
+ description: 'Build unit test')
|
@ -1,118 +0,0 @@ |
|||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index 024f1fb..b2fccd7 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -277,18 +277,25 @@ mcfgthread_version_o = import('windows').compile_resources(
|
|
||||||
args: [ '-I.', '-c65001' ],
|
|
||||||
depend_files: [ 'mcfgthread/version.h.in', 'mcfgthread/version.manifest' ])
|
|
||||||
|
|
||||||
-lib_mcfgthread_dll = shared_library('mcfgthread',
|
|
||||||
- c_pch: 'mcfgthread/xprecompiled.h',
|
|
||||||
- c_args: [ '-ffreestanding', '-fasynchronous-unwind-tables', '-DDLL_EXPORT' ],
|
|
||||||
- link_args: [ '-nostdlib', '-Wl,--entry,__MCF_dll_startup@@Z',
|
|
||||||
- '-Wl,--enable-auto-image-base', '-Wl,--subsystem,windows:6.1',
|
|
||||||
- '-Wl,--exclude-all-symbols', '-Wl,--kill-at' ],
|
|
||||||
- sources: [ mcfgthread_src, mcfgthread_version_o ],
|
|
||||||
- dependencies: [ dep_kernel32, dep_ntdll ],
|
|
||||||
- soversion: ver.get('abi_major'),
|
|
||||||
- version: '.'.join([ ver.get('abi_major'), ver.get('abi_minor'), '0' ]),
|
|
||||||
- install: true)
|
|
||||||
+if get_option('default_library') == 'shared'
|
|
||||||
+ lib_mcfgthread_dll = shared_library('mcfgthread',
|
|
||||||
+ c_pch: 'mcfgthread/xprecompiled.h',
|
|
||||||
+ c_args: [ '-ffreestanding', '-fasynchronous-unwind-tables', '-DDLL_EXPORT' ],
|
|
||||||
+ link_args: [ '-nostdlib', '-Wl,--entry,__MCF_dll_startup@@Z',
|
|
||||||
+ '-Wl,--enable-auto-image-base', '-Wl,--subsystem,windows:6.1',
|
|
||||||
+ '-Wl,--exclude-all-symbols', '-Wl,--kill-at' ],
|
|
||||||
+ sources: [ mcfgthread_src, mcfgthread_version_o ],
|
|
||||||
+ dependencies: [ dep_kernel32, dep_ntdll ],
|
|
||||||
+ soversion: ver.get('abi_major'),
|
|
||||||
+ version: '.'.join([ ver.get('abi_major'), ver.get('abi_minor'), '0' ]),
|
|
||||||
+ install: true)
|
|
||||||
|
|
||||||
+ import('pkgconfig').generate(lib_mcfgthread_dll,
|
|
||||||
+ name: 'mcfgthread',
|
|
||||||
+ url: 'https://github.com/lhmouse/mcfgthread',
|
|
||||||
+ description: 'Cornerstone library for C++11 threading on mingw-w64',
|
|
||||||
+ libraries: '-lntdll')
|
|
||||||
+elif get_option('default_library') == 'static'
|
|
||||||
lib_mcfgthread_a = static_library('mcfgthread',
|
|
||||||
c_pch: 'mcfgthread/xprecompiled.h',
|
|
||||||
c_args: [ '-ffreestanding', '-fasynchronous-unwind-tables' ],
|
|
||||||
@@ -296,35 +303,38 @@ lib_mcfgthread_a = static_library('mcfgthread',
|
|
||||||
sources: [ mcfgthread_src ],
|
|
||||||
install: true)
|
|
||||||
|
|
||||||
-import('pkgconfig').generate(lib_mcfgthread_dll,
|
|
||||||
- name: 'mcfgthread',
|
|
||||||
- url: 'https://github.com/lhmouse/mcfgthread',
|
|
||||||
- description: 'Cornerstone library for C++11 threading on mingw-w64',
|
|
||||||
- libraries: '-lntdll')
|
|
||||||
+ import('pkgconfig').generate(lib_mcfgthread_a,
|
|
||||||
+ name: 'mcfgthread',
|
|
||||||
+ url: 'https://github.com/lhmouse/mcfgthread',
|
|
||||||
+ description: 'Cornerstone library for C++11 threading on mingw-w64',
|
|
||||||
+ libraries: '-lntdll')
|
|
||||||
+endif
|
|
||||||
|
|
||||||
#===========================================================
|
|
||||||
# Rules for tests
|
|
||||||
#===========================================================
|
|
||||||
-foreach src: test_src
|
|
||||||
- test(src, executable(src.replace('.c', '').underscorify(), src,
|
|
||||||
- link_with: lib_mcfgthread_a))
|
|
||||||
-endforeach
|
|
||||||
+if get_option('build-test')
|
|
||||||
+ foreach src: test_src
|
|
||||||
+ test(src, executable(src.replace('.c', '').underscorify(), src,
|
|
||||||
+ link_with: lib_mcfgthread_a))
|
|
||||||
+ endforeach
|
|
||||||
|
|
||||||
-# Specialized: -ladvapi32 -lntdll
|
|
||||||
-test('test/memory.c', executable('test_memory_c',
|
|
||||||
- 'test/memory.c',
|
|
||||||
- dependencies: [ dep_advapi32, dep_ntdll ],
|
|
||||||
- link_with: lib_mcfgthread_a))
|
|
||||||
+ # Specialized: -ladvapi32 -lntdll
|
|
||||||
+ test('test/memory.c', executable('test_memory_c',
|
|
||||||
+ 'test/memory.c',
|
|
||||||
+ dependencies: [ dep_advapi32, dep_ntdll ],
|
|
||||||
+ link_with: lib_mcfgthread_a))
|
|
||||||
|
|
||||||
-# Specialized: -std=c89 -Wpedantic
|
|
||||||
-test('test/gthr_c89_pedantic.c', executable('test_gthr_c89_pedantic_c',
|
|
||||||
- 'test/gthr_c89_pedantic.c',
|
|
||||||
- c_args: [ '-std=c89', '-Werror=declaration-after-statement',
|
|
||||||
- '-Wpedantic', '-Wno-variadic-macros', '-Wno-long-long' ],
|
|
||||||
- link_with: lib_mcfgthread_a))
|
|
||||||
+ # Specialized: -std=c89 -Wpedantic
|
|
||||||
+ test('test/gthr_c89_pedantic.c', executable('test_gthr_c89_pedantic_c',
|
|
||||||
+ 'test/gthr_c89_pedantic.c',
|
|
||||||
+ c_args: [ '-std=c89', '-Werror=declaration-after-statement',
|
|
||||||
+ '-Wpedantic', '-Wno-variadic-macros', '-Wno-long-long' ],
|
|
||||||
+ link_with: lib_mcfgthread_a))
|
|
||||||
|
|
||||||
-# Specialized: -std=c99 -Wpedantic
|
|
||||||
-test('test/c11_c99_pedantic.c', executable('test_c11_c99_pedantic_c',
|
|
||||||
- 'test/c11_c99_pedantic.c',
|
|
||||||
- c_args: [ '-std=c99', '-Wpedantic' ],
|
|
||||||
- link_with: lib_mcfgthread_a))
|
|
||||||
+ # Specialized: -std=c99 -Wpedantic
|
|
||||||
+ test('test/c11_c99_pedantic.c', executable('test_c11_c99_pedantic_c',
|
|
||||||
+ 'test/c11_c99_pedantic.c',
|
|
||||||
+ c_args: [ '-std=c99', '-Wpedantic' ],
|
|
||||||
+ link_with: lib_mcfgthread_a))
|
|
||||||
+endif
|
|
||||||
\ No newline at end of file
|
|
||||||
diff --git a/meson.options b/meson.options
|
|
||||||
index d0342f8..b45d572 100644
|
|
||||||
--- a/meson.options
|
|
||||||
+++ b/meson.options
|
|
||||||
@@ -15,3 +15,7 @@
|
|
||||||
option('enable-debug-checks',
|
|
||||||
type: 'boolean', value: false,
|
|
||||||
description: 'enable run-time assertions')
|
|
||||||
+
|
|
||||||
+option('build-test',
|
|
||||||
+ type: 'boolean', value: false,
|
|
||||||
+ description: 'Build unit test')
|
|
Loading…
Reference in new issue