fix: noconfirm auto-selects first AUR match
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
; hello.asm a first program for nasm for Linux, Intel, gcc
|
||||
;
|
||||
; assemble: nasm -f elf -l hello.lst hello.asm
|
||||
; link: gcc -o hello hello.o
|
||||
; run: hello
|
||||
; output is: Hello World
|
||||
|
||||
%include "config.asm"
|
||||
|
||||
SECTION .data ; data section
|
||||
msg: db "Hello World",10 ; the string to print, 10=cr
|
||||
len: equ $-msg ; "$" means "here"
|
||||
; len is a value, not an address
|
||||
|
||||
SECTION .text ; code section
|
||||
global main ; make label available to linker
|
||||
main: ; standard gcc entry point
|
||||
|
||||
mov edx,len ; arg3, length of string to print
|
||||
mov ecx,msg ; arg2, pointer to string
|
||||
mov ebx,1 ; arg1, where to write, screen
|
||||
mov eax,4 ; write sysout command to int 80 hex
|
||||
int 0x80 ; interrupt 80 hex, call kernel
|
||||
|
||||
mov ebx,HELLO ; exit code, 0=normal
|
||||
mov eax,1 ; exit command to kernel
|
||||
int 0x80 ; interrupt 80 hex, call kernel
|
||||
@@ -0,0 +1,55 @@
|
||||
project('nasm config file', 'c')
|
||||
|
||||
if host_machine.cpu_family() == 'x86' and host_machine.system() == 'windows'
|
||||
asm_format = 'win32'
|
||||
elif host_machine.cpu_family() == 'x86_64' and host_machine.system() == 'windows'
|
||||
asm_format = 'win64'
|
||||
elif host_machine.cpu_family() == 'x86' and host_machine.system() == 'linux'
|
||||
asm_format = 'elf32'
|
||||
elif host_machine.cpu_family() == 'x86_64' and host_machine.system() == 'linux'
|
||||
asm_format = 'elf64'
|
||||
else
|
||||
error('MESON_SKIP_TEST: skipping test on this platform')
|
||||
endif
|
||||
|
||||
nasm = find_program('nasm', required: false)
|
||||
|
||||
if not nasm.found()
|
||||
error('MESON_SKIP_TEST: nasm not available')
|
||||
endif
|
||||
|
||||
conf = configuration_data()
|
||||
|
||||
conf.set('HELLO', 0)
|
||||
|
||||
asm_gen = generator(nasm,
|
||||
output : '@BASENAME@.o',
|
||||
arguments : [
|
||||
'-f', asm_format,
|
||||
'-i', meson.current_source_dir() + '/',
|
||||
'-i', join_paths(meson.current_source_dir(), ''),
|
||||
'-P', join_paths(meson.current_build_dir(), 'config.asm'),
|
||||
'@INPUT@',
|
||||
'-o', '@OUTPUT@'])
|
||||
|
||||
|
||||
config_file = configure_file(
|
||||
output: 'config.asm',
|
||||
configuration: conf,
|
||||
output_format: 'nasm',
|
||||
)
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
link_args = cc.get_supported_link_arguments(['-no-pie'])
|
||||
|
||||
exe = executable('hello', asm_gen.process('hello.asm'),
|
||||
link_args: link_args,
|
||||
)
|
||||
|
||||
test('test-nasm-configure-file', exe)
|
||||
|
||||
exe2 = executable('hello2', objects : exe.extract_all_objects(),
|
||||
link_args: link_args,
|
||||
)
|
||||
|
||||
test('test-nasm-extract-all-objects', exe2)
|
||||
Reference in New Issue
Block a user