fix: noconfirm auto-selects first AUR match
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#if defined BUILDING_EMBEDDED
|
||||
#define DLL_PUBLIC
|
||||
#elif defined _WIN32 || defined __CYGWIN__
|
||||
#if defined BUILDING_DLL
|
||||
#define DLL_PUBLIC __declspec(dllexport)
|
||||
#else
|
||||
#define DLL_PUBLIC __declspec(dllimport)
|
||||
#endif
|
||||
#else
|
||||
#if defined __GNUC__
|
||||
#define DLL_PUBLIC __attribute__ ((visibility("default")))
|
||||
#else
|
||||
#pragma message ("Compiler does not support symbol visibility.")
|
||||
#define DLL_PUBLIC
|
||||
#endif
|
||||
#endif
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import sys
|
||||
|
||||
|
||||
def main():
|
||||
name = os.path.splitext(os.path.basename(sys.argv[1]))[0]
|
||||
out = sys.argv[2]
|
||||
hname = os.path.join(out, name + '.h')
|
||||
cname = os.path.join(out, name + '.c')
|
||||
print(os.getcwd(), hname)
|
||||
with open(hname, 'w') as hfile:
|
||||
hfile.write('''
|
||||
#pragma once
|
||||
#include "export.h"
|
||||
int DLL_PUBLIC {name}(void);
|
||||
'''.format(name=name))
|
||||
with open(cname, 'w') as cfile:
|
||||
cfile.write('''
|
||||
#include "{name}.h"
|
||||
int {name}(void) {{
|
||||
return {size};
|
||||
}}
|
||||
'''.format(name=name, size=len(name)))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -0,0 +1,11 @@
|
||||
#include "meson_test_function.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void) {
|
||||
if (meson_test_function() != 19) {
|
||||
printf("Bad meson_test_function()\n");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
project('generator link_whole', 'c')
|
||||
|
||||
if meson.backend() == 'xcode'
|
||||
error('MESON_SKIP_TEST: whole-archive not supported in Xcode. Patches welcome.')
|
||||
endif
|
||||
|
||||
# This just generates foo.h and foo.c with int foo() defined.
|
||||
gen_py = find_program('generator.py')
|
||||
gen = generator(gen_py,
|
||||
output: ['@BASENAME@.h', '@BASENAME@.c'],
|
||||
arguments : ['@INPUT@', '@BUILD_DIR@'])
|
||||
|
||||
# Test 1: link directly into executable
|
||||
srcs = gen.process('meson_test_function.tmpl')
|
||||
exe = executable('exe1', [srcs, 'main.c'], c_args : '-DBUILDING_EMBEDDED')
|
||||
test('test1', exe)
|
||||
|
||||
# Test 2: link into shared library and access from executable
|
||||
srcs = gen.process('meson_test_function.tmpl')
|
||||
shlib2 = shared_library('shlib2', [srcs], c_args : '-DBUILDING_DLL')
|
||||
exe = executable('exe2', 'main.c',
|
||||
link_with : shlib2,
|
||||
include_directories : shlib2.private_dir_include(),
|
||||
)
|
||||
test('test2', exe)
|
||||
|
||||
# Test 3: link into static library and access from executable
|
||||
srcs = gen.process('meson_test_function.tmpl')
|
||||
stlib3 = static_library('stlib3', [srcs], c_args : '-DBUILDING_EMBEDDED')
|
||||
exe = executable('exe3', 'main.c',
|
||||
c_args : '-DBUILDING_EMBEDDED',
|
||||
link_with : stlib3,
|
||||
include_directories : stlib3.private_dir_include(),
|
||||
)
|
||||
test('test3', exe)
|
||||
|
||||
# Test 4: link into static library, link into shared
|
||||
# and access from executable. To make sure static_library
|
||||
# is not dropped use pull_meson_test_function helper.
|
||||
srcs = gen.process('meson_test_function.tmpl')
|
||||
stlib4 = static_library('stlib4', [srcs], c_args : '-DBUILDING_DLL')
|
||||
shlib4 = shared_library('shlib4', 'pull_meson_test_function.c',
|
||||
c_args : '-DBUILDING_DLL',
|
||||
link_with : stlib4,
|
||||
include_directories : stlib4.private_dir_include(),
|
||||
)
|
||||
exe = executable('exe4', 'main.c',
|
||||
link_with : shlib4,
|
||||
include_directories : stlib4.private_dir_include(),
|
||||
)
|
||||
test('test4', exe)
|
||||
|
||||
# Test 5: link into static library, link_whole into shared
|
||||
# and access from executable
|
||||
srcs = gen.process('meson_test_function.tmpl')
|
||||
stlib5 = static_library('stlib5', [srcs], c_args : '-DBUILDING_DLL')
|
||||
shlib5 = shared_library('shlib5', link_whole : stlib5)
|
||||
exe = executable('exe5', 'main.c',
|
||||
link_with : shlib5,
|
||||
include_directories : stlib5.private_dir_include(),
|
||||
)
|
||||
test('test5', exe)
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
#include "export.h"
|
||||
#include "meson_test_function.h"
|
||||
|
||||
int DLL_PUBLIC function_puller(void) {
|
||||
return meson_test_function();
|
||||
}
|
||||
Reference in New Issue
Block a user