fix: noconfirm auto-selects first AUR match
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
#!python3
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
def main():
|
||||
if len(sys.argv) != 2:
|
||||
print(sys.argv)
|
||||
return 1
|
||||
if sys.argv[1] != 'gen.c':
|
||||
print(sys.argv)
|
||||
return 2
|
||||
Path('foo').touch()
|
||||
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
# Copyright © 2017 Intel Corporation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import argparse
|
||||
import textwrap
|
||||
|
||||
HEADER = textwrap.dedent('''\
|
||||
void stringify(int foo, char * buffer);
|
||||
''')
|
||||
|
||||
CODE = textwrap.dedent('''\
|
||||
#include <stdio.h>
|
||||
|
||||
#ifndef WORKS
|
||||
# error "This shouldn't have been included"
|
||||
#endif
|
||||
|
||||
void stringify(int foo, char * buffer) {
|
||||
sprintf(buffer, "%i", foo);
|
||||
}
|
||||
''')
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--header')
|
||||
parser.add_argument('--code')
|
||||
args = parser.parse_args()
|
||||
|
||||
with open(args.header, 'w') as f:
|
||||
f.write(HEADER)
|
||||
|
||||
with open(args.code, 'w') as f:
|
||||
f.write(CODE)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -0,0 +1,20 @@
|
||||
/* Copyright © 2017 Intel Corporation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "gen.h"
|
||||
|
||||
void func(char * buffer) {
|
||||
stringify(1, buffer);
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
# Copyright © 2017 Intel Corporation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
project('custom_target_index', 'c', default_options : 'c_std=c89')
|
||||
|
||||
py_mod = import('python3')
|
||||
prog_python = py_mod.find_python()
|
||||
|
||||
gen = custom_target(
|
||||
'gen.[ch]',
|
||||
input : 'gen_sources.py',
|
||||
output : ['gen.c', 'gen.h'],
|
||||
command : [prog_python, '@INPUT@', '--header', '@OUTPUT1@', '--code', '@OUTPUT0@'],
|
||||
)
|
||||
|
||||
has_not_changed = false
|
||||
if is_disabler(gen)
|
||||
has_not_changed = true
|
||||
else
|
||||
has_not_changed = true
|
||||
endif
|
||||
|
||||
assert(has_not_changed, 'Custom target has changed.')
|
||||
|
||||
assert(not is_disabler(gen), 'Custom target is a disabler.')
|
||||
|
||||
lib = static_library(
|
||||
'libfoo',
|
||||
['lib.c', gen[1]],
|
||||
)
|
||||
|
||||
has_not_changed = false
|
||||
if is_disabler(lib)
|
||||
has_not_changed = true
|
||||
else
|
||||
has_not_changed = true
|
||||
endif
|
||||
|
||||
assert(has_not_changed, 'Static library has changed.')
|
||||
|
||||
assert(not is_disabler(lib), 'Static library is a disabler.')
|
||||
|
||||
custom_target(
|
||||
'foo',
|
||||
input: gen[0],
|
||||
output: 'foo',
|
||||
command: [find_program('check_args.py'), '@INPUT@'],
|
||||
)
|
||||
|
||||
subdir('subdir')
|
||||
|
||||
gen = disabler()
|
||||
|
||||
assert(is_disabler(gen), 'Generator is not a disabler.')
|
||||
|
||||
lib = static_library(
|
||||
'libfoo',
|
||||
['lib.c', gen[1]],
|
||||
)
|
||||
|
||||
assert(is_disabler(lib), 'Static library is not a disabler.')
|
||||
|
||||
if lib.found()
|
||||
lib_disabled = false
|
||||
else
|
||||
lib_disabled = true
|
||||
endif
|
||||
|
||||
assert(lib_disabled, 'Static library was not disabled.')
|
||||
@@ -0,0 +1,22 @@
|
||||
/* Copyright © 2017 Intel Corporation
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "gen.h"
|
||||
|
||||
int main(void) {
|
||||
char buf[50];
|
||||
stringify(10, buf);
|
||||
return 0;
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
# Copyright © 2017 Intel Corporation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
foo = executable(
|
||||
'foo',
|
||||
['foo.c', gen[0], gen[1]],
|
||||
c_args : '-DWORKS',
|
||||
)
|
||||
Reference in New Issue
Block a user